BIN
assets/images/forest/ethereum.png
Normal file
After Width: | Height: | Size: 343 KiB |
BIN
assets/images/fruitSorbet/ethereum.png
Normal file
After Width: | Height: | Size: 343 KiB |
174
assets/images/fruitSorbet/ethereum.svg
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<svg width="2000" height="2000" viewBox="0 0 2000 2000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_1048_45)">
|
||||||
|
<path d="M85.1779 1368.47C57.1779 1608.47 537.178 1652.47 589.178 1660.47H1441.18C1533.18 1660.47 1761.18 1560.47 1845.18 1432.47C1929.18 1304.47 1809.18 1092.47 1761.18 984.475C1713.18 876.474 1934.56 800.211 1873.18 512.475C1809.18 212.475 1529.18 152.475 1301.18 212.475C1150.27 252.189 1249.18 120.475 905.18 84.4745C561.18 48.4745 493.18 416.475 337.18 460.475C181.18 504.475 85.1779 760.475 177.18 984.475C269.182 1208.47 113.178 1128.47 85.1779 1368.47Z" fill="#BECDF9"/>
|
||||||
|
<ellipse cx="1022" cy="1680.5" rx="687" ry="52.5" fill="#2E3E79"/>
|
||||||
|
<path d="M1049.83 863.456L1049.81 863.385L1049.78 863.314C1046.97 854.72 1044.73 846.664 1043.01 839.098L1038.13 840.205C1033.69 820.63 1032.61 804.099 1034.03 789.869L1039 790.364C1040.83 771.98 1047 757.717 1055.45 745.676L1051.36 742.802C1061.27 728.691 1074.15 717.536 1086.98 706.788L1090.19 710.621C1091.14 709.824 1092.09 709.028 1093.05 708.229C1105.36 697.941 1117.97 687.408 1127.5 674.629L1123.5 671.64C1132.94 658.972 1139.2 644.055 1139.24 624.337L1144.24 624.348C1144.28 609.808 1141.1 593.053 1133.86 573.267L1129.17 574.986C1124.15 561.291 1117.11 545.984 1107.66 528.758L1112.04 526.354C1108.16 519.271 1103.87 511.877 1099.17 504.15C1094.83 497.012 1091.03 489.839 1087.74 482.65L1083.19 484.729C1075.96 468.927 1071.15 453.01 1068.5 437.178L1073.43 436.352C1070.7 420.076 1070.34 403.888 1072.06 388.011L1067.09 387.472C1068.88 370.94 1072.87 354.746 1078.77 339.135L1083.44 340.902C1089.13 325.862 1096.63 311.352 1105.7 297.606L1101.52 294.854C1110.57 281.127 1121.13 268.168 1132.94 256.197L1136.5 259.708C1147.85 248.193 1160.38 237.603 1173.85 228.144L1170.98 224.052C1184.51 214.55 1198.97 206.173 1214.11 199.121L1216.22 203.654C1230.98 196.781 1246.39 191.192 1262.23 187.078L1260.97 182.239C1277 178.074 1293.47 175.389 1310.14 174.375L1310.45 179.365C1326.57 178.384 1342.87 178.997 1359.15 181.378L1359.88 176.431C1376.02 178.793 1392.15 182.859 1408.07 188.798L1406.32 193.482C1421.1 199 1435.71 206.172 1449.96 215.145L1452.63 210.913C1466.15 219.422 1479.35 229.513 1492.09 241.3L1488.7 244.971C1500.16 255.57 1511.26 267.579 1521.9 281.093L1525.83 278.001C1535.61 290.419 1544.99 304.075 1553.89 319.033L1549.59 321.59C1553.73 328.555 1557.78 335.811 1561.71 343.364C1562.42 344.724 1563.06 346.177 1563.62 347.696L1568.31 345.948C1569.54 349.266 1570.44 352.791 1570.98 356.298L1566.04 357.062C1566.29 358.688 1566.46 360.305 1566.54 361.882C1567.04 371.372 1567.64 380.541 1568.34 389.401L1573.33 389.005C1574.85 408.15 1576.85 425.826 1579.29 442.154L1574.35 442.894C1577.29 462.587 1580.87 480.373 1585.03 496.453L1589.87 495.202C1594.88 514.585 1600.72 531.406 1607.25 546.044L1602.68 548.081C1611.12 566.993 1620.74 582.432 1631.3 595.127L1635.14 591.93C1647.7 607.027 1661.53 618.009 1676.15 626.296L1673.68 630.646C1690.17 639.996 1707.53 645.972 1724.97 650.513L1726.23 645.674C1738.52 648.876 1750.97 651.381 1763.32 653.868C1768.54 654.919 1773.74 655.967 1778.91 657.062L1777.87 661.954C1795.64 665.72 1812.69 669.994 1828.53 676.825L1830.51 672.234C1846.5 679.128 1861.39 688.595 1874.51 702.621L1870.85 706.035C1881.26 717.164 1890.58 731.377 1898.4 749.871L1903 747.924C1909.15 762.476 1914.36 779.524 1918.43 799.577L1913.53 800.574C1915.21 808.813 1916.69 817.58 1917.98 826.914C1919.12 835.245 1919.67 843.369 1919.65 851.287L1924.65 851.3C1924.6 868.594 1921.94 884.994 1916.94 900.482L1912.18 898.947C1907.25 914.223 1899.96 928.617 1890.59 942.115L1894.69 944.968C1885.46 958.253 1874.29 970.656 1861.43 982.163L1858.09 978.437C1846.35 988.951 1833.14 998.73 1818.66 1007.75L1821.3 1012C1807.65 1020.51 1792.92 1028.34 1777.28 1035.47L1775.2 1030.92C1760.6 1037.59 1745.19 1043.65 1729.1 1049.1L1730.7 1053.83C1715.26 1059.06 1699.21 1063.73 1682.69 1067.82L1681.49 1062.96C1665.71 1066.87 1649.49 1070.26 1632.93 1073.11L1633.78 1078.04C1617.53 1080.84 1600.97 1083.13 1584.2 1084.9L1583.67 1079.93C1567.31 1081.66 1550.75 1082.9 1534.08 1083.64L1534.3 1088.64C1517.71 1089.38 1501.01 1089.62 1484.31 1089.37L1484.38 1084.37C1467.8 1084.12 1451.21 1083.38 1434.71 1082.15L1434.33 1087.13C1417.64 1085.88 1401.03 1084.12 1384.61 1081.85L1385.29 1076.9C1368.76 1074.62 1352.41 1071.81 1336.36 1068.48L1335.34 1073.38C1318.8 1069.95 1302.56 1065.96 1286.72 1061.41L1288.1 1056.6C1271.95 1051.97 1256.24 1046.74 1241.08 1040.93L1239.29 1045.6C1223.44 1039.52 1208.17 1032.8 1193.62 1025.43L1195.88 1020.97C1180.81 1013.34 1166.55 1005.01 1153.21 995.985L1150.41 1000.13C1136.32 990.587 1123.24 980.265 1111.35 969.152L1114.76 965.498C1102.57 954.105 1091.66 941.887 1082.21 928.838L1078.16 931.77C1068.35 918.23 1060.07 903.791 1053.51 888.441L1058.11 886.476C1054.93 879.023 1052.16 871.35 1049.83 863.456Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<path d="M203.275 733.389L203.327 733.336L203.378 733.281C209.007 727.19 214.504 721.647 219.875 716.612L216.455 712.964C229.7 700.546 242.263 691.095 254.253 684.057L256.784 688.369C271.893 679.5 285.94 674.657 299.181 672.558L298.398 667.62C315.026 664.983 330.606 666.449 345.548 669.924L344.415 674.794C359.055 678.199 373.108 683.594 387.31 689.046L388.797 689.617L390.588 684.949C405.752 690.767 420.67 696.392 435.857 699.199L434.948 704.115C450.757 707.037 467.085 707.062 484.284 701.296L482.695 696.555C495.566 692.24 508.93 684.506 523.041 672.046L526.351 675.794C536.846 666.527 547.66 654.793 558.901 640.141L554.933 637.098C563.547 625.87 572.456 612.851 581.704 597.809L585.964 600.428C589.996 593.869 594.089 586.935 598.247 579.607C602.555 572.014 607.137 564.844 611.97 558.086L607.902 555.178C618.388 540.512 630.047 527.716 642.644 516.702L645.935 520.466C658.945 509.091 672.977 499.664 687.768 492.076L685.486 487.627C700.963 479.688 717.248 473.719 734.048 469.605L735.237 474.461C751.592 470.457 768.465 468.245 785.577 467.726L785.425 462.728C802.557 462.208 819.901 463.354 837.182 466.059L836.408 470.998C853.065 473.606 869.675 477.689 885.981 483.154L887.57 478.413C903.871 483.876 919.863 490.694 935.3 498.774L932.981 503.204C948.024 511.078 962.531 520.167 976.265 530.38L979.249 526.367C993.105 536.67 1006.19 548.101 1018.27 560.569L1014.68 564.048C1026.49 576.247 1037.32 589.449 1046.95 603.565L1051.08 600.748C1060.77 614.965 1069.27 630.1 1076.34 646.069L1071.76 648.093C1078.55 663.426 1084 679.538 1087.91 696.351L1092.78 695.218C1096.61 711.686 1098.99 728.817 1099.74 746.539L1094.74 746.748C1095.43 763.222 1094.69 780.227 1092.34 797.709L1097.3 798.374C1095.09 814.864 1091.48 831.759 1086.35 849.01L1081.56 847.584C1076.88 863.3 1070.92 879.332 1063.57 895.644L1068.13 897.699C1061.34 912.759 1053.39 928.039 1044.2 943.513L1039.9 940.959C1035.56 948.269 1030.93 955.624 1026.02 963.024C1025.17 964.305 1024.21 965.573 1023.15 966.811L1026.95 970.06C1024.64 972.756 1021.99 975.258 1019.19 977.439L1016.12 973.492C1014.82 974.505 1013.48 975.437 1012.15 976.273C1005.07 980.698 998.208 985.081 991.561 989.424L994.296 993.61C980.363 1002.71 967.376 1011.63 955.278 1020.38L952.348 1016.33C938.69 1026.2 926.146 1035.87 914.638 1045.34L917.815 1049.2C904.833 1059.88 893.195 1070.3 882.784 1080.47L879.289 1076.89C866.803 1089.1 856.035 1100.98 846.795 1112.58L850.706 1115.69C839.955 1129.19 831.341 1142.25 824.539 1154.94L820.132 1152.58C811.823 1168.09 806.13 1183.09 802.515 1197.7L807.369 1198.9C803.376 1215.03 802.008 1230.6 802.451 1245.74L797.453 1245.89C797.934 1262.35 800.496 1278.25 804.108 1293.73L808.977 1292.59C812.577 1308.02 817.263 1323.14 822.035 1338.12L817.271 1339.64C817.857 1341.48 818.444 1343.31 819.029 1345.14C823.292 1358.48 827.479 1371.58 830.935 1384.71L835.77 1383.44C839.83 1398.87 842.892 1414.33 843.843 1430.04L838.852 1430.34C839.754 1445.23 838.698 1460.27 834.709 1475.67L839.549 1476.93C835.906 1491 829.896 1505.38 820.812 1520.21L816.548 1517.59C809.315 1529.4 800.04 1541.55 788.309 1554.12L791.965 1557.53C782.169 1568.03 770.725 1578.77 757.419 1589.79L754.23 1585.94C748.363 1590.8 742.125 1595.72 735.494 1600.7C728.818 1605.72 722.048 1610.21 715.194 1614.21L717.71 1618.53C702.98 1627.11 687.837 1633.44 672.387 1637.7L671.058 1632.88C655.505 1637.17 639.618 1639.29 623.5 1639.42L623.541 1644.42C607.371 1644.56 590.996 1642.73 574.523 1639.13L575.592 1634.25C560.261 1630.89 544.807 1625.95 529.322 1619.56L527.414 1624.18C512.616 1618.07 497.822 1610.67 483.11 1602.1L485.627 1597.78C471.969 1589.82 458.365 1580.82 444.88 1570.9L441.915 1574.92C428.946 1565.37 416.099 1554.98 403.431 1543.83L406.735 1540.07C394.682 1529.46 382.785 1518.15 371.093 1506.22L367.522 1509.72C356.146 1498.11 344.97 1485.92 334.037 1473.22L337.826 1469.96C327.254 1457.68 316.908 1444.91 306.827 1431.73L302.856 1434.77C292.93 1421.79 283.263 1408.41 273.894 1394.69L278.023 1391.87C268.826 1378.4 259.915 1364.6 251.328 1350.53L247.06 1353.13C238.493 1339.09 230.247 1324.78 222.358 1310.26L226.752 1307.87C218.918 1293.45 211.438 1278.82 204.347 1264.03L199.839 1266.19C192.686 1251.28 185.926 1236.2 179.597 1221.03L184.212 1219.11C177.859 1203.88 171.943 1188.55 166.499 1173.18L161.786 1174.85C156.232 1159.17 151.165 1143.45 146.626 1127.74L151.43 1126.35C146.828 1110.43 142.773 1094.52 139.305 1078.71L134.421 1079.78C130.839 1063.45 127.876 1047.21 125.578 1031.12L130.528 1030.41C128.178 1013.96 126.529 997.692 125.627 981.673L120.635 981.954C119.691 965.189 119.558 948.685 120.287 932.528L125.282 932.754C126.034 916.11 127.711 899.859 130.371 884.092L125.44 883.26C128.232 866.708 132.094 850.663 137.094 835.232L141.851 836.773C146.906 821.174 153.136 806.234 160.608 792.062L156.185 789.73C163.875 775.146 172.864 761.342 183.229 748.438L187.128 751.57C192.174 745.287 197.554 739.222 203.275 733.389Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<circle cx="1000" cy="1000" r="700" fill="#5670D8"/>
|
||||||
|
<path d="M1000 1605C1334.13 1605 1605 1334.13 1605 1000C1605 665.868 1334.13 395 1000 395C665.868 395 395 665.868 395 1000C395 1334.13 665.868 1605 1000 1605Z" fill="#627EEA" stroke="#A2B6FB" stroke-width="10"/>
|
||||||
|
<path d="M1018.7 549.918V882.559L1299.84 1008.2L1018.7 549.918Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 549.918L737.562 1008.2L1018.7 882.559V549.918Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1223.73V1449.75L1300 1060.52L1018.7 1223.73Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 1449.75V1223.73L737.562 1060.52L1018.7 1449.75Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1171.41L1299.84 1008.2L1018.7 882.559V1171.41Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M737.562 1008.2L1018.7 1171.41V882.559L737.562 1008.2Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<g style="mix-blend-mode:multiply" opacity="0.3">
|
||||||
|
<path d="M1569 1414C1463 1622 1182 1700 1005 1700C504.5 1707.5 108.001 1160 397 646C415.999 672 500.002 1204 821.001 1386C1192 1582 1569 1414 1569 1414Z" fill="#3C4F9A"/>
|
||||||
|
</g>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<mask id="path-33-inside-1_1048_45" fill="white">
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z"/>
|
||||||
|
</mask>
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z" fill="#454545"/>
|
||||||
|
<path d="M1346.5 1100L1330.25 1074.78L1350.22 1129.77L1346.5 1100ZM1391.5 1088L1388.19 1117.82L1391.5 1088ZM1418.5 1096.5L1448.32 1093.19L1447.41 1085.05L1442.5 1078.5L1418.5 1096.5ZM1420 1110L1409.11 1137.95L1455.29 1155.95L1449.82 1106.69L1420 1110ZM1362.75 1125.22C1364.35 1124.19 1368.78 1121.79 1374.42 1119.94C1380.18 1118.05 1384.99 1117.46 1388.19 1117.82L1394.81 1058.18C1380.01 1056.54 1366.07 1059.53 1355.71 1062.93C1345.22 1066.38 1336.15 1070.98 1330.25 1074.78L1362.75 1125.22ZM1388.19 1117.82C1395.29 1118.61 1399.13 1119.77 1400.61 1120.32C1401.36 1120.61 1401.22 1120.63 1400.48 1120.17C1400.1 1119.94 1399.39 1119.48 1398.49 1118.73C1397.7 1118.08 1396.14 1116.69 1394.5 1114.5L1442.5 1078.5C1438.86 1073.65 1434.48 1070.64 1431.88 1069.05C1428.75 1067.12 1425.33 1065.52 1421.77 1064.18C1414.62 1061.48 1405.71 1059.39 1394.81 1058.18L1388.19 1117.82ZM1388.68 1099.81L1390.18 1113.31L1449.82 1106.69L1448.32 1093.19L1388.68 1099.81ZM1430.89 1082.05C1423.37 1079.12 1413.62 1075.93 1404.56 1073.44C1396.71 1071.29 1385.35 1068.5 1376.5 1068.5V1128.5C1375.61 1128.5 1376.26 1128.43 1379.25 1129.02C1381.81 1129.53 1385.05 1130.31 1388.69 1131.31C1396.04 1133.32 1403.79 1135.88 1409.11 1137.95L1430.89 1082.05ZM1376.5 1068.5C1368.12 1068.5 1349.8 1069.35 1342.78 1070.23L1350.22 1129.77C1353.87 1129.31 1369.5 1128.5 1376.5 1128.5V1068.5Z" fill="white" mask="url(#path-33-inside-1_1048_45)"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<mask id="path-36-inside-2_1048_45" fill="white">
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)"/>
|
||||||
|
</mask>
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)" stroke="white" stroke-width="45" mask="url(#path-36-inside-2_1048_45)"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1391.87 1279.66L1390.85 1275.02L1393.28 1277.68L1391.87 1279.66Z" fill="#7D8BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1441.85 1559.26C1442.43 1559.72 1442.93 1560.21 1443.36 1560.69C1442.65 1560.5 1441.96 1560.32 1441.3 1560.16L1441.85 1559.26M1441.85 1559.26V1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1441.85 1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26C1441.53 1559.01 1441.19 1558.76 1440.82 1558.53L1440.28 1559.93C1440.57 1559.99 1440.86 1560.05 1441.16 1560.13L1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1416.99 1557.18L1418.71 1557.64L1416.99 1557.18C1416.83 1557.8 1416.68 1558.44 1416.54 1559.09C1415.97 1559.53 1415.41 1560.01 1414.87 1560.54C1411.74 1563.62 1410.08 1567.36 1409.33 1570.86C1408.78 1573.46 1408.67 1575.95 1408.93 1578.31C1407.42 1580.76 1406.34 1583.73 1406.05 1587.25C1405.84 1589.82 1406 1592.21 1406.44 1594.4C1405.55 1596.4 1404.95 1598.71 1404.9 1601.32C1404.8 1606.38 1406.8 1610.48 1408.87 1613.32C1411.76 1617.31 1415.98 1619.38 1417.61 1620.17C1419.99 1621.32 1422.68 1622.32 1425.29 1623.18C1430.57 1624.9 1436.87 1626.43 1442.86 1627.56C1448.74 1628.66 1455.06 1629.5 1460.22 1629.55C1462.55 1629.58 1466.05 1629.48 1469.41 1628.44C1471.04 1627.94 1474.2 1626.76 1476.98 1623.89C1476.98 1623.89 1476.98 1623.88 1476.99 1623.88C1477.44 1623.82 1477.9 1623.75 1478.36 1623.66C1481.19 1623.11 1486.74 1621.25 1490.08 1615.81C1492.27 1614.98 1494.54 1613.67 1496.61 1611.61C1498.01 1610.2 1499.65 1608.26 1501.03 1605.89C1504.37 1604.31 1508.15 1601.39 1510.29 1596.41C1510.3 1596.38 1510.31 1596.35 1510.33 1596.31C1511.05 1594.62 1512.92 1590.27 1512.67 1585.26C1512.51 1582.2 1511.6 1578.83 1509.42 1575.72C1507.32 1572.73 1504.66 1570.84 1502.34 1569.65C1491.85 1564.28 1475.85 1556.63 1462.01 1551.24C1455.22 1548.59 1448.2 1546.19 1442.36 1545.04C1439.63 1544.5 1435.82 1543.95 1431.97 1544.47C1428.35 1544.96 1419.57 1547.4 1416.99 1557.18ZM1451.7 1614.97C1451.64 1614.57 1451.59 1614.18 1451.56 1613.79C1453.02 1613.99 1454.43 1614.16 1455.76 1614.29C1455.79 1614.29 1455.81 1614.29 1455.84 1614.3L1454.43 1619.14C1453.94 1618.81 1453.42 1618.35 1452.93 1617.72C1452.26 1616.83 1451.85 1615.84 1451.7 1614.97ZM1490.49 1578.08C1490.49 1578.08 1490.46 1578.08 1490.41 1578.08C1490.46 1578.08 1490.49 1578.08 1490.49 1578.08Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1409.5 1173C1402.7 1173.8 1407.67 1179.33 1411 1182C1414.17 1182.67 1421.8 1184.1 1427 1184.5C1433.5 1185 1447.5 1184.5 1447.5 1180C1447.5 1176.8 1418 1172 1409.5 1173Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1376.5 1097.5C1370.34 1097.5 1358.25 1098.03 1350.88 1098.59C1354.64 1096.56 1359.67 1094.26 1365.37 1092.39C1373.36 1089.77 1382.58 1088.02 1391.39 1088.99C1400.33 1089.99 1406.62 1091.6 1410.83 1093.19C1412.94 1093.98 1414.53 1094.77 1415.66 1095.46C1416.62 1096.05 1417.21 1096.55 1417.54 1096.91L1418.82 1108.48C1412.55 1106.11 1404.49 1103.49 1396.89 1101.41C1388.69 1099.16 1380.9 1097.5 1376.5 1097.5Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<rect x="1343.94" y="1098.11" width="77.4768" height="43" rx="14" transform="rotate(6.45837 1343.94 1098.11)" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1380.48 1293.04L1379.91 1290.47L1375.48 1270.29L1373.52 1270.71L1378.44 1293.09L1363.6 1319.51L1364.99 1261.41L1381.49 1243.97L1411.22 1276.58L1384.99 1313.58L1380.48 1293.04Z" fill="#7D8BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1489.83 1594.41C1489.79 1594.29 1489.74 1594.18 1489.68 1594.08C1490.09 1594.09 1490.49 1594.09 1490.88 1594.08C1492.29 1594.03 1493.64 1593.83 1494.77 1593.36C1495.93 1592.88 1496.9 1592.1 1497.42 1590.89C1498.17 1589.15 1498.76 1587.47 1498.69 1585.96C1498.65 1585.18 1498.42 1584.43 1497.95 1583.75C1497.48 1583.09 1496.81 1582.55 1495.95 1582.11C1485.69 1576.85 1470.16 1569.44 1456.92 1564.28C1450.32 1561.71 1444.24 1559.68 1439.65 1558.77C1437.37 1558.32 1435.38 1558.13 1433.85 1558.34C1432.33 1558.55 1430.94 1559.21 1430.53 1560.75C1429.52 1564.59 1429.59 1567.35 1430.22 1569.24C1429.3 1569.07 1428.34 1569.01 1427.42 1569.17C1426.43 1569.34 1425.47 1569.76 1424.68 1570.54C1423.89 1571.31 1423.32 1572.39 1423.02 1573.79C1422.35 1576.91 1423.24 1579.31 1424.66 1580.99C1425.08 1581.49 1425.54 1581.93 1426.02 1582.3C1425.34 1582.46 1424.65 1582.68 1423.98 1582.98C1422.01 1583.88 1420.24 1585.56 1420 1588.42C1419.67 1592.36 1421.37 1595.32 1422.96 1597.04C1421.92 1597.43 1420.85 1598.02 1420.07 1598.85C1419.4 1599.56 1418.92 1600.48 1418.9 1601.6C1418.88 1602.71 1419.31 1603.87 1420.19 1605.09C1420.85 1606 1422.16 1606.82 1423.71 1607.57C1425.31 1608.34 1427.34 1609.12 1429.63 1609.86C1434.21 1611.36 1439.91 1612.76 1445.44 1613.8C1450.97 1614.83 1456.37 1615.51 1460.36 1615.55C1462.34 1615.57 1464.06 1615.44 1465.29 1615.06C1465.9 1614.87 1466.49 1614.59 1466.92 1614.15C1467.39 1613.67 1467.6 1613.04 1467.49 1612.34C1467.24 1610.89 1466.75 1609.67 1466.11 1608.67C1467.93 1609.19 1469.8 1609.64 1471.49 1609.88C1473.01 1610.09 1474.48 1610.15 1475.67 1609.92C1476.86 1609.69 1478.02 1609.1 1478.45 1607.82C1479.16 1605.67 1479.27 1603.9 1479.08 1602.59C1479.88 1602.8 1480.77 1602.98 1481.66 1603.06C1483.36 1603.21 1485.38 1603.04 1486.71 1601.71C1488.03 1600.39 1489.27 1598.63 1489.77 1596.98C1490.02 1596.15 1490.12 1595.24 1489.83 1594.41Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545"/>
|
||||||
|
<path d="M1631.79 1492.83L1625.62 1517.38L1640.42 1530.96L1631.79 1492.83Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1631.79 1492.83L1606.16 1522.35L1625.62 1517.38L1631.79 1492.83Z" fill="white"/>
|
||||||
|
<path d="M1619.29 1542.56L1615.1 1559.24L1639.46 1534.82L1619.29 1542.56Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1615.1 1559.25L1619.29 1542.56L1605.19 1526.21L1615.1 1559.25Z" fill="white"/>
|
||||||
|
<path d="M1620.26 1538.7L1640.42 1530.96L1625.62 1517.38L1620.26 1538.7Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1606.16 1522.35L1620.26 1538.7L1625.62 1517.38L1606.16 1522.35Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1577.06 365.61C1575.01 363.706 1573.92 361.351 1573.79 358.546C1573.66 355.74 1574.57 353.309 1576.52 351.253C1578.38 349.2 1580.71 348.131 1583.52 348.046C1586.33 347.961 1588.76 348.871 1590.81 350.776C1592.8 352.617 1593.86 354.941 1593.99 357.746C1594.14 360.573 1593.28 363.012 1591.42 365.065C1590.12 366.422 1588.6 367.34 1586.85 367.82C1585.13 368.321 1583.39 368.388 1581.63 368.019C1579.92 367.648 1578.39 366.845 1577.06 365.61Z" fill="white"/>
|
||||||
|
<path d="M1614.26 400.09C1612.21 398.185 1611.12 395.83 1610.99 393.025C1610.86 390.22 1611.77 387.789 1613.72 385.732C1615.58 383.679 1617.91 382.61 1620.72 382.526C1623.53 382.441 1625.96 383.351 1628.01 385.255C1630 387.097 1631.06 389.42 1631.18 392.226C1631.34 395.052 1630.48 397.492 1628.62 399.545C1627.32 400.901 1625.8 401.82 1624.05 402.3C1622.33 402.801 1620.59 402.867 1618.83 402.498C1617.12 402.127 1615.59 401.325 1614.26 400.09Z" fill="white"/>
|
||||||
|
<path d="M1651.46 434.569C1649.41 432.665 1648.32 430.31 1648.19 427.504C1648.06 424.699 1648.97 422.268 1650.92 420.212C1652.78 418.159 1655.11 417.09 1657.92 417.005C1660.73 416.92 1663.16 417.83 1665.21 419.735C1667.2 421.576 1668.26 423.9 1668.38 426.705C1668.53 429.531 1667.68 431.971 1665.82 434.024C1664.52 435.381 1663 436.299 1661.25 436.779C1659.53 437.28 1657.79 437.346 1656.03 436.977C1654.32 436.607 1652.79 435.804 1651.46 434.569Z" fill="white"/>
|
||||||
|
<path d="M1688.66 469.049C1686.61 467.144 1685.51 464.789 1685.39 461.984C1685.26 459.178 1686.17 456.747 1688.12 454.691C1689.98 452.638 1692.31 451.569 1695.12 451.484C1697.92 451.4 1700.36 452.309 1702.41 454.214C1704.4 456.056 1705.46 458.379 1705.58 461.184C1705.73 464.011 1704.88 466.451 1703.02 468.504C1701.72 469.86 1700.2 470.778 1698.45 471.258C1696.73 471.76 1694.99 471.826 1693.23 471.457C1691.52 471.086 1689.99 470.283 1688.66 469.049Z" fill="white"/>
|
||||||
|
<path d="M1725.86 503.528C1723.81 501.623 1722.71 499.269 1722.59 496.463C1722.46 493.658 1723.37 491.227 1725.32 489.17C1727.18 487.117 1729.51 486.048 1732.32 485.964C1735.12 485.879 1737.56 486.789 1739.61 488.693C1741.6 490.535 1742.65 492.858 1742.78 495.664C1742.93 498.49 1742.08 500.93 1740.22 502.983C1738.92 504.339 1737.4 505.258 1735.65 505.738C1733.93 506.239 1732.19 506.305 1730.43 505.936C1728.71 505.565 1727.19 504.763 1725.86 503.528Z" fill="white"/>
|
||||||
|
<path d="M1763.06 538.007C1761 536.103 1759.91 533.748 1759.79 530.943C1759.66 528.137 1760.57 525.706 1762.51 523.65C1764.38 521.597 1766.71 520.528 1769.52 520.443C1772.32 520.358 1774.75 521.268 1776.81 523.173C1778.8 525.014 1779.85 527.338 1779.98 530.143C1780.13 532.97 1779.28 535.409 1777.42 537.462C1776.12 538.819 1774.59 539.737 1772.85 540.217C1771.12 540.718 1769.38 540.784 1767.63 540.415C1765.91 540.045 1764.39 539.242 1763.06 538.007Z" fill="white"/>
|
||||||
|
<path d="M1800.26 572.487C1798.2 570.582 1797.11 568.227 1796.98 565.422C1796.86 562.617 1797.77 560.186 1799.71 558.129C1801.58 556.076 1803.91 555.007 1806.72 554.922C1809.52 554.838 1811.95 555.748 1814.01 557.652C1816 559.494 1817.05 561.817 1817.18 564.623C1817.33 567.449 1816.48 569.889 1814.62 571.942C1813.32 573.298 1811.79 574.216 1810.05 574.697C1808.32 575.198 1806.58 575.264 1804.83 574.895C1803.11 574.524 1801.59 573.721 1800.26 572.487Z" fill="white"/>
|
||||||
|
<path d="M1546.12 398.992C1544.07 397.087 1542.98 394.732 1542.85 391.927C1542.72 389.122 1543.63 386.691 1545.58 384.634C1547.44 382.581 1549.77 381.512 1552.58 381.428C1555.39 381.343 1557.82 382.253 1559.87 384.157C1561.86 385.999 1562.92 388.322 1563.04 391.128C1563.2 393.954 1562.34 396.394 1560.48 398.447C1559.18 399.803 1557.66 400.722 1555.91 401.202C1554.19 401.703 1552.45 401.769 1550.69 401.4C1548.98 401.029 1547.45 400.226 1546.12 398.992Z" fill="white"/>
|
||||||
|
<path d="M1583.32 433.471C1581.27 431.567 1580.18 429.212 1580.05 426.406C1579.92 423.601 1580.83 421.17 1582.78 419.114C1584.64 417.061 1586.97 415.992 1589.78 415.907C1592.59 415.822 1595.02 416.732 1597.07 418.636C1599.06 420.478 1600.12 422.802 1600.24 425.607C1600.39 428.433 1599.54 430.873 1597.68 432.926C1596.38 434.283 1594.86 435.201 1593.11 435.681C1591.39 436.182 1589.65 436.248 1587.89 435.879C1586.18 435.509 1584.65 434.706 1583.32 433.471Z" fill="white"/>
|
||||||
|
<path d="M1620.52 467.951C1618.47 466.046 1617.37 463.691 1617.25 460.886C1617.12 458.08 1618.03 455.649 1619.98 453.593C1621.84 451.54 1624.17 450.471 1626.98 450.386C1629.79 450.302 1632.22 451.211 1634.27 453.116C1636.26 454.958 1637.32 457.281 1637.44 460.086C1637.59 462.913 1636.74 465.352 1634.88 467.406C1633.58 468.762 1632.06 469.68 1630.31 470.16C1628.59 470.662 1626.85 470.728 1625.09 470.359C1623.38 469.988 1621.85 469.185 1620.52 467.951Z" fill="white"/>
|
||||||
|
<path d="M1657.72 502.43C1655.67 500.525 1654.57 498.171 1654.45 495.365C1654.32 492.56 1655.23 490.129 1657.18 488.072C1659.04 486.019 1661.37 484.95 1664.18 484.866C1666.98 484.781 1669.42 485.691 1671.47 487.595C1673.46 489.437 1674.51 491.76 1674.64 494.566C1674.79 497.392 1673.94 499.832 1672.08 501.885C1670.78 503.241 1669.26 504.16 1667.51 504.64C1665.79 505.141 1664.05 505.207 1662.29 504.838C1660.58 504.467 1659.05 503.665 1657.72 502.43Z" fill="white"/>
|
||||||
|
<path d="M1694.92 536.909C1692.87 535.005 1691.77 532.65 1691.65 529.844C1691.52 527.039 1692.43 524.608 1694.37 522.552C1696.24 520.499 1698.57 519.43 1701.38 519.345C1704.18 519.26 1706.61 520.17 1708.67 522.075C1710.66 523.916 1711.71 526.24 1711.84 529.045C1711.99 531.872 1711.14 534.311 1709.28 536.364C1707.98 537.721 1706.46 538.639 1704.71 539.119C1702.98 539.62 1701.24 539.686 1699.49 539.317C1697.77 538.947 1696.25 538.144 1694.92 536.909Z" fill="white"/>
|
||||||
|
<path d="M1732.12 571.389C1730.06 569.484 1728.97 567.129 1728.84 564.324C1728.72 561.518 1729.63 559.088 1731.57 557.031C1733.44 554.978 1735.77 553.909 1738.58 553.824C1741.38 553.74 1743.81 554.65 1745.87 556.554C1747.86 558.396 1748.91 560.719 1749.04 563.525C1749.19 566.351 1748.34 568.791 1746.48 570.844C1745.18 572.2 1743.65 573.118 1741.91 573.599C1740.18 574.1 1738.44 574.166 1736.69 573.797C1734.97 573.426 1733.45 572.623 1732.12 571.389Z" fill="white"/>
|
||||||
|
<path d="M1769.32 605.868C1767.26 603.964 1766.17 601.609 1766.04 598.803C1765.92 595.998 1766.83 593.567 1768.77 591.511C1770.63 589.458 1772.97 588.389 1775.78 588.304C1778.58 588.219 1781.01 589.129 1783.07 591.033C1785.06 592.875 1786.11 595.199 1786.24 598.004C1786.39 600.83 1785.54 603.27 1783.68 605.323C1782.38 606.679 1780.85 607.598 1779.11 608.078C1777.38 608.579 1775.64 608.645 1773.89 608.276C1772.17 607.906 1770.65 607.103 1769.32 605.868Z" fill="white"/>
|
||||||
|
<path d="M1515.18 432.373C1513.13 430.469 1512.04 428.114 1511.91 425.308C1511.78 422.503 1512.69 420.072 1514.64 418.016C1516.5 415.963 1518.83 414.894 1521.64 414.809C1524.45 414.724 1526.88 415.634 1528.93 417.538C1530.92 419.38 1531.98 421.704 1532.1 424.509C1532.26 427.335 1531.4 429.775 1529.54 431.828C1528.24 433.185 1526.72 434.103 1524.97 434.583C1523.25 435.084 1521.51 435.15 1519.75 434.781C1518.04 434.411 1516.51 433.608 1515.18 432.373Z" fill="white"/>
|
||||||
|
<path d="M1552.38 466.852C1550.33 464.948 1549.24 462.593 1549.11 459.788C1548.98 456.982 1549.89 454.551 1551.84 452.495C1553.7 450.442 1556.03 449.373 1558.84 449.288C1561.65 449.204 1564.08 450.113 1566.13 452.018C1568.12 453.859 1569.18 456.183 1569.3 458.988C1569.45 461.815 1568.6 464.254 1566.74 466.308C1565.44 467.664 1563.92 468.582 1562.17 469.062C1560.45 469.564 1558.71 469.63 1556.95 469.261C1555.24 468.89 1553.71 468.087 1552.38 466.852Z" fill="white"/>
|
||||||
|
<path d="M1589.58 501.332C1587.53 499.427 1586.43 497.072 1586.31 494.267C1586.18 491.462 1587.09 489.031 1589.04 486.974C1590.9 484.921 1593.23 483.852 1596.04 483.768C1598.84 483.683 1601.28 484.593 1603.33 486.497C1605.32 488.339 1606.37 490.662 1606.5 493.468C1606.65 496.294 1605.8 498.734 1603.94 500.787C1602.64 502.143 1601.12 503.062 1599.37 503.542C1597.65 504.043 1595.91 504.109 1594.15 503.74C1592.44 503.369 1590.91 502.567 1589.58 501.332Z" fill="white"/>
|
||||||
|
<path d="M1626.78 535.811C1624.73 533.907 1623.63 531.552 1623.51 528.746C1623.38 525.941 1624.29 523.51 1626.24 521.454C1628.1 519.401 1630.43 518.332 1633.24 518.247C1636.04 518.162 1638.48 519.072 1640.53 520.977C1642.52 522.818 1643.57 525.142 1643.7 527.947C1643.85 530.774 1643 533.213 1641.14 535.266C1639.84 536.623 1638.32 537.541 1636.57 538.021C1634.85 538.522 1633.1 538.588 1631.35 538.219C1629.63 537.849 1628.11 537.046 1626.78 535.811Z" fill="white"/>
|
||||||
|
<path d="M1663.98 570.291C1661.92 568.386 1660.83 566.031 1660.71 563.226C1660.58 560.42 1661.49 557.99 1663.43 555.933C1665.3 553.88 1667.63 552.811 1670.44 552.726C1673.24 552.642 1675.67 553.552 1677.73 555.456C1679.72 557.298 1680.77 559.621 1680.9 562.427C1681.05 565.253 1680.2 567.693 1678.34 569.746C1677.04 571.102 1675.51 572.02 1673.77 572.501C1672.04 573.002 1670.3 573.068 1668.55 572.699C1666.83 572.328 1665.31 571.525 1663.98 570.291Z" fill="white"/>
|
||||||
|
<path d="M1701.18 604.77C1699.12 602.866 1698.03 600.511 1697.9 597.705C1697.78 594.9 1698.69 592.469 1700.63 590.413C1702.5 588.359 1704.83 587.291 1707.64 587.206C1710.44 587.121 1712.87 588.031 1714.93 589.935C1716.92 591.777 1717.97 594.101 1718.1 596.906C1718.25 599.732 1717.4 602.172 1715.54 604.225C1714.24 605.581 1712.71 606.5 1710.97 606.98C1709.24 607.481 1707.5 607.547 1705.75 607.178C1704.03 606.807 1702.51 606.005 1701.18 604.77Z" fill="white"/>
|
||||||
|
<path d="M1738.38 639.249C1736.32 637.345 1735.23 634.99 1735.1 632.185C1734.98 629.379 1735.89 626.948 1737.83 624.892C1739.69 622.839 1742.03 621.77 1744.84 621.685C1747.64 621.6 1750.07 622.51 1752.13 624.415C1754.12 626.256 1755.17 628.58 1755.3 631.385C1755.45 634.212 1754.6 636.651 1752.74 638.704C1751.44 640.061 1749.91 640.979 1748.17 641.459C1746.44 641.96 1744.7 642.027 1742.95 641.658C1741.23 641.287 1739.71 640.484 1738.38 639.249Z" fill="white"/>
|
||||||
|
<path d="M1484.24 465.754C1482.19 463.85 1481.1 461.495 1480.97 458.69C1480.84 455.884 1481.75 453.453 1483.7 451.397C1485.56 449.344 1487.89 448.275 1490.7 448.19C1493.51 448.106 1495.94 449.015 1497.99 450.92C1499.98 452.761 1501.04 455.085 1501.16 457.89C1501.31 460.717 1500.46 463.156 1498.6 465.209C1497.3 466.566 1495.78 467.484 1494.03 467.964C1492.31 468.466 1490.57 468.532 1488.81 468.163C1487.1 467.792 1485.57 466.989 1484.24 465.754Z" fill="white"/>
|
||||||
|
<path d="M1521.44 500.234C1519.39 498.329 1518.29 495.974 1518.17 493.169C1518.04 490.364 1518.95 487.933 1520.9 485.876C1522.76 483.823 1525.09 482.754 1527.9 482.67C1530.71 482.585 1533.14 483.495 1535.19 485.399C1537.18 487.241 1538.24 489.564 1538.36 492.37C1538.51 495.196 1537.66 497.636 1535.8 499.689C1534.5 501.045 1532.98 501.964 1531.23 502.444C1529.51 502.945 1527.77 503.011 1526.01 502.642C1524.3 502.271 1522.77 501.469 1521.44 500.234Z" fill="white"/>
|
||||||
|
<path d="M1558.64 534.713C1556.59 532.809 1555.49 530.454 1555.37 527.648C1555.24 524.843 1556.15 522.412 1558.1 520.356C1559.96 518.303 1562.29 517.234 1565.1 517.149C1567.9 517.064 1570.34 517.974 1572.39 519.879C1574.38 521.72 1575.43 524.044 1575.56 526.849C1575.71 529.675 1574.86 532.115 1573 534.168C1571.7 535.525 1570.18 536.443 1568.43 536.923C1566.71 537.424 1564.97 537.49 1563.21 537.121C1561.5 536.751 1559.97 535.948 1558.64 534.713Z" fill="white"/>
|
||||||
|
<path d="M1595.84 569.193C1593.78 567.288 1592.69 564.933 1592.57 562.128C1592.44 559.322 1593.35 556.892 1595.29 554.835C1597.16 552.782 1599.49 551.713 1602.3 551.628C1605.1 551.544 1607.53 552.453 1609.59 554.358C1611.58 556.2 1612.63 558.523 1612.76 561.329C1612.91 564.155 1612.06 566.595 1610.2 568.648C1608.9 570.004 1607.38 570.922 1605.63 571.403C1603.9 571.904 1602.16 571.97 1600.41 571.601C1598.69 571.23 1597.17 570.427 1595.84 569.193Z" fill="white"/>
|
||||||
|
<path d="M1633.04 603.672C1630.98 601.768 1629.89 599.413 1629.76 596.607C1629.64 593.802 1630.55 591.371 1632.49 589.315C1634.36 587.261 1636.69 586.193 1639.5 586.108C1642.3 586.023 1644.73 586.933 1646.79 588.837C1648.78 590.679 1649.83 593.003 1649.96 595.808C1650.11 598.634 1649.26 601.074 1647.4 603.127C1646.1 604.483 1644.57 605.402 1642.83 605.882C1641.1 606.383 1639.36 606.449 1637.61 606.08C1635.89 605.709 1634.37 604.907 1633.04 603.672Z" fill="white"/>
|
||||||
|
<path d="M1670.24 638.151C1668.18 636.247 1667.09 633.892 1666.96 631.087C1666.84 628.281 1667.75 625.85 1669.69 623.794C1671.55 621.741 1673.89 620.672 1676.7 620.587C1679.5 620.502 1681.93 621.412 1683.99 623.317C1685.98 625.158 1687.03 627.482 1687.16 630.287C1687.31 633.114 1686.46 635.553 1684.6 637.606C1683.3 638.963 1681.77 639.881 1680.03 640.361C1678.3 640.862 1676.56 640.929 1674.81 640.559C1673.09 640.189 1671.57 639.386 1670.24 638.151Z" fill="white"/>
|
||||||
|
<path d="M1707.44 672.631C1705.38 670.726 1704.29 668.371 1704.16 665.566C1704.04 662.761 1704.95 660.33 1706.89 658.273C1708.75 656.22 1711.09 655.151 1713.9 655.067C1716.7 654.982 1719.13 655.892 1721.19 657.796C1723.17 659.638 1724.23 661.961 1724.36 664.767C1724.51 667.593 1723.66 670.033 1721.8 672.086C1720.5 673.442 1718.97 674.36 1717.23 674.841C1715.5 675.342 1713.76 675.408 1712.01 675.039C1710.29 674.668 1708.77 673.865 1707.44 672.631Z" fill="white"/>
|
||||||
|
<path d="M1453.3 499.136C1451.25 497.231 1450.15 494.876 1450.03 492.071C1449.9 489.266 1450.81 486.835 1452.76 484.778C1454.62 482.725 1456.95 481.656 1459.76 481.572C1462.57 481.487 1465 482.397 1467.05 484.301C1469.04 486.143 1470.1 488.466 1470.22 491.272C1470.37 494.098 1469.52 496.538 1467.66 498.591C1466.36 499.947 1464.84 500.866 1463.09 501.346C1461.37 501.847 1459.63 501.913 1457.87 501.544C1456.16 501.173 1454.63 500.371 1453.3 499.136Z" fill="white"/>
|
||||||
|
<path d="M1490.5 533.615C1488.45 531.711 1487.35 529.356 1487.23 526.55C1487.1 523.745 1488.01 521.314 1489.96 519.258C1491.82 517.205 1494.15 516.136 1496.96 516.051C1499.76 515.966 1502.2 516.876 1504.25 518.781C1506.24 520.622 1507.29 522.946 1507.42 525.751C1507.57 528.577 1506.72 531.017 1504.86 533.07C1503.56 534.427 1502.04 535.345 1500.29 535.825C1498.57 536.326 1496.83 536.392 1495.07 536.023C1493.36 535.653 1491.83 534.85 1490.5 533.615Z" fill="white"/>
|
||||||
|
<path d="M1527.7 568.095C1525.65 566.19 1524.55 563.835 1524.43 561.03C1524.3 558.224 1525.21 555.794 1527.16 553.737C1529.02 551.684 1531.35 550.615 1534.16 550.53C1536.96 550.446 1539.4 551.355 1541.45 553.26C1543.44 555.102 1544.49 557.425 1544.62 560.231C1544.77 563.057 1543.92 565.497 1542.06 567.55C1540.76 568.906 1539.24 569.824 1537.49 570.305C1535.77 570.806 1534.02 570.872 1532.27 570.503C1530.55 570.132 1529.03 569.329 1527.7 568.095Z" fill="white"/>
|
||||||
|
<path d="M1564.9 602.574C1562.84 600.669 1561.75 598.315 1561.62 595.509C1561.5 592.704 1562.41 590.273 1564.35 588.217C1566.22 586.163 1568.55 585.095 1571.36 585.01C1574.16 584.925 1576.59 585.835 1578.65 587.739C1580.64 589.581 1581.69 591.904 1581.82 594.71C1581.97 597.536 1581.12 599.976 1579.26 602.029C1577.96 603.385 1576.43 604.304 1574.69 604.784C1572.96 605.285 1571.22 605.351 1569.47 604.982C1567.75 604.611 1566.23 603.809 1564.9 602.574Z" fill="white"/>
|
||||||
|
<path d="M1602.1 637.053C1600.04 635.149 1598.95 632.794 1598.82 629.989C1598.7 627.183 1599.61 624.752 1601.55 622.696C1603.41 620.643 1605.75 619.574 1608.56 619.489C1611.36 619.404 1613.79 620.314 1615.85 622.219C1617.84 624.06 1618.89 626.384 1619.02 629.189C1619.17 632.016 1618.32 634.455 1616.46 636.508C1615.16 637.865 1613.63 638.783 1611.89 639.263C1610.16 639.764 1608.42 639.83 1606.67 639.461C1604.95 639.091 1603.43 638.288 1602.1 637.053Z" fill="white"/>
|
||||||
|
<path d="M1639.3 671.533C1637.24 669.628 1636.15 667.273 1636.02 664.468C1635.9 661.663 1636.81 659.232 1638.75 657.175C1640.61 655.122 1642.95 654.053 1645.76 653.969C1648.56 653.884 1650.99 654.794 1653.05 656.698C1655.03 658.54 1656.09 660.863 1656.22 663.669C1656.37 666.495 1655.52 668.935 1653.66 670.988C1652.36 672.344 1650.83 673.262 1649.09 673.743C1647.36 674.244 1645.62 674.31 1643.87 673.941C1642.15 673.57 1640.63 672.767 1639.3 671.533Z" fill="white"/>
|
||||||
|
<path d="M1676.5 706.012C1674.44 704.108 1673.35 701.753 1673.22 698.947C1673.09 696.142 1674 693.711 1675.95 691.655C1677.81 689.602 1680.15 688.533 1682.95 688.448C1685.76 688.363 1688.19 689.273 1690.25 691.177C1692.23 693.019 1693.29 695.343 1693.42 698.148C1693.57 700.974 1692.72 703.414 1690.85 705.467C1689.56 706.824 1688.03 707.742 1686.29 708.222C1684.56 708.723 1682.82 708.789 1681.07 708.42C1679.35 708.05 1677.83 707.247 1676.5 706.012Z" fill="white"/>
|
||||||
|
<path d="M1422.36 532.517C1420.31 530.613 1419.21 528.258 1419.09 525.452C1418.96 522.647 1419.87 520.216 1421.82 518.16C1423.68 516.107 1426.01 515.038 1428.82 514.953C1431.63 514.868 1434.06 515.778 1436.11 517.683C1438.1 519.524 1439.16 521.848 1439.28 524.653C1439.43 527.479 1438.58 529.919 1436.72 531.972C1435.42 533.329 1433.9 534.247 1432.15 534.727C1430.43 535.228 1428.69 535.294 1426.93 534.925C1425.22 534.555 1423.69 533.752 1422.36 532.517Z" fill="white"/>
|
||||||
|
<path d="M1459.56 566.997C1457.51 565.092 1456.41 562.737 1456.29 559.932C1456.16 557.126 1457.07 554.695 1459.02 552.639C1460.88 550.586 1463.21 549.517 1466.02 549.432C1468.82 549.348 1471.26 550.257 1473.31 552.162C1475.3 554.004 1476.35 556.327 1476.48 559.132C1476.63 561.959 1475.78 564.399 1473.92 566.452C1472.62 567.808 1471.1 568.726 1469.35 569.207C1467.63 569.708 1465.89 569.774 1464.13 569.405C1462.42 569.034 1460.89 568.231 1459.56 566.997Z" fill="white"/>
|
||||||
|
<path d="M1496.76 601.476C1494.7 599.571 1493.61 597.217 1493.49 594.411C1493.36 591.606 1494.27 589.175 1496.21 587.118C1498.08 585.065 1500.41 583.997 1503.22 583.912C1506.02 583.827 1508.45 584.737 1510.51 586.641C1512.5 588.483 1513.55 590.806 1513.68 593.612C1513.83 596.438 1512.98 598.878 1511.12 600.931C1509.82 602.287 1508.29 603.206 1506.55 603.686C1504.82 604.187 1503.08 604.253 1501.33 603.884C1499.61 603.513 1498.09 602.711 1496.76 601.476Z" fill="white"/>
|
||||||
|
<path d="M1533.96 635.955C1531.9 634.051 1530.81 631.696 1530.68 628.891C1530.56 626.085 1531.47 623.654 1533.41 621.598C1535.28 619.545 1537.61 618.476 1540.42 618.391C1543.22 618.306 1545.65 619.216 1547.71 621.121C1549.7 622.962 1550.75 625.286 1550.88 628.091C1551.03 630.918 1550.18 633.357 1548.32 635.41C1547.02 636.767 1545.49 637.685 1543.75 638.165C1542.02 638.666 1540.28 638.732 1538.53 638.363C1536.81 637.993 1535.29 637.19 1533.96 635.955Z" fill="white"/>
|
||||||
|
<path d="M1571.16 670.435C1569.1 668.53 1568.01 666.175 1567.88 663.37C1567.76 660.565 1568.67 658.134 1570.61 656.077C1572.47 654.024 1574.81 652.955 1577.62 652.87C1580.42 652.786 1582.85 653.696 1584.91 655.6C1586.9 657.442 1587.95 659.765 1588.08 662.571C1588.23 665.397 1587.38 667.837 1585.52 669.89C1584.22 671.246 1582.69 672.164 1580.95 672.645C1579.22 673.146 1577.48 673.212 1575.73 672.843C1574.01 672.472 1572.49 671.669 1571.16 670.435Z" fill="white"/>
|
||||||
|
<path d="M1608.36 704.914C1606.3 703.01 1605.21 700.655 1605.08 697.849C1604.96 695.044 1605.87 692.613 1607.81 690.557C1609.67 688.504 1612.01 687.435 1614.82 687.35C1617.62 687.265 1620.05 688.175 1622.11 690.079C1624.09 691.921 1625.15 694.245 1625.28 697.05C1625.43 699.876 1624.58 702.316 1622.72 704.369C1621.42 705.726 1619.89 706.644 1618.15 707.124C1616.42 707.625 1614.68 707.691 1612.93 707.322C1611.21 706.952 1609.69 706.149 1608.36 704.914Z" fill="white"/>
|
||||||
|
<path d="M1645.56 739.393C1643.5 737.489 1642.41 735.134 1642.28 732.329C1642.15 729.523 1643.06 727.092 1645.01 725.036C1646.87 722.983 1649.21 721.914 1652.01 721.829C1654.82 721.744 1657.25 722.654 1659.31 724.559C1661.29 726.4 1662.35 728.724 1662.48 731.529C1662.63 734.356 1661.78 736.795 1659.91 738.848C1658.62 740.205 1657.09 741.123 1655.35 741.603C1653.62 742.105 1651.88 742.171 1650.13 741.802C1648.41 741.431 1646.89 740.628 1645.56 739.393Z" fill="white"/>
|
||||||
|
<path d="M1319.35 282.231L1382.54 367.303L1478.66 345.769L1319.35 282.231Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1600 142L1511 288L1600 247.973V142Z" fill="white"/>
|
||||||
|
<path d="M936 156L847 302L936 261.973V156Z" fill="white"/>
|
||||||
|
<path d="M292 717L203 863L292 822.973V717Z" fill="white"/>
|
||||||
|
<path d="M1705 1291.99V1364L1795 1240L1705 1291.99Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1319 377V325.318L1256 288L1319 377Z" fill="white"/>
|
||||||
|
<path d="M999 201V149.318L936 112L999 201Z" fill="white"/>
|
||||||
|
<path d="M1655.88 1417.42L1691.03 1386.16L1678.52 1321L1655.88 1417.42Z" fill="white"/>
|
||||||
|
<path d="M1389 275L1479 223.018L1389 183V275Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1738.95 1236.69L1830.16 1188.69L1752.11 1140L1738.95 1236.69Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M419 186L447 478L619 156L419 186Z" fill="#7799F1"/>
|
||||||
|
<path d="M397.721 371L316.72 581.829L437.186 528.97L397.721 371Z" fill="#4963BE"/>
|
||||||
|
<path d="M503.904 458L631.091 574L579.905 370L503.904 458Z" fill="white"/>
|
||||||
|
<path d="M1722.7 1407.92L1719.13 1448.15L1667.8 1472.88L1722.7 1407.92Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1048_45">
|
||||||
|
<rect width="2000" height="2000" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 55 KiB |
BIN
assets/images/light/ethereum.png
Normal file
After Width: | Height: | Size: 343 KiB |
174
assets/images/light/ethereum.svg
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<svg width="2000" height="2000" viewBox="0 0 2000 2000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_1048_45)">
|
||||||
|
<path d="M85.1779 1368.47C57.1779 1608.47 537.178 1652.47 589.178 1660.47H1441.18C1533.18 1660.47 1761.18 1560.47 1845.18 1432.47C1929.18 1304.47 1809.18 1092.47 1761.18 984.475C1713.18 876.474 1934.56 800.211 1873.18 512.475C1809.18 212.475 1529.18 152.475 1301.18 212.475C1150.27 252.189 1249.18 120.475 905.18 84.4745C561.18 48.4745 493.18 416.475 337.18 460.475C181.18 504.475 85.1779 760.475 177.18 984.475C269.182 1208.47 113.178 1128.47 85.1779 1368.47Z" fill="#BECDF9"/>
|
||||||
|
<ellipse cx="1022" cy="1680.5" rx="687" ry="52.5" fill="#2E3E79"/>
|
||||||
|
<path d="M1049.83 863.456L1049.81 863.385L1049.78 863.314C1046.97 854.72 1044.73 846.664 1043.01 839.098L1038.13 840.205C1033.69 820.63 1032.61 804.099 1034.03 789.869L1039 790.364C1040.83 771.98 1047 757.717 1055.45 745.676L1051.36 742.802C1061.27 728.691 1074.15 717.536 1086.98 706.788L1090.19 710.621C1091.14 709.824 1092.09 709.028 1093.05 708.229C1105.36 697.941 1117.97 687.408 1127.5 674.629L1123.5 671.64C1132.94 658.972 1139.2 644.055 1139.24 624.337L1144.24 624.348C1144.28 609.808 1141.1 593.053 1133.86 573.267L1129.17 574.986C1124.15 561.291 1117.11 545.984 1107.66 528.758L1112.04 526.354C1108.16 519.271 1103.87 511.877 1099.17 504.15C1094.83 497.012 1091.03 489.839 1087.74 482.65L1083.19 484.729C1075.96 468.927 1071.15 453.01 1068.5 437.178L1073.43 436.352C1070.7 420.076 1070.34 403.888 1072.06 388.011L1067.09 387.472C1068.88 370.94 1072.87 354.746 1078.77 339.135L1083.44 340.902C1089.13 325.862 1096.63 311.352 1105.7 297.606L1101.52 294.854C1110.57 281.127 1121.13 268.168 1132.94 256.197L1136.5 259.708C1147.85 248.193 1160.38 237.603 1173.85 228.144L1170.98 224.052C1184.51 214.55 1198.97 206.173 1214.11 199.121L1216.22 203.654C1230.98 196.781 1246.39 191.192 1262.23 187.078L1260.97 182.239C1277 178.074 1293.47 175.389 1310.14 174.375L1310.45 179.365C1326.57 178.384 1342.87 178.997 1359.15 181.378L1359.88 176.431C1376.02 178.793 1392.15 182.859 1408.07 188.798L1406.32 193.482C1421.1 199 1435.71 206.172 1449.96 215.145L1452.63 210.913C1466.15 219.422 1479.35 229.513 1492.09 241.3L1488.7 244.971C1500.16 255.57 1511.26 267.579 1521.9 281.093L1525.83 278.001C1535.61 290.419 1544.99 304.075 1553.89 319.033L1549.59 321.59C1553.73 328.555 1557.78 335.811 1561.71 343.364C1562.42 344.724 1563.06 346.177 1563.62 347.696L1568.31 345.948C1569.54 349.266 1570.44 352.791 1570.98 356.298L1566.04 357.062C1566.29 358.688 1566.46 360.305 1566.54 361.882C1567.04 371.372 1567.64 380.541 1568.34 389.401L1573.33 389.005C1574.85 408.15 1576.85 425.826 1579.29 442.154L1574.35 442.894C1577.29 462.587 1580.87 480.373 1585.03 496.453L1589.87 495.202C1594.88 514.585 1600.72 531.406 1607.25 546.044L1602.68 548.081C1611.12 566.993 1620.74 582.432 1631.3 595.127L1635.14 591.93C1647.7 607.027 1661.53 618.009 1676.15 626.296L1673.68 630.646C1690.17 639.996 1707.53 645.972 1724.97 650.513L1726.23 645.674C1738.52 648.876 1750.97 651.381 1763.32 653.868C1768.54 654.919 1773.74 655.967 1778.91 657.062L1777.87 661.954C1795.64 665.72 1812.69 669.994 1828.53 676.825L1830.51 672.234C1846.5 679.128 1861.39 688.595 1874.51 702.621L1870.85 706.035C1881.26 717.164 1890.58 731.377 1898.4 749.871L1903 747.924C1909.15 762.476 1914.36 779.524 1918.43 799.577L1913.53 800.574C1915.21 808.813 1916.69 817.58 1917.98 826.914C1919.12 835.245 1919.67 843.369 1919.65 851.287L1924.65 851.3C1924.6 868.594 1921.94 884.994 1916.94 900.482L1912.18 898.947C1907.25 914.223 1899.96 928.617 1890.59 942.115L1894.69 944.968C1885.46 958.253 1874.29 970.656 1861.43 982.163L1858.09 978.437C1846.35 988.951 1833.14 998.73 1818.66 1007.75L1821.3 1012C1807.65 1020.51 1792.92 1028.34 1777.28 1035.47L1775.2 1030.92C1760.6 1037.59 1745.19 1043.65 1729.1 1049.1L1730.7 1053.83C1715.26 1059.06 1699.21 1063.73 1682.69 1067.82L1681.49 1062.96C1665.71 1066.87 1649.49 1070.26 1632.93 1073.11L1633.78 1078.04C1617.53 1080.84 1600.97 1083.13 1584.2 1084.9L1583.67 1079.93C1567.31 1081.66 1550.75 1082.9 1534.08 1083.64L1534.3 1088.64C1517.71 1089.38 1501.01 1089.62 1484.31 1089.37L1484.38 1084.37C1467.8 1084.12 1451.21 1083.38 1434.71 1082.15L1434.33 1087.13C1417.64 1085.88 1401.03 1084.12 1384.61 1081.85L1385.29 1076.9C1368.76 1074.62 1352.41 1071.81 1336.36 1068.48L1335.34 1073.38C1318.8 1069.95 1302.56 1065.96 1286.72 1061.41L1288.1 1056.6C1271.95 1051.97 1256.24 1046.74 1241.08 1040.93L1239.29 1045.6C1223.44 1039.52 1208.17 1032.8 1193.62 1025.43L1195.88 1020.97C1180.81 1013.34 1166.55 1005.01 1153.21 995.985L1150.41 1000.13C1136.32 990.587 1123.24 980.265 1111.35 969.152L1114.76 965.498C1102.57 954.105 1091.66 941.887 1082.21 928.838L1078.16 931.77C1068.35 918.23 1060.07 903.791 1053.51 888.441L1058.11 886.476C1054.93 879.023 1052.16 871.35 1049.83 863.456Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<path d="M203.275 733.389L203.327 733.336L203.378 733.281C209.007 727.19 214.504 721.647 219.875 716.612L216.455 712.964C229.7 700.546 242.263 691.095 254.253 684.057L256.784 688.369C271.893 679.5 285.94 674.657 299.181 672.558L298.398 667.62C315.026 664.983 330.606 666.449 345.548 669.924L344.415 674.794C359.055 678.199 373.108 683.594 387.31 689.046L388.797 689.617L390.588 684.949C405.752 690.767 420.67 696.392 435.857 699.199L434.948 704.115C450.757 707.037 467.085 707.062 484.284 701.296L482.695 696.555C495.566 692.24 508.93 684.506 523.041 672.046L526.351 675.794C536.846 666.527 547.66 654.793 558.901 640.141L554.933 637.098C563.547 625.87 572.456 612.851 581.704 597.809L585.964 600.428C589.996 593.869 594.089 586.935 598.247 579.607C602.555 572.014 607.137 564.844 611.97 558.086L607.902 555.178C618.388 540.512 630.047 527.716 642.644 516.702L645.935 520.466C658.945 509.091 672.977 499.664 687.768 492.076L685.486 487.627C700.963 479.688 717.248 473.719 734.048 469.605L735.237 474.461C751.592 470.457 768.465 468.245 785.577 467.726L785.425 462.728C802.557 462.208 819.901 463.354 837.182 466.059L836.408 470.998C853.065 473.606 869.675 477.689 885.981 483.154L887.57 478.413C903.871 483.876 919.863 490.694 935.3 498.774L932.981 503.204C948.024 511.078 962.531 520.167 976.265 530.38L979.249 526.367C993.105 536.67 1006.19 548.101 1018.27 560.569L1014.68 564.048C1026.49 576.247 1037.32 589.449 1046.95 603.565L1051.08 600.748C1060.77 614.965 1069.27 630.1 1076.34 646.069L1071.76 648.093C1078.55 663.426 1084 679.538 1087.91 696.351L1092.78 695.218C1096.61 711.686 1098.99 728.817 1099.74 746.539L1094.74 746.748C1095.43 763.222 1094.69 780.227 1092.34 797.709L1097.3 798.374C1095.09 814.864 1091.48 831.759 1086.35 849.01L1081.56 847.584C1076.88 863.3 1070.92 879.332 1063.57 895.644L1068.13 897.699C1061.34 912.759 1053.39 928.039 1044.2 943.513L1039.9 940.959C1035.56 948.269 1030.93 955.624 1026.02 963.024C1025.17 964.305 1024.21 965.573 1023.15 966.811L1026.95 970.06C1024.64 972.756 1021.99 975.258 1019.19 977.439L1016.12 973.492C1014.82 974.505 1013.48 975.437 1012.15 976.273C1005.07 980.698 998.208 985.081 991.561 989.424L994.296 993.61C980.363 1002.71 967.376 1011.63 955.278 1020.38L952.348 1016.33C938.69 1026.2 926.146 1035.87 914.638 1045.34L917.815 1049.2C904.833 1059.88 893.195 1070.3 882.784 1080.47L879.289 1076.89C866.803 1089.1 856.035 1100.98 846.795 1112.58L850.706 1115.69C839.955 1129.19 831.341 1142.25 824.539 1154.94L820.132 1152.58C811.823 1168.09 806.13 1183.09 802.515 1197.7L807.369 1198.9C803.376 1215.03 802.008 1230.6 802.451 1245.74L797.453 1245.89C797.934 1262.35 800.496 1278.25 804.108 1293.73L808.977 1292.59C812.577 1308.02 817.263 1323.14 822.035 1338.12L817.271 1339.64C817.857 1341.48 818.444 1343.31 819.029 1345.14C823.292 1358.48 827.479 1371.58 830.935 1384.71L835.77 1383.44C839.83 1398.87 842.892 1414.33 843.843 1430.04L838.852 1430.34C839.754 1445.23 838.698 1460.27 834.709 1475.67L839.549 1476.93C835.906 1491 829.896 1505.38 820.812 1520.21L816.548 1517.59C809.315 1529.4 800.04 1541.55 788.309 1554.12L791.965 1557.53C782.169 1568.03 770.725 1578.77 757.419 1589.79L754.23 1585.94C748.363 1590.8 742.125 1595.72 735.494 1600.7C728.818 1605.72 722.048 1610.21 715.194 1614.21L717.71 1618.53C702.98 1627.11 687.837 1633.44 672.387 1637.7L671.058 1632.88C655.505 1637.17 639.618 1639.29 623.5 1639.42L623.541 1644.42C607.371 1644.56 590.996 1642.73 574.523 1639.13L575.592 1634.25C560.261 1630.89 544.807 1625.95 529.322 1619.56L527.414 1624.18C512.616 1618.07 497.822 1610.67 483.11 1602.1L485.627 1597.78C471.969 1589.82 458.365 1580.82 444.88 1570.9L441.915 1574.92C428.946 1565.37 416.099 1554.98 403.431 1543.83L406.735 1540.07C394.682 1529.46 382.785 1518.15 371.093 1506.22L367.522 1509.72C356.146 1498.11 344.97 1485.92 334.037 1473.22L337.826 1469.96C327.254 1457.68 316.908 1444.91 306.827 1431.73L302.856 1434.77C292.93 1421.79 283.263 1408.41 273.894 1394.69L278.023 1391.87C268.826 1378.4 259.915 1364.6 251.328 1350.53L247.06 1353.13C238.493 1339.09 230.247 1324.78 222.358 1310.26L226.752 1307.87C218.918 1293.45 211.438 1278.82 204.347 1264.03L199.839 1266.19C192.686 1251.28 185.926 1236.2 179.597 1221.03L184.212 1219.11C177.859 1203.88 171.943 1188.55 166.499 1173.18L161.786 1174.85C156.232 1159.17 151.165 1143.45 146.626 1127.74L151.43 1126.35C146.828 1110.43 142.773 1094.52 139.305 1078.71L134.421 1079.78C130.839 1063.45 127.876 1047.21 125.578 1031.12L130.528 1030.41C128.178 1013.96 126.529 997.692 125.627 981.673L120.635 981.954C119.691 965.189 119.558 948.685 120.287 932.528L125.282 932.754C126.034 916.11 127.711 899.859 130.371 884.092L125.44 883.26C128.232 866.708 132.094 850.663 137.094 835.232L141.851 836.773C146.906 821.174 153.136 806.234 160.608 792.062L156.185 789.73C163.875 775.146 172.864 761.342 183.229 748.438L187.128 751.57C192.174 745.287 197.554 739.222 203.275 733.389Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<circle cx="1000" cy="1000" r="700" fill="#5670D8"/>
|
||||||
|
<path d="M1000 1605C1334.13 1605 1605 1334.13 1605 1000C1605 665.868 1334.13 395 1000 395C665.868 395 395 665.868 395 1000C395 1334.13 665.868 1605 1000 1605Z" fill="#627EEA" stroke="#A2B6FB" stroke-width="10"/>
|
||||||
|
<path d="M1018.7 549.918V882.559L1299.84 1008.2L1018.7 549.918Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 549.918L737.562 1008.2L1018.7 882.559V549.918Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1223.73V1449.75L1300 1060.52L1018.7 1223.73Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 1449.75V1223.73L737.562 1060.52L1018.7 1449.75Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1171.41L1299.84 1008.2L1018.7 882.559V1171.41Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M737.562 1008.2L1018.7 1171.41V882.559L737.562 1008.2Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<g style="mix-blend-mode:multiply" opacity="0.3">
|
||||||
|
<path d="M1569 1414C1463 1622 1182 1700 1005 1700C504.5 1707.5 108.001 1160 397 646C415.999 672 500.002 1204 821.001 1386C1192 1582 1569 1414 1569 1414Z" fill="#3C4F9A"/>
|
||||||
|
</g>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<mask id="path-33-inside-1_1048_45" fill="white">
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z"/>
|
||||||
|
</mask>
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z" fill="#454545"/>
|
||||||
|
<path d="M1346.5 1100L1330.25 1074.78L1350.22 1129.77L1346.5 1100ZM1391.5 1088L1388.19 1117.82L1391.5 1088ZM1418.5 1096.5L1448.32 1093.19L1447.41 1085.05L1442.5 1078.5L1418.5 1096.5ZM1420 1110L1409.11 1137.95L1455.29 1155.95L1449.82 1106.69L1420 1110ZM1362.75 1125.22C1364.35 1124.19 1368.78 1121.79 1374.42 1119.94C1380.18 1118.05 1384.99 1117.46 1388.19 1117.82L1394.81 1058.18C1380.01 1056.54 1366.07 1059.53 1355.71 1062.93C1345.22 1066.38 1336.15 1070.98 1330.25 1074.78L1362.75 1125.22ZM1388.19 1117.82C1395.29 1118.61 1399.13 1119.77 1400.61 1120.32C1401.36 1120.61 1401.22 1120.63 1400.48 1120.17C1400.1 1119.94 1399.39 1119.48 1398.49 1118.73C1397.7 1118.08 1396.14 1116.69 1394.5 1114.5L1442.5 1078.5C1438.86 1073.65 1434.48 1070.64 1431.88 1069.05C1428.75 1067.12 1425.33 1065.52 1421.77 1064.18C1414.62 1061.48 1405.71 1059.39 1394.81 1058.18L1388.19 1117.82ZM1388.68 1099.81L1390.18 1113.31L1449.82 1106.69L1448.32 1093.19L1388.68 1099.81ZM1430.89 1082.05C1423.37 1079.12 1413.62 1075.93 1404.56 1073.44C1396.71 1071.29 1385.35 1068.5 1376.5 1068.5V1128.5C1375.61 1128.5 1376.26 1128.43 1379.25 1129.02C1381.81 1129.53 1385.05 1130.31 1388.69 1131.31C1396.04 1133.32 1403.79 1135.88 1409.11 1137.95L1430.89 1082.05ZM1376.5 1068.5C1368.12 1068.5 1349.8 1069.35 1342.78 1070.23L1350.22 1129.77C1353.87 1129.31 1369.5 1128.5 1376.5 1128.5V1068.5Z" fill="white" mask="url(#path-33-inside-1_1048_45)"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<mask id="path-36-inside-2_1048_45" fill="white">
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)"/>
|
||||||
|
</mask>
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)" stroke="white" stroke-width="45" mask="url(#path-36-inside-2_1048_45)"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1391.87 1279.66L1390.85 1275.02L1393.28 1277.68L1391.87 1279.66Z" fill="#7D8BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1441.85 1559.26C1442.43 1559.72 1442.93 1560.21 1443.36 1560.69C1442.65 1560.5 1441.96 1560.32 1441.3 1560.16L1441.85 1559.26M1441.85 1559.26V1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1441.85 1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26C1441.53 1559.01 1441.19 1558.76 1440.82 1558.53L1440.28 1559.93C1440.57 1559.99 1440.86 1560.05 1441.16 1560.13L1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1416.99 1557.18L1418.71 1557.64L1416.99 1557.18C1416.83 1557.8 1416.68 1558.44 1416.54 1559.09C1415.97 1559.53 1415.41 1560.01 1414.87 1560.54C1411.74 1563.62 1410.08 1567.36 1409.33 1570.86C1408.78 1573.46 1408.67 1575.95 1408.93 1578.31C1407.42 1580.76 1406.34 1583.73 1406.05 1587.25C1405.84 1589.82 1406 1592.21 1406.44 1594.4C1405.55 1596.4 1404.95 1598.71 1404.9 1601.32C1404.8 1606.38 1406.8 1610.48 1408.87 1613.32C1411.76 1617.31 1415.98 1619.38 1417.61 1620.17C1419.99 1621.32 1422.68 1622.32 1425.29 1623.18C1430.57 1624.9 1436.87 1626.43 1442.86 1627.56C1448.74 1628.66 1455.06 1629.5 1460.22 1629.55C1462.55 1629.58 1466.05 1629.48 1469.41 1628.44C1471.04 1627.94 1474.2 1626.76 1476.98 1623.89C1476.98 1623.89 1476.98 1623.88 1476.99 1623.88C1477.44 1623.82 1477.9 1623.75 1478.36 1623.66C1481.19 1623.11 1486.74 1621.25 1490.08 1615.81C1492.27 1614.98 1494.54 1613.67 1496.61 1611.61C1498.01 1610.2 1499.65 1608.26 1501.03 1605.89C1504.37 1604.31 1508.15 1601.39 1510.29 1596.41C1510.3 1596.38 1510.31 1596.35 1510.33 1596.31C1511.05 1594.62 1512.92 1590.27 1512.67 1585.26C1512.51 1582.2 1511.6 1578.83 1509.42 1575.72C1507.32 1572.73 1504.66 1570.84 1502.34 1569.65C1491.85 1564.28 1475.85 1556.63 1462.01 1551.24C1455.22 1548.59 1448.2 1546.19 1442.36 1545.04C1439.63 1544.5 1435.82 1543.95 1431.97 1544.47C1428.35 1544.96 1419.57 1547.4 1416.99 1557.18ZM1451.7 1614.97C1451.64 1614.57 1451.59 1614.18 1451.56 1613.79C1453.02 1613.99 1454.43 1614.16 1455.76 1614.29C1455.79 1614.29 1455.81 1614.29 1455.84 1614.3L1454.43 1619.14C1453.94 1618.81 1453.42 1618.35 1452.93 1617.72C1452.26 1616.83 1451.85 1615.84 1451.7 1614.97ZM1490.49 1578.08C1490.49 1578.08 1490.46 1578.08 1490.41 1578.08C1490.46 1578.08 1490.49 1578.08 1490.49 1578.08Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1409.5 1173C1402.7 1173.8 1407.67 1179.33 1411 1182C1414.17 1182.67 1421.8 1184.1 1427 1184.5C1433.5 1185 1447.5 1184.5 1447.5 1180C1447.5 1176.8 1418 1172 1409.5 1173Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1376.5 1097.5C1370.34 1097.5 1358.25 1098.03 1350.88 1098.59C1354.64 1096.56 1359.67 1094.26 1365.37 1092.39C1373.36 1089.77 1382.58 1088.02 1391.39 1088.99C1400.33 1089.99 1406.62 1091.6 1410.83 1093.19C1412.94 1093.98 1414.53 1094.77 1415.66 1095.46C1416.62 1096.05 1417.21 1096.55 1417.54 1096.91L1418.82 1108.48C1412.55 1106.11 1404.49 1103.49 1396.89 1101.41C1388.69 1099.16 1380.9 1097.5 1376.5 1097.5Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<rect x="1343.94" y="1098.11" width="77.4768" height="43" rx="14" transform="rotate(6.45837 1343.94 1098.11)" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1380.48 1293.04L1379.91 1290.47L1375.48 1270.29L1373.52 1270.71L1378.44 1293.09L1363.6 1319.51L1364.99 1261.41L1381.49 1243.97L1411.22 1276.58L1384.99 1313.58L1380.48 1293.04Z" fill="#7D8BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1489.83 1594.41C1489.79 1594.29 1489.74 1594.18 1489.68 1594.08C1490.09 1594.09 1490.49 1594.09 1490.88 1594.08C1492.29 1594.03 1493.64 1593.83 1494.77 1593.36C1495.93 1592.88 1496.9 1592.1 1497.42 1590.89C1498.17 1589.15 1498.76 1587.47 1498.69 1585.96C1498.65 1585.18 1498.42 1584.43 1497.95 1583.75C1497.48 1583.09 1496.81 1582.55 1495.95 1582.11C1485.69 1576.85 1470.16 1569.44 1456.92 1564.28C1450.32 1561.71 1444.24 1559.68 1439.65 1558.77C1437.37 1558.32 1435.38 1558.13 1433.85 1558.34C1432.33 1558.55 1430.94 1559.21 1430.53 1560.75C1429.52 1564.59 1429.59 1567.35 1430.22 1569.24C1429.3 1569.07 1428.34 1569.01 1427.42 1569.17C1426.43 1569.34 1425.47 1569.76 1424.68 1570.54C1423.89 1571.31 1423.32 1572.39 1423.02 1573.79C1422.35 1576.91 1423.24 1579.31 1424.66 1580.99C1425.08 1581.49 1425.54 1581.93 1426.02 1582.3C1425.34 1582.46 1424.65 1582.68 1423.98 1582.98C1422.01 1583.88 1420.24 1585.56 1420 1588.42C1419.67 1592.36 1421.37 1595.32 1422.96 1597.04C1421.92 1597.43 1420.85 1598.02 1420.07 1598.85C1419.4 1599.56 1418.92 1600.48 1418.9 1601.6C1418.88 1602.71 1419.31 1603.87 1420.19 1605.09C1420.85 1606 1422.16 1606.82 1423.71 1607.57C1425.31 1608.34 1427.34 1609.12 1429.63 1609.86C1434.21 1611.36 1439.91 1612.76 1445.44 1613.8C1450.97 1614.83 1456.37 1615.51 1460.36 1615.55C1462.34 1615.57 1464.06 1615.44 1465.29 1615.06C1465.9 1614.87 1466.49 1614.59 1466.92 1614.15C1467.39 1613.67 1467.6 1613.04 1467.49 1612.34C1467.24 1610.89 1466.75 1609.67 1466.11 1608.67C1467.93 1609.19 1469.8 1609.64 1471.49 1609.88C1473.01 1610.09 1474.48 1610.15 1475.67 1609.92C1476.86 1609.69 1478.02 1609.1 1478.45 1607.82C1479.16 1605.67 1479.27 1603.9 1479.08 1602.59C1479.88 1602.8 1480.77 1602.98 1481.66 1603.06C1483.36 1603.21 1485.38 1603.04 1486.71 1601.71C1488.03 1600.39 1489.27 1598.63 1489.77 1596.98C1490.02 1596.15 1490.12 1595.24 1489.83 1594.41Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545"/>
|
||||||
|
<path d="M1631.79 1492.83L1625.62 1517.38L1640.42 1530.96L1631.79 1492.83Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1631.79 1492.83L1606.16 1522.35L1625.62 1517.38L1631.79 1492.83Z" fill="white"/>
|
||||||
|
<path d="M1619.29 1542.56L1615.1 1559.24L1639.46 1534.82L1619.29 1542.56Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1615.1 1559.25L1619.29 1542.56L1605.19 1526.21L1615.1 1559.25Z" fill="white"/>
|
||||||
|
<path d="M1620.26 1538.7L1640.42 1530.96L1625.62 1517.38L1620.26 1538.7Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1606.16 1522.35L1620.26 1538.7L1625.62 1517.38L1606.16 1522.35Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1577.06 365.61C1575.01 363.706 1573.92 361.351 1573.79 358.546C1573.66 355.74 1574.57 353.309 1576.52 351.253C1578.38 349.2 1580.71 348.131 1583.52 348.046C1586.33 347.961 1588.76 348.871 1590.81 350.776C1592.8 352.617 1593.86 354.941 1593.99 357.746C1594.14 360.573 1593.28 363.012 1591.42 365.065C1590.12 366.422 1588.6 367.34 1586.85 367.82C1585.13 368.321 1583.39 368.388 1581.63 368.019C1579.92 367.648 1578.39 366.845 1577.06 365.61Z" fill="white"/>
|
||||||
|
<path d="M1614.26 400.09C1612.21 398.185 1611.12 395.83 1610.99 393.025C1610.86 390.22 1611.77 387.789 1613.72 385.732C1615.58 383.679 1617.91 382.61 1620.72 382.526C1623.53 382.441 1625.96 383.351 1628.01 385.255C1630 387.097 1631.06 389.42 1631.18 392.226C1631.34 395.052 1630.48 397.492 1628.62 399.545C1627.32 400.901 1625.8 401.82 1624.05 402.3C1622.33 402.801 1620.59 402.867 1618.83 402.498C1617.12 402.127 1615.59 401.325 1614.26 400.09Z" fill="white"/>
|
||||||
|
<path d="M1651.46 434.569C1649.41 432.665 1648.32 430.31 1648.19 427.504C1648.06 424.699 1648.97 422.268 1650.92 420.212C1652.78 418.159 1655.11 417.09 1657.92 417.005C1660.73 416.92 1663.16 417.83 1665.21 419.735C1667.2 421.576 1668.26 423.9 1668.38 426.705C1668.53 429.531 1667.68 431.971 1665.82 434.024C1664.52 435.381 1663 436.299 1661.25 436.779C1659.53 437.28 1657.79 437.346 1656.03 436.977C1654.32 436.607 1652.79 435.804 1651.46 434.569Z" fill="white"/>
|
||||||
|
<path d="M1688.66 469.049C1686.61 467.144 1685.51 464.789 1685.39 461.984C1685.26 459.178 1686.17 456.747 1688.12 454.691C1689.98 452.638 1692.31 451.569 1695.12 451.484C1697.92 451.4 1700.36 452.309 1702.41 454.214C1704.4 456.056 1705.46 458.379 1705.58 461.184C1705.73 464.011 1704.88 466.451 1703.02 468.504C1701.72 469.86 1700.2 470.778 1698.45 471.258C1696.73 471.76 1694.99 471.826 1693.23 471.457C1691.52 471.086 1689.99 470.283 1688.66 469.049Z" fill="white"/>
|
||||||
|
<path d="M1725.86 503.528C1723.81 501.623 1722.71 499.269 1722.59 496.463C1722.46 493.658 1723.37 491.227 1725.32 489.17C1727.18 487.117 1729.51 486.048 1732.32 485.964C1735.12 485.879 1737.56 486.789 1739.61 488.693C1741.6 490.535 1742.65 492.858 1742.78 495.664C1742.93 498.49 1742.08 500.93 1740.22 502.983C1738.92 504.339 1737.4 505.258 1735.65 505.738C1733.93 506.239 1732.19 506.305 1730.43 505.936C1728.71 505.565 1727.19 504.763 1725.86 503.528Z" fill="white"/>
|
||||||
|
<path d="M1763.06 538.007C1761 536.103 1759.91 533.748 1759.79 530.943C1759.66 528.137 1760.57 525.706 1762.51 523.65C1764.38 521.597 1766.71 520.528 1769.52 520.443C1772.32 520.358 1774.75 521.268 1776.81 523.173C1778.8 525.014 1779.85 527.338 1779.98 530.143C1780.13 532.97 1779.28 535.409 1777.42 537.462C1776.12 538.819 1774.59 539.737 1772.85 540.217C1771.12 540.718 1769.38 540.784 1767.63 540.415C1765.91 540.045 1764.39 539.242 1763.06 538.007Z" fill="white"/>
|
||||||
|
<path d="M1800.26 572.487C1798.2 570.582 1797.11 568.227 1796.98 565.422C1796.86 562.617 1797.77 560.186 1799.71 558.129C1801.58 556.076 1803.91 555.007 1806.72 554.922C1809.52 554.838 1811.95 555.748 1814.01 557.652C1816 559.494 1817.05 561.817 1817.18 564.623C1817.33 567.449 1816.48 569.889 1814.62 571.942C1813.32 573.298 1811.79 574.216 1810.05 574.697C1808.32 575.198 1806.58 575.264 1804.83 574.895C1803.11 574.524 1801.59 573.721 1800.26 572.487Z" fill="white"/>
|
||||||
|
<path d="M1546.12 398.992C1544.07 397.087 1542.98 394.732 1542.85 391.927C1542.72 389.122 1543.63 386.691 1545.58 384.634C1547.44 382.581 1549.77 381.512 1552.58 381.428C1555.39 381.343 1557.82 382.253 1559.87 384.157C1561.86 385.999 1562.92 388.322 1563.04 391.128C1563.2 393.954 1562.34 396.394 1560.48 398.447C1559.18 399.803 1557.66 400.722 1555.91 401.202C1554.19 401.703 1552.45 401.769 1550.69 401.4C1548.98 401.029 1547.45 400.226 1546.12 398.992Z" fill="white"/>
|
||||||
|
<path d="M1583.32 433.471C1581.27 431.567 1580.18 429.212 1580.05 426.406C1579.92 423.601 1580.83 421.17 1582.78 419.114C1584.64 417.061 1586.97 415.992 1589.78 415.907C1592.59 415.822 1595.02 416.732 1597.07 418.636C1599.06 420.478 1600.12 422.802 1600.24 425.607C1600.39 428.433 1599.54 430.873 1597.68 432.926C1596.38 434.283 1594.86 435.201 1593.11 435.681C1591.39 436.182 1589.65 436.248 1587.89 435.879C1586.18 435.509 1584.65 434.706 1583.32 433.471Z" fill="white"/>
|
||||||
|
<path d="M1620.52 467.951C1618.47 466.046 1617.37 463.691 1617.25 460.886C1617.12 458.08 1618.03 455.649 1619.98 453.593C1621.84 451.54 1624.17 450.471 1626.98 450.386C1629.79 450.302 1632.22 451.211 1634.27 453.116C1636.26 454.958 1637.32 457.281 1637.44 460.086C1637.59 462.913 1636.74 465.352 1634.88 467.406C1633.58 468.762 1632.06 469.68 1630.31 470.16C1628.59 470.662 1626.85 470.728 1625.09 470.359C1623.38 469.988 1621.85 469.185 1620.52 467.951Z" fill="white"/>
|
||||||
|
<path d="M1657.72 502.43C1655.67 500.525 1654.57 498.171 1654.45 495.365C1654.32 492.56 1655.23 490.129 1657.18 488.072C1659.04 486.019 1661.37 484.95 1664.18 484.866C1666.98 484.781 1669.42 485.691 1671.47 487.595C1673.46 489.437 1674.51 491.76 1674.64 494.566C1674.79 497.392 1673.94 499.832 1672.08 501.885C1670.78 503.241 1669.26 504.16 1667.51 504.64C1665.79 505.141 1664.05 505.207 1662.29 504.838C1660.58 504.467 1659.05 503.665 1657.72 502.43Z" fill="white"/>
|
||||||
|
<path d="M1694.92 536.909C1692.87 535.005 1691.77 532.65 1691.65 529.844C1691.52 527.039 1692.43 524.608 1694.37 522.552C1696.24 520.499 1698.57 519.43 1701.38 519.345C1704.18 519.26 1706.61 520.17 1708.67 522.075C1710.66 523.916 1711.71 526.24 1711.84 529.045C1711.99 531.872 1711.14 534.311 1709.28 536.364C1707.98 537.721 1706.46 538.639 1704.71 539.119C1702.98 539.62 1701.24 539.686 1699.49 539.317C1697.77 538.947 1696.25 538.144 1694.92 536.909Z" fill="white"/>
|
||||||
|
<path d="M1732.12 571.389C1730.06 569.484 1728.97 567.129 1728.84 564.324C1728.72 561.518 1729.63 559.088 1731.57 557.031C1733.44 554.978 1735.77 553.909 1738.58 553.824C1741.38 553.74 1743.81 554.65 1745.87 556.554C1747.86 558.396 1748.91 560.719 1749.04 563.525C1749.19 566.351 1748.34 568.791 1746.48 570.844C1745.18 572.2 1743.65 573.118 1741.91 573.599C1740.18 574.1 1738.44 574.166 1736.69 573.797C1734.97 573.426 1733.45 572.623 1732.12 571.389Z" fill="white"/>
|
||||||
|
<path d="M1769.32 605.868C1767.26 603.964 1766.17 601.609 1766.04 598.803C1765.92 595.998 1766.83 593.567 1768.77 591.511C1770.63 589.458 1772.97 588.389 1775.78 588.304C1778.58 588.219 1781.01 589.129 1783.07 591.033C1785.06 592.875 1786.11 595.199 1786.24 598.004C1786.39 600.83 1785.54 603.27 1783.68 605.323C1782.38 606.679 1780.85 607.598 1779.11 608.078C1777.38 608.579 1775.64 608.645 1773.89 608.276C1772.17 607.906 1770.65 607.103 1769.32 605.868Z" fill="white"/>
|
||||||
|
<path d="M1515.18 432.373C1513.13 430.469 1512.04 428.114 1511.91 425.308C1511.78 422.503 1512.69 420.072 1514.64 418.016C1516.5 415.963 1518.83 414.894 1521.64 414.809C1524.45 414.724 1526.88 415.634 1528.93 417.538C1530.92 419.38 1531.98 421.704 1532.1 424.509C1532.26 427.335 1531.4 429.775 1529.54 431.828C1528.24 433.185 1526.72 434.103 1524.97 434.583C1523.25 435.084 1521.51 435.15 1519.75 434.781C1518.04 434.411 1516.51 433.608 1515.18 432.373Z" fill="white"/>
|
||||||
|
<path d="M1552.38 466.852C1550.33 464.948 1549.24 462.593 1549.11 459.788C1548.98 456.982 1549.89 454.551 1551.84 452.495C1553.7 450.442 1556.03 449.373 1558.84 449.288C1561.65 449.204 1564.08 450.113 1566.13 452.018C1568.12 453.859 1569.18 456.183 1569.3 458.988C1569.45 461.815 1568.6 464.254 1566.74 466.308C1565.44 467.664 1563.92 468.582 1562.17 469.062C1560.45 469.564 1558.71 469.63 1556.95 469.261C1555.24 468.89 1553.71 468.087 1552.38 466.852Z" fill="white"/>
|
||||||
|
<path d="M1589.58 501.332C1587.53 499.427 1586.43 497.072 1586.31 494.267C1586.18 491.462 1587.09 489.031 1589.04 486.974C1590.9 484.921 1593.23 483.852 1596.04 483.768C1598.84 483.683 1601.28 484.593 1603.33 486.497C1605.32 488.339 1606.37 490.662 1606.5 493.468C1606.65 496.294 1605.8 498.734 1603.94 500.787C1602.64 502.143 1601.12 503.062 1599.37 503.542C1597.65 504.043 1595.91 504.109 1594.15 503.74C1592.44 503.369 1590.91 502.567 1589.58 501.332Z" fill="white"/>
|
||||||
|
<path d="M1626.78 535.811C1624.73 533.907 1623.63 531.552 1623.51 528.746C1623.38 525.941 1624.29 523.51 1626.24 521.454C1628.1 519.401 1630.43 518.332 1633.24 518.247C1636.04 518.162 1638.48 519.072 1640.53 520.977C1642.52 522.818 1643.57 525.142 1643.7 527.947C1643.85 530.774 1643 533.213 1641.14 535.266C1639.84 536.623 1638.32 537.541 1636.57 538.021C1634.85 538.522 1633.1 538.588 1631.35 538.219C1629.63 537.849 1628.11 537.046 1626.78 535.811Z" fill="white"/>
|
||||||
|
<path d="M1663.98 570.291C1661.92 568.386 1660.83 566.031 1660.71 563.226C1660.58 560.42 1661.49 557.99 1663.43 555.933C1665.3 553.88 1667.63 552.811 1670.44 552.726C1673.24 552.642 1675.67 553.552 1677.73 555.456C1679.72 557.298 1680.77 559.621 1680.9 562.427C1681.05 565.253 1680.2 567.693 1678.34 569.746C1677.04 571.102 1675.51 572.02 1673.77 572.501C1672.04 573.002 1670.3 573.068 1668.55 572.699C1666.83 572.328 1665.31 571.525 1663.98 570.291Z" fill="white"/>
|
||||||
|
<path d="M1701.18 604.77C1699.12 602.866 1698.03 600.511 1697.9 597.705C1697.78 594.9 1698.69 592.469 1700.63 590.413C1702.5 588.359 1704.83 587.291 1707.64 587.206C1710.44 587.121 1712.87 588.031 1714.93 589.935C1716.92 591.777 1717.97 594.101 1718.1 596.906C1718.25 599.732 1717.4 602.172 1715.54 604.225C1714.24 605.581 1712.71 606.5 1710.97 606.98C1709.24 607.481 1707.5 607.547 1705.75 607.178C1704.03 606.807 1702.51 606.005 1701.18 604.77Z" fill="white"/>
|
||||||
|
<path d="M1738.38 639.249C1736.32 637.345 1735.23 634.99 1735.1 632.185C1734.98 629.379 1735.89 626.948 1737.83 624.892C1739.69 622.839 1742.03 621.77 1744.84 621.685C1747.64 621.6 1750.07 622.51 1752.13 624.415C1754.12 626.256 1755.17 628.58 1755.3 631.385C1755.45 634.212 1754.6 636.651 1752.74 638.704C1751.44 640.061 1749.91 640.979 1748.17 641.459C1746.44 641.96 1744.7 642.027 1742.95 641.658C1741.23 641.287 1739.71 640.484 1738.38 639.249Z" fill="white"/>
|
||||||
|
<path d="M1484.24 465.754C1482.19 463.85 1481.1 461.495 1480.97 458.69C1480.84 455.884 1481.75 453.453 1483.7 451.397C1485.56 449.344 1487.89 448.275 1490.7 448.19C1493.51 448.106 1495.94 449.015 1497.99 450.92C1499.98 452.761 1501.04 455.085 1501.16 457.89C1501.31 460.717 1500.46 463.156 1498.6 465.209C1497.3 466.566 1495.78 467.484 1494.03 467.964C1492.31 468.466 1490.57 468.532 1488.81 468.163C1487.1 467.792 1485.57 466.989 1484.24 465.754Z" fill="white"/>
|
||||||
|
<path d="M1521.44 500.234C1519.39 498.329 1518.29 495.974 1518.17 493.169C1518.04 490.364 1518.95 487.933 1520.9 485.876C1522.76 483.823 1525.09 482.754 1527.9 482.67C1530.71 482.585 1533.14 483.495 1535.19 485.399C1537.18 487.241 1538.24 489.564 1538.36 492.37C1538.51 495.196 1537.66 497.636 1535.8 499.689C1534.5 501.045 1532.98 501.964 1531.23 502.444C1529.51 502.945 1527.77 503.011 1526.01 502.642C1524.3 502.271 1522.77 501.469 1521.44 500.234Z" fill="white"/>
|
||||||
|
<path d="M1558.64 534.713C1556.59 532.809 1555.49 530.454 1555.37 527.648C1555.24 524.843 1556.15 522.412 1558.1 520.356C1559.96 518.303 1562.29 517.234 1565.1 517.149C1567.9 517.064 1570.34 517.974 1572.39 519.879C1574.38 521.72 1575.43 524.044 1575.56 526.849C1575.71 529.675 1574.86 532.115 1573 534.168C1571.7 535.525 1570.18 536.443 1568.43 536.923C1566.71 537.424 1564.97 537.49 1563.21 537.121C1561.5 536.751 1559.97 535.948 1558.64 534.713Z" fill="white"/>
|
||||||
|
<path d="M1595.84 569.193C1593.78 567.288 1592.69 564.933 1592.57 562.128C1592.44 559.322 1593.35 556.892 1595.29 554.835C1597.16 552.782 1599.49 551.713 1602.3 551.628C1605.1 551.544 1607.53 552.453 1609.59 554.358C1611.58 556.2 1612.63 558.523 1612.76 561.329C1612.91 564.155 1612.06 566.595 1610.2 568.648C1608.9 570.004 1607.38 570.922 1605.63 571.403C1603.9 571.904 1602.16 571.97 1600.41 571.601C1598.69 571.23 1597.17 570.427 1595.84 569.193Z" fill="white"/>
|
||||||
|
<path d="M1633.04 603.672C1630.98 601.768 1629.89 599.413 1629.76 596.607C1629.64 593.802 1630.55 591.371 1632.49 589.315C1634.36 587.261 1636.69 586.193 1639.5 586.108C1642.3 586.023 1644.73 586.933 1646.79 588.837C1648.78 590.679 1649.83 593.003 1649.96 595.808C1650.11 598.634 1649.26 601.074 1647.4 603.127C1646.1 604.483 1644.57 605.402 1642.83 605.882C1641.1 606.383 1639.36 606.449 1637.61 606.08C1635.89 605.709 1634.37 604.907 1633.04 603.672Z" fill="white"/>
|
||||||
|
<path d="M1670.24 638.151C1668.18 636.247 1667.09 633.892 1666.96 631.087C1666.84 628.281 1667.75 625.85 1669.69 623.794C1671.55 621.741 1673.89 620.672 1676.7 620.587C1679.5 620.502 1681.93 621.412 1683.99 623.317C1685.98 625.158 1687.03 627.482 1687.16 630.287C1687.31 633.114 1686.46 635.553 1684.6 637.606C1683.3 638.963 1681.77 639.881 1680.03 640.361C1678.3 640.862 1676.56 640.929 1674.81 640.559C1673.09 640.189 1671.57 639.386 1670.24 638.151Z" fill="white"/>
|
||||||
|
<path d="M1707.44 672.631C1705.38 670.726 1704.29 668.371 1704.16 665.566C1704.04 662.761 1704.95 660.33 1706.89 658.273C1708.75 656.22 1711.09 655.151 1713.9 655.067C1716.7 654.982 1719.13 655.892 1721.19 657.796C1723.17 659.638 1724.23 661.961 1724.36 664.767C1724.51 667.593 1723.66 670.033 1721.8 672.086C1720.5 673.442 1718.97 674.36 1717.23 674.841C1715.5 675.342 1713.76 675.408 1712.01 675.039C1710.29 674.668 1708.77 673.865 1707.44 672.631Z" fill="white"/>
|
||||||
|
<path d="M1453.3 499.136C1451.25 497.231 1450.15 494.876 1450.03 492.071C1449.9 489.266 1450.81 486.835 1452.76 484.778C1454.62 482.725 1456.95 481.656 1459.76 481.572C1462.57 481.487 1465 482.397 1467.05 484.301C1469.04 486.143 1470.1 488.466 1470.22 491.272C1470.37 494.098 1469.52 496.538 1467.66 498.591C1466.36 499.947 1464.84 500.866 1463.09 501.346C1461.37 501.847 1459.63 501.913 1457.87 501.544C1456.16 501.173 1454.63 500.371 1453.3 499.136Z" fill="white"/>
|
||||||
|
<path d="M1490.5 533.615C1488.45 531.711 1487.35 529.356 1487.23 526.55C1487.1 523.745 1488.01 521.314 1489.96 519.258C1491.82 517.205 1494.15 516.136 1496.96 516.051C1499.76 515.966 1502.2 516.876 1504.25 518.781C1506.24 520.622 1507.29 522.946 1507.42 525.751C1507.57 528.577 1506.72 531.017 1504.86 533.07C1503.56 534.427 1502.04 535.345 1500.29 535.825C1498.57 536.326 1496.83 536.392 1495.07 536.023C1493.36 535.653 1491.83 534.85 1490.5 533.615Z" fill="white"/>
|
||||||
|
<path d="M1527.7 568.095C1525.65 566.19 1524.55 563.835 1524.43 561.03C1524.3 558.224 1525.21 555.794 1527.16 553.737C1529.02 551.684 1531.35 550.615 1534.16 550.53C1536.96 550.446 1539.4 551.355 1541.45 553.26C1543.44 555.102 1544.49 557.425 1544.62 560.231C1544.77 563.057 1543.92 565.497 1542.06 567.55C1540.76 568.906 1539.24 569.824 1537.49 570.305C1535.77 570.806 1534.02 570.872 1532.27 570.503C1530.55 570.132 1529.03 569.329 1527.7 568.095Z" fill="white"/>
|
||||||
|
<path d="M1564.9 602.574C1562.84 600.669 1561.75 598.315 1561.62 595.509C1561.5 592.704 1562.41 590.273 1564.35 588.217C1566.22 586.163 1568.55 585.095 1571.36 585.01C1574.16 584.925 1576.59 585.835 1578.65 587.739C1580.64 589.581 1581.69 591.904 1581.82 594.71C1581.97 597.536 1581.12 599.976 1579.26 602.029C1577.96 603.385 1576.43 604.304 1574.69 604.784C1572.96 605.285 1571.22 605.351 1569.47 604.982C1567.75 604.611 1566.23 603.809 1564.9 602.574Z" fill="white"/>
|
||||||
|
<path d="M1602.1 637.053C1600.04 635.149 1598.95 632.794 1598.82 629.989C1598.7 627.183 1599.61 624.752 1601.55 622.696C1603.41 620.643 1605.75 619.574 1608.56 619.489C1611.36 619.404 1613.79 620.314 1615.85 622.219C1617.84 624.06 1618.89 626.384 1619.02 629.189C1619.17 632.016 1618.32 634.455 1616.46 636.508C1615.16 637.865 1613.63 638.783 1611.89 639.263C1610.16 639.764 1608.42 639.83 1606.67 639.461C1604.95 639.091 1603.43 638.288 1602.1 637.053Z" fill="white"/>
|
||||||
|
<path d="M1639.3 671.533C1637.24 669.628 1636.15 667.273 1636.02 664.468C1635.9 661.663 1636.81 659.232 1638.75 657.175C1640.61 655.122 1642.95 654.053 1645.76 653.969C1648.56 653.884 1650.99 654.794 1653.05 656.698C1655.03 658.54 1656.09 660.863 1656.22 663.669C1656.37 666.495 1655.52 668.935 1653.66 670.988C1652.36 672.344 1650.83 673.262 1649.09 673.743C1647.36 674.244 1645.62 674.31 1643.87 673.941C1642.15 673.57 1640.63 672.767 1639.3 671.533Z" fill="white"/>
|
||||||
|
<path d="M1676.5 706.012C1674.44 704.108 1673.35 701.753 1673.22 698.947C1673.09 696.142 1674 693.711 1675.95 691.655C1677.81 689.602 1680.15 688.533 1682.95 688.448C1685.76 688.363 1688.19 689.273 1690.25 691.177C1692.23 693.019 1693.29 695.343 1693.42 698.148C1693.57 700.974 1692.72 703.414 1690.85 705.467C1689.56 706.824 1688.03 707.742 1686.29 708.222C1684.56 708.723 1682.82 708.789 1681.07 708.42C1679.35 708.05 1677.83 707.247 1676.5 706.012Z" fill="white"/>
|
||||||
|
<path d="M1422.36 532.517C1420.31 530.613 1419.21 528.258 1419.09 525.452C1418.96 522.647 1419.87 520.216 1421.82 518.16C1423.68 516.107 1426.01 515.038 1428.82 514.953C1431.63 514.868 1434.06 515.778 1436.11 517.683C1438.1 519.524 1439.16 521.848 1439.28 524.653C1439.43 527.479 1438.58 529.919 1436.72 531.972C1435.42 533.329 1433.9 534.247 1432.15 534.727C1430.43 535.228 1428.69 535.294 1426.93 534.925C1425.22 534.555 1423.69 533.752 1422.36 532.517Z" fill="white"/>
|
||||||
|
<path d="M1459.56 566.997C1457.51 565.092 1456.41 562.737 1456.29 559.932C1456.16 557.126 1457.07 554.695 1459.02 552.639C1460.88 550.586 1463.21 549.517 1466.02 549.432C1468.82 549.348 1471.26 550.257 1473.31 552.162C1475.3 554.004 1476.35 556.327 1476.48 559.132C1476.63 561.959 1475.78 564.399 1473.92 566.452C1472.62 567.808 1471.1 568.726 1469.35 569.207C1467.63 569.708 1465.89 569.774 1464.13 569.405C1462.42 569.034 1460.89 568.231 1459.56 566.997Z" fill="white"/>
|
||||||
|
<path d="M1496.76 601.476C1494.7 599.571 1493.61 597.217 1493.49 594.411C1493.36 591.606 1494.27 589.175 1496.21 587.118C1498.08 585.065 1500.41 583.997 1503.22 583.912C1506.02 583.827 1508.45 584.737 1510.51 586.641C1512.5 588.483 1513.55 590.806 1513.68 593.612C1513.83 596.438 1512.98 598.878 1511.12 600.931C1509.82 602.287 1508.29 603.206 1506.55 603.686C1504.82 604.187 1503.08 604.253 1501.33 603.884C1499.61 603.513 1498.09 602.711 1496.76 601.476Z" fill="white"/>
|
||||||
|
<path d="M1533.96 635.955C1531.9 634.051 1530.81 631.696 1530.68 628.891C1530.56 626.085 1531.47 623.654 1533.41 621.598C1535.28 619.545 1537.61 618.476 1540.42 618.391C1543.22 618.306 1545.65 619.216 1547.71 621.121C1549.7 622.962 1550.75 625.286 1550.88 628.091C1551.03 630.918 1550.18 633.357 1548.32 635.41C1547.02 636.767 1545.49 637.685 1543.75 638.165C1542.02 638.666 1540.28 638.732 1538.53 638.363C1536.81 637.993 1535.29 637.19 1533.96 635.955Z" fill="white"/>
|
||||||
|
<path d="M1571.16 670.435C1569.1 668.53 1568.01 666.175 1567.88 663.37C1567.76 660.565 1568.67 658.134 1570.61 656.077C1572.47 654.024 1574.81 652.955 1577.62 652.87C1580.42 652.786 1582.85 653.696 1584.91 655.6C1586.9 657.442 1587.95 659.765 1588.08 662.571C1588.23 665.397 1587.38 667.837 1585.52 669.89C1584.22 671.246 1582.69 672.164 1580.95 672.645C1579.22 673.146 1577.48 673.212 1575.73 672.843C1574.01 672.472 1572.49 671.669 1571.16 670.435Z" fill="white"/>
|
||||||
|
<path d="M1608.36 704.914C1606.3 703.01 1605.21 700.655 1605.08 697.849C1604.96 695.044 1605.87 692.613 1607.81 690.557C1609.67 688.504 1612.01 687.435 1614.82 687.35C1617.62 687.265 1620.05 688.175 1622.11 690.079C1624.09 691.921 1625.15 694.245 1625.28 697.05C1625.43 699.876 1624.58 702.316 1622.72 704.369C1621.42 705.726 1619.89 706.644 1618.15 707.124C1616.42 707.625 1614.68 707.691 1612.93 707.322C1611.21 706.952 1609.69 706.149 1608.36 704.914Z" fill="white"/>
|
||||||
|
<path d="M1645.56 739.393C1643.5 737.489 1642.41 735.134 1642.28 732.329C1642.15 729.523 1643.06 727.092 1645.01 725.036C1646.87 722.983 1649.21 721.914 1652.01 721.829C1654.82 721.744 1657.25 722.654 1659.31 724.559C1661.29 726.4 1662.35 728.724 1662.48 731.529C1662.63 734.356 1661.78 736.795 1659.91 738.848C1658.62 740.205 1657.09 741.123 1655.35 741.603C1653.62 742.105 1651.88 742.171 1650.13 741.802C1648.41 741.431 1646.89 740.628 1645.56 739.393Z" fill="white"/>
|
||||||
|
<path d="M1319.35 282.231L1382.54 367.303L1478.66 345.769L1319.35 282.231Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1600 142L1511 288L1600 247.973V142Z" fill="white"/>
|
||||||
|
<path d="M936 156L847 302L936 261.973V156Z" fill="white"/>
|
||||||
|
<path d="M292 717L203 863L292 822.973V717Z" fill="white"/>
|
||||||
|
<path d="M1705 1291.99V1364L1795 1240L1705 1291.99Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1319 377V325.318L1256 288L1319 377Z" fill="white"/>
|
||||||
|
<path d="M999 201V149.318L936 112L999 201Z" fill="white"/>
|
||||||
|
<path d="M1655.88 1417.42L1691.03 1386.16L1678.52 1321L1655.88 1417.42Z" fill="white"/>
|
||||||
|
<path d="M1389 275L1479 223.018L1389 183V275Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1738.95 1236.69L1830.16 1188.69L1752.11 1140L1738.95 1236.69Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M419 186L447 478L619 156L419 186Z" fill="#7799F1"/>
|
||||||
|
<path d="M397.721 371L316.72 581.829L437.186 528.97L397.721 371Z" fill="#4963BE"/>
|
||||||
|
<path d="M503.904 458L631.091 574L579.905 370L503.904 458Z" fill="white"/>
|
||||||
|
<path d="M1722.7 1407.92L1719.13 1448.15L1667.8 1472.88L1722.7 1407.92Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1048_45">
|
||||||
|
<rect width="2000" height="2000" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 55 KiB |
BIN
assets/images/oceanBreeze/ethereum.png
Normal file
After Width: | Height: | Size: 343 KiB |
174
assets/images/oceanBreeze/ethereum.svg
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<svg width="2000" height="2000" viewBox="0 0 2000 2000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_1048_45)">
|
||||||
|
<path d="M85.1779 1368.47C57.1779 1608.47 537.178 1652.47 589.178 1660.47H1441.18C1533.18 1660.47 1761.18 1560.47 1845.18 1432.47C1929.18 1304.47 1809.18 1092.47 1761.18 984.475C1713.18 876.474 1934.56 800.211 1873.18 512.475C1809.18 212.475 1529.18 152.475 1301.18 212.475C1150.27 252.189 1249.18 120.475 905.18 84.4745C561.18 48.4745 493.18 416.475 337.18 460.475C181.18 504.475 85.1779 760.475 177.18 984.475C269.182 1208.47 113.178 1128.47 85.1779 1368.47Z" fill="#BECDF9"/>
|
||||||
|
<ellipse cx="1022" cy="1680.5" rx="687" ry="52.5" fill="#2E3E79"/>
|
||||||
|
<path d="M1049.83 863.456L1049.81 863.385L1049.78 863.314C1046.97 854.72 1044.73 846.664 1043.01 839.098L1038.13 840.205C1033.69 820.63 1032.61 804.099 1034.03 789.869L1039 790.364C1040.83 771.98 1047 757.717 1055.45 745.676L1051.36 742.802C1061.27 728.691 1074.15 717.536 1086.98 706.788L1090.19 710.621C1091.14 709.824 1092.09 709.028 1093.05 708.229C1105.36 697.941 1117.97 687.408 1127.5 674.629L1123.5 671.64C1132.94 658.972 1139.2 644.055 1139.24 624.337L1144.24 624.348C1144.28 609.808 1141.1 593.053 1133.86 573.267L1129.17 574.986C1124.15 561.291 1117.11 545.984 1107.66 528.758L1112.04 526.354C1108.16 519.271 1103.87 511.877 1099.17 504.15C1094.83 497.012 1091.03 489.839 1087.74 482.65L1083.19 484.729C1075.96 468.927 1071.15 453.01 1068.5 437.178L1073.43 436.352C1070.7 420.076 1070.34 403.888 1072.06 388.011L1067.09 387.472C1068.88 370.94 1072.87 354.746 1078.77 339.135L1083.44 340.902C1089.13 325.862 1096.63 311.352 1105.7 297.606L1101.52 294.854C1110.57 281.127 1121.13 268.168 1132.94 256.197L1136.5 259.708C1147.85 248.193 1160.38 237.603 1173.85 228.144L1170.98 224.052C1184.51 214.55 1198.97 206.173 1214.11 199.121L1216.22 203.654C1230.98 196.781 1246.39 191.192 1262.23 187.078L1260.97 182.239C1277 178.074 1293.47 175.389 1310.14 174.375L1310.45 179.365C1326.57 178.384 1342.87 178.997 1359.15 181.378L1359.88 176.431C1376.02 178.793 1392.15 182.859 1408.07 188.798L1406.32 193.482C1421.1 199 1435.71 206.172 1449.96 215.145L1452.63 210.913C1466.15 219.422 1479.35 229.513 1492.09 241.3L1488.7 244.971C1500.16 255.57 1511.26 267.579 1521.9 281.093L1525.83 278.001C1535.61 290.419 1544.99 304.075 1553.89 319.033L1549.59 321.59C1553.73 328.555 1557.78 335.811 1561.71 343.364C1562.42 344.724 1563.06 346.177 1563.62 347.696L1568.31 345.948C1569.54 349.266 1570.44 352.791 1570.98 356.298L1566.04 357.062C1566.29 358.688 1566.46 360.305 1566.54 361.882C1567.04 371.372 1567.64 380.541 1568.34 389.401L1573.33 389.005C1574.85 408.15 1576.85 425.826 1579.29 442.154L1574.35 442.894C1577.29 462.587 1580.87 480.373 1585.03 496.453L1589.87 495.202C1594.88 514.585 1600.72 531.406 1607.25 546.044L1602.68 548.081C1611.12 566.993 1620.74 582.432 1631.3 595.127L1635.14 591.93C1647.7 607.027 1661.53 618.009 1676.15 626.296L1673.68 630.646C1690.17 639.996 1707.53 645.972 1724.97 650.513L1726.23 645.674C1738.52 648.876 1750.97 651.381 1763.32 653.868C1768.54 654.919 1773.74 655.967 1778.91 657.062L1777.87 661.954C1795.64 665.72 1812.69 669.994 1828.53 676.825L1830.51 672.234C1846.5 679.128 1861.39 688.595 1874.51 702.621L1870.85 706.035C1881.26 717.164 1890.58 731.377 1898.4 749.871L1903 747.924C1909.15 762.476 1914.36 779.524 1918.43 799.577L1913.53 800.574C1915.21 808.813 1916.69 817.58 1917.98 826.914C1919.12 835.245 1919.67 843.369 1919.65 851.287L1924.65 851.3C1924.6 868.594 1921.94 884.994 1916.94 900.482L1912.18 898.947C1907.25 914.223 1899.96 928.617 1890.59 942.115L1894.69 944.968C1885.46 958.253 1874.29 970.656 1861.43 982.163L1858.09 978.437C1846.35 988.951 1833.14 998.73 1818.66 1007.75L1821.3 1012C1807.65 1020.51 1792.92 1028.34 1777.28 1035.47L1775.2 1030.92C1760.6 1037.59 1745.19 1043.65 1729.1 1049.1L1730.7 1053.83C1715.26 1059.06 1699.21 1063.73 1682.69 1067.82L1681.49 1062.96C1665.71 1066.87 1649.49 1070.26 1632.93 1073.11L1633.78 1078.04C1617.53 1080.84 1600.97 1083.13 1584.2 1084.9L1583.67 1079.93C1567.31 1081.66 1550.75 1082.9 1534.08 1083.64L1534.3 1088.64C1517.71 1089.38 1501.01 1089.62 1484.31 1089.37L1484.38 1084.37C1467.8 1084.12 1451.21 1083.38 1434.71 1082.15L1434.33 1087.13C1417.64 1085.88 1401.03 1084.12 1384.61 1081.85L1385.29 1076.9C1368.76 1074.62 1352.41 1071.81 1336.36 1068.48L1335.34 1073.38C1318.8 1069.95 1302.56 1065.96 1286.72 1061.41L1288.1 1056.6C1271.95 1051.97 1256.24 1046.74 1241.08 1040.93L1239.29 1045.6C1223.44 1039.52 1208.17 1032.8 1193.62 1025.43L1195.88 1020.97C1180.81 1013.34 1166.55 1005.01 1153.21 995.985L1150.41 1000.13C1136.32 990.587 1123.24 980.265 1111.35 969.152L1114.76 965.498C1102.57 954.105 1091.66 941.887 1082.21 928.838L1078.16 931.77C1068.35 918.23 1060.07 903.791 1053.51 888.441L1058.11 886.476C1054.93 879.023 1052.16 871.35 1049.83 863.456Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<path d="M203.275 733.389L203.327 733.336L203.378 733.281C209.007 727.19 214.504 721.647 219.875 716.612L216.455 712.964C229.7 700.546 242.263 691.095 254.253 684.057L256.784 688.369C271.893 679.5 285.94 674.657 299.181 672.558L298.398 667.62C315.026 664.983 330.606 666.449 345.548 669.924L344.415 674.794C359.055 678.199 373.108 683.594 387.31 689.046L388.797 689.617L390.588 684.949C405.752 690.767 420.67 696.392 435.857 699.199L434.948 704.115C450.757 707.037 467.085 707.062 484.284 701.296L482.695 696.555C495.566 692.24 508.93 684.506 523.041 672.046L526.351 675.794C536.846 666.527 547.66 654.793 558.901 640.141L554.933 637.098C563.547 625.87 572.456 612.851 581.704 597.809L585.964 600.428C589.996 593.869 594.089 586.935 598.247 579.607C602.555 572.014 607.137 564.844 611.97 558.086L607.902 555.178C618.388 540.512 630.047 527.716 642.644 516.702L645.935 520.466C658.945 509.091 672.977 499.664 687.768 492.076L685.486 487.627C700.963 479.688 717.248 473.719 734.048 469.605L735.237 474.461C751.592 470.457 768.465 468.245 785.577 467.726L785.425 462.728C802.557 462.208 819.901 463.354 837.182 466.059L836.408 470.998C853.065 473.606 869.675 477.689 885.981 483.154L887.57 478.413C903.871 483.876 919.863 490.694 935.3 498.774L932.981 503.204C948.024 511.078 962.531 520.167 976.265 530.38L979.249 526.367C993.105 536.67 1006.19 548.101 1018.27 560.569L1014.68 564.048C1026.49 576.247 1037.32 589.449 1046.95 603.565L1051.08 600.748C1060.77 614.965 1069.27 630.1 1076.34 646.069L1071.76 648.093C1078.55 663.426 1084 679.538 1087.91 696.351L1092.78 695.218C1096.61 711.686 1098.99 728.817 1099.74 746.539L1094.74 746.748C1095.43 763.222 1094.69 780.227 1092.34 797.709L1097.3 798.374C1095.09 814.864 1091.48 831.759 1086.35 849.01L1081.56 847.584C1076.88 863.3 1070.92 879.332 1063.57 895.644L1068.13 897.699C1061.34 912.759 1053.39 928.039 1044.2 943.513L1039.9 940.959C1035.56 948.269 1030.93 955.624 1026.02 963.024C1025.17 964.305 1024.21 965.573 1023.15 966.811L1026.95 970.06C1024.64 972.756 1021.99 975.258 1019.19 977.439L1016.12 973.492C1014.82 974.505 1013.48 975.437 1012.15 976.273C1005.07 980.698 998.208 985.081 991.561 989.424L994.296 993.61C980.363 1002.71 967.376 1011.63 955.278 1020.38L952.348 1016.33C938.69 1026.2 926.146 1035.87 914.638 1045.34L917.815 1049.2C904.833 1059.88 893.195 1070.3 882.784 1080.47L879.289 1076.89C866.803 1089.1 856.035 1100.98 846.795 1112.58L850.706 1115.69C839.955 1129.19 831.341 1142.25 824.539 1154.94L820.132 1152.58C811.823 1168.09 806.13 1183.09 802.515 1197.7L807.369 1198.9C803.376 1215.03 802.008 1230.6 802.451 1245.74L797.453 1245.89C797.934 1262.35 800.496 1278.25 804.108 1293.73L808.977 1292.59C812.577 1308.02 817.263 1323.14 822.035 1338.12L817.271 1339.64C817.857 1341.48 818.444 1343.31 819.029 1345.14C823.292 1358.48 827.479 1371.58 830.935 1384.71L835.77 1383.44C839.83 1398.87 842.892 1414.33 843.843 1430.04L838.852 1430.34C839.754 1445.23 838.698 1460.27 834.709 1475.67L839.549 1476.93C835.906 1491 829.896 1505.38 820.812 1520.21L816.548 1517.59C809.315 1529.4 800.04 1541.55 788.309 1554.12L791.965 1557.53C782.169 1568.03 770.725 1578.77 757.419 1589.79L754.23 1585.94C748.363 1590.8 742.125 1595.72 735.494 1600.7C728.818 1605.72 722.048 1610.21 715.194 1614.21L717.71 1618.53C702.98 1627.11 687.837 1633.44 672.387 1637.7L671.058 1632.88C655.505 1637.17 639.618 1639.29 623.5 1639.42L623.541 1644.42C607.371 1644.56 590.996 1642.73 574.523 1639.13L575.592 1634.25C560.261 1630.89 544.807 1625.95 529.322 1619.56L527.414 1624.18C512.616 1618.07 497.822 1610.67 483.11 1602.1L485.627 1597.78C471.969 1589.82 458.365 1580.82 444.88 1570.9L441.915 1574.92C428.946 1565.37 416.099 1554.98 403.431 1543.83L406.735 1540.07C394.682 1529.46 382.785 1518.15 371.093 1506.22L367.522 1509.72C356.146 1498.11 344.97 1485.92 334.037 1473.22L337.826 1469.96C327.254 1457.68 316.908 1444.91 306.827 1431.73L302.856 1434.77C292.93 1421.79 283.263 1408.41 273.894 1394.69L278.023 1391.87C268.826 1378.4 259.915 1364.6 251.328 1350.53L247.06 1353.13C238.493 1339.09 230.247 1324.78 222.358 1310.26L226.752 1307.87C218.918 1293.45 211.438 1278.82 204.347 1264.03L199.839 1266.19C192.686 1251.28 185.926 1236.2 179.597 1221.03L184.212 1219.11C177.859 1203.88 171.943 1188.55 166.499 1173.18L161.786 1174.85C156.232 1159.17 151.165 1143.45 146.626 1127.74L151.43 1126.35C146.828 1110.43 142.773 1094.52 139.305 1078.71L134.421 1079.78C130.839 1063.45 127.876 1047.21 125.578 1031.12L130.528 1030.41C128.178 1013.96 126.529 997.692 125.627 981.673L120.635 981.954C119.691 965.189 119.558 948.685 120.287 932.528L125.282 932.754C126.034 916.11 127.711 899.859 130.371 884.092L125.44 883.26C128.232 866.708 132.094 850.663 137.094 835.232L141.851 836.773C146.906 821.174 153.136 806.234 160.608 792.062L156.185 789.73C163.875 775.146 172.864 761.342 183.229 748.438L187.128 751.57C192.174 745.287 197.554 739.222 203.275 733.389Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<circle cx="1000" cy="1000" r="700" fill="#5670D8"/>
|
||||||
|
<path d="M1000 1605C1334.13 1605 1605 1334.13 1605 1000C1605 665.868 1334.13 395 1000 395C665.868 395 395 665.868 395 1000C395 1334.13 665.868 1605 1000 1605Z" fill="#627EEA" stroke="#A2B6FB" stroke-width="10"/>
|
||||||
|
<path d="M1018.7 549.918V882.559L1299.84 1008.2L1018.7 549.918Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 549.918L737.562 1008.2L1018.7 882.559V549.918Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1223.73V1449.75L1300 1060.52L1018.7 1223.73Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 1449.75V1223.73L737.562 1060.52L1018.7 1449.75Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1171.41L1299.84 1008.2L1018.7 882.559V1171.41Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M737.562 1008.2L1018.7 1171.41V882.559L737.562 1008.2Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<g style="mix-blend-mode:multiply" opacity="0.3">
|
||||||
|
<path d="M1569 1414C1463 1622 1182 1700 1005 1700C504.5 1707.5 108.001 1160 397 646C415.999 672 500.002 1204 821.001 1386C1192 1582 1569 1414 1569 1414Z" fill="#3C4F9A"/>
|
||||||
|
</g>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<mask id="path-33-inside-1_1048_45" fill="white">
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z"/>
|
||||||
|
</mask>
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z" fill="#454545"/>
|
||||||
|
<path d="M1346.5 1100L1330.25 1074.78L1350.22 1129.77L1346.5 1100ZM1391.5 1088L1388.19 1117.82L1391.5 1088ZM1418.5 1096.5L1448.32 1093.19L1447.41 1085.05L1442.5 1078.5L1418.5 1096.5ZM1420 1110L1409.11 1137.95L1455.29 1155.95L1449.82 1106.69L1420 1110ZM1362.75 1125.22C1364.35 1124.19 1368.78 1121.79 1374.42 1119.94C1380.18 1118.05 1384.99 1117.46 1388.19 1117.82L1394.81 1058.18C1380.01 1056.54 1366.07 1059.53 1355.71 1062.93C1345.22 1066.38 1336.15 1070.98 1330.25 1074.78L1362.75 1125.22ZM1388.19 1117.82C1395.29 1118.61 1399.13 1119.77 1400.61 1120.32C1401.36 1120.61 1401.22 1120.63 1400.48 1120.17C1400.1 1119.94 1399.39 1119.48 1398.49 1118.73C1397.7 1118.08 1396.14 1116.69 1394.5 1114.5L1442.5 1078.5C1438.86 1073.65 1434.48 1070.64 1431.88 1069.05C1428.75 1067.12 1425.33 1065.52 1421.77 1064.18C1414.62 1061.48 1405.71 1059.39 1394.81 1058.18L1388.19 1117.82ZM1388.68 1099.81L1390.18 1113.31L1449.82 1106.69L1448.32 1093.19L1388.68 1099.81ZM1430.89 1082.05C1423.37 1079.12 1413.62 1075.93 1404.56 1073.44C1396.71 1071.29 1385.35 1068.5 1376.5 1068.5V1128.5C1375.61 1128.5 1376.26 1128.43 1379.25 1129.02C1381.81 1129.53 1385.05 1130.31 1388.69 1131.31C1396.04 1133.32 1403.79 1135.88 1409.11 1137.95L1430.89 1082.05ZM1376.5 1068.5C1368.12 1068.5 1349.8 1069.35 1342.78 1070.23L1350.22 1129.77C1353.87 1129.31 1369.5 1128.5 1376.5 1128.5V1068.5Z" fill="white" mask="url(#path-33-inside-1_1048_45)"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<mask id="path-36-inside-2_1048_45" fill="white">
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)"/>
|
||||||
|
</mask>
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)" stroke="white" stroke-width="45" mask="url(#path-36-inside-2_1048_45)"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1391.87 1279.66L1390.85 1275.02L1393.28 1277.68L1391.87 1279.66Z" fill="#7D8BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1441.85 1559.26C1442.43 1559.72 1442.93 1560.21 1443.36 1560.69C1442.65 1560.5 1441.96 1560.32 1441.3 1560.16L1441.85 1559.26M1441.85 1559.26V1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1441.85 1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26C1441.53 1559.01 1441.19 1558.76 1440.82 1558.53L1440.28 1559.93C1440.57 1559.99 1440.86 1560.05 1441.16 1560.13L1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1416.99 1557.18L1418.71 1557.64L1416.99 1557.18C1416.83 1557.8 1416.68 1558.44 1416.54 1559.09C1415.97 1559.53 1415.41 1560.01 1414.87 1560.54C1411.74 1563.62 1410.08 1567.36 1409.33 1570.86C1408.78 1573.46 1408.67 1575.95 1408.93 1578.31C1407.42 1580.76 1406.34 1583.73 1406.05 1587.25C1405.84 1589.82 1406 1592.21 1406.44 1594.4C1405.55 1596.4 1404.95 1598.71 1404.9 1601.32C1404.8 1606.38 1406.8 1610.48 1408.87 1613.32C1411.76 1617.31 1415.98 1619.38 1417.61 1620.17C1419.99 1621.32 1422.68 1622.32 1425.29 1623.18C1430.57 1624.9 1436.87 1626.43 1442.86 1627.56C1448.74 1628.66 1455.06 1629.5 1460.22 1629.55C1462.55 1629.58 1466.05 1629.48 1469.41 1628.44C1471.04 1627.94 1474.2 1626.76 1476.98 1623.89C1476.98 1623.89 1476.98 1623.88 1476.99 1623.88C1477.44 1623.82 1477.9 1623.75 1478.36 1623.66C1481.19 1623.11 1486.74 1621.25 1490.08 1615.81C1492.27 1614.98 1494.54 1613.67 1496.61 1611.61C1498.01 1610.2 1499.65 1608.26 1501.03 1605.89C1504.37 1604.31 1508.15 1601.39 1510.29 1596.41C1510.3 1596.38 1510.31 1596.35 1510.33 1596.31C1511.05 1594.62 1512.92 1590.27 1512.67 1585.26C1512.51 1582.2 1511.6 1578.83 1509.42 1575.72C1507.32 1572.73 1504.66 1570.84 1502.34 1569.65C1491.85 1564.28 1475.85 1556.63 1462.01 1551.24C1455.22 1548.59 1448.2 1546.19 1442.36 1545.04C1439.63 1544.5 1435.82 1543.95 1431.97 1544.47C1428.35 1544.96 1419.57 1547.4 1416.99 1557.18ZM1451.7 1614.97C1451.64 1614.57 1451.59 1614.18 1451.56 1613.79C1453.02 1613.99 1454.43 1614.16 1455.76 1614.29C1455.79 1614.29 1455.81 1614.29 1455.84 1614.3L1454.43 1619.14C1453.94 1618.81 1453.42 1618.35 1452.93 1617.72C1452.26 1616.83 1451.85 1615.84 1451.7 1614.97ZM1490.49 1578.08C1490.49 1578.08 1490.46 1578.08 1490.41 1578.08C1490.46 1578.08 1490.49 1578.08 1490.49 1578.08Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1409.5 1173C1402.7 1173.8 1407.67 1179.33 1411 1182C1414.17 1182.67 1421.8 1184.1 1427 1184.5C1433.5 1185 1447.5 1184.5 1447.5 1180C1447.5 1176.8 1418 1172 1409.5 1173Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1376.5 1097.5C1370.34 1097.5 1358.25 1098.03 1350.88 1098.59C1354.64 1096.56 1359.67 1094.26 1365.37 1092.39C1373.36 1089.77 1382.58 1088.02 1391.39 1088.99C1400.33 1089.99 1406.62 1091.6 1410.83 1093.19C1412.94 1093.98 1414.53 1094.77 1415.66 1095.46C1416.62 1096.05 1417.21 1096.55 1417.54 1096.91L1418.82 1108.48C1412.55 1106.11 1404.49 1103.49 1396.89 1101.41C1388.69 1099.16 1380.9 1097.5 1376.5 1097.5Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<rect x="1343.94" y="1098.11" width="77.4768" height="43" rx="14" transform="rotate(6.45837 1343.94 1098.11)" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1380.48 1293.04L1379.91 1290.47L1375.48 1270.29L1373.52 1270.71L1378.44 1293.09L1363.6 1319.51L1364.99 1261.41L1381.49 1243.97L1411.22 1276.58L1384.99 1313.58L1380.48 1293.04Z" fill="#7D8BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1489.83 1594.41C1489.79 1594.29 1489.74 1594.18 1489.68 1594.08C1490.09 1594.09 1490.49 1594.09 1490.88 1594.08C1492.29 1594.03 1493.64 1593.83 1494.77 1593.36C1495.93 1592.88 1496.9 1592.1 1497.42 1590.89C1498.17 1589.15 1498.76 1587.47 1498.69 1585.96C1498.65 1585.18 1498.42 1584.43 1497.95 1583.75C1497.48 1583.09 1496.81 1582.55 1495.95 1582.11C1485.69 1576.85 1470.16 1569.44 1456.92 1564.28C1450.32 1561.71 1444.24 1559.68 1439.65 1558.77C1437.37 1558.32 1435.38 1558.13 1433.85 1558.34C1432.33 1558.55 1430.94 1559.21 1430.53 1560.75C1429.52 1564.59 1429.59 1567.35 1430.22 1569.24C1429.3 1569.07 1428.34 1569.01 1427.42 1569.17C1426.43 1569.34 1425.47 1569.76 1424.68 1570.54C1423.89 1571.31 1423.32 1572.39 1423.02 1573.79C1422.35 1576.91 1423.24 1579.31 1424.66 1580.99C1425.08 1581.49 1425.54 1581.93 1426.02 1582.3C1425.34 1582.46 1424.65 1582.68 1423.98 1582.98C1422.01 1583.88 1420.24 1585.56 1420 1588.42C1419.67 1592.36 1421.37 1595.32 1422.96 1597.04C1421.92 1597.43 1420.85 1598.02 1420.07 1598.85C1419.4 1599.56 1418.92 1600.48 1418.9 1601.6C1418.88 1602.71 1419.31 1603.87 1420.19 1605.09C1420.85 1606 1422.16 1606.82 1423.71 1607.57C1425.31 1608.34 1427.34 1609.12 1429.63 1609.86C1434.21 1611.36 1439.91 1612.76 1445.44 1613.8C1450.97 1614.83 1456.37 1615.51 1460.36 1615.55C1462.34 1615.57 1464.06 1615.44 1465.29 1615.06C1465.9 1614.87 1466.49 1614.59 1466.92 1614.15C1467.39 1613.67 1467.6 1613.04 1467.49 1612.34C1467.24 1610.89 1466.75 1609.67 1466.11 1608.67C1467.93 1609.19 1469.8 1609.64 1471.49 1609.88C1473.01 1610.09 1474.48 1610.15 1475.67 1609.92C1476.86 1609.69 1478.02 1609.1 1478.45 1607.82C1479.16 1605.67 1479.27 1603.9 1479.08 1602.59C1479.88 1602.8 1480.77 1602.98 1481.66 1603.06C1483.36 1603.21 1485.38 1603.04 1486.71 1601.71C1488.03 1600.39 1489.27 1598.63 1489.77 1596.98C1490.02 1596.15 1490.12 1595.24 1489.83 1594.41Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545"/>
|
||||||
|
<path d="M1631.79 1492.83L1625.62 1517.38L1640.42 1530.96L1631.79 1492.83Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1631.79 1492.83L1606.16 1522.35L1625.62 1517.38L1631.79 1492.83Z" fill="white"/>
|
||||||
|
<path d="M1619.29 1542.56L1615.1 1559.24L1639.46 1534.82L1619.29 1542.56Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1615.1 1559.25L1619.29 1542.56L1605.19 1526.21L1615.1 1559.25Z" fill="white"/>
|
||||||
|
<path d="M1620.26 1538.7L1640.42 1530.96L1625.62 1517.38L1620.26 1538.7Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1606.16 1522.35L1620.26 1538.7L1625.62 1517.38L1606.16 1522.35Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1577.06 365.61C1575.01 363.706 1573.92 361.351 1573.79 358.546C1573.66 355.74 1574.57 353.309 1576.52 351.253C1578.38 349.2 1580.71 348.131 1583.52 348.046C1586.33 347.961 1588.76 348.871 1590.81 350.776C1592.8 352.617 1593.86 354.941 1593.99 357.746C1594.14 360.573 1593.28 363.012 1591.42 365.065C1590.12 366.422 1588.6 367.34 1586.85 367.82C1585.13 368.321 1583.39 368.388 1581.63 368.019C1579.92 367.648 1578.39 366.845 1577.06 365.61Z" fill="white"/>
|
||||||
|
<path d="M1614.26 400.09C1612.21 398.185 1611.12 395.83 1610.99 393.025C1610.86 390.22 1611.77 387.789 1613.72 385.732C1615.58 383.679 1617.91 382.61 1620.72 382.526C1623.53 382.441 1625.96 383.351 1628.01 385.255C1630 387.097 1631.06 389.42 1631.18 392.226C1631.34 395.052 1630.48 397.492 1628.62 399.545C1627.32 400.901 1625.8 401.82 1624.05 402.3C1622.33 402.801 1620.59 402.867 1618.83 402.498C1617.12 402.127 1615.59 401.325 1614.26 400.09Z" fill="white"/>
|
||||||
|
<path d="M1651.46 434.569C1649.41 432.665 1648.32 430.31 1648.19 427.504C1648.06 424.699 1648.97 422.268 1650.92 420.212C1652.78 418.159 1655.11 417.09 1657.92 417.005C1660.73 416.92 1663.16 417.83 1665.21 419.735C1667.2 421.576 1668.26 423.9 1668.38 426.705C1668.53 429.531 1667.68 431.971 1665.82 434.024C1664.52 435.381 1663 436.299 1661.25 436.779C1659.53 437.28 1657.79 437.346 1656.03 436.977C1654.32 436.607 1652.79 435.804 1651.46 434.569Z" fill="white"/>
|
||||||
|
<path d="M1688.66 469.049C1686.61 467.144 1685.51 464.789 1685.39 461.984C1685.26 459.178 1686.17 456.747 1688.12 454.691C1689.98 452.638 1692.31 451.569 1695.12 451.484C1697.92 451.4 1700.36 452.309 1702.41 454.214C1704.4 456.056 1705.46 458.379 1705.58 461.184C1705.73 464.011 1704.88 466.451 1703.02 468.504C1701.72 469.86 1700.2 470.778 1698.45 471.258C1696.73 471.76 1694.99 471.826 1693.23 471.457C1691.52 471.086 1689.99 470.283 1688.66 469.049Z" fill="white"/>
|
||||||
|
<path d="M1725.86 503.528C1723.81 501.623 1722.71 499.269 1722.59 496.463C1722.46 493.658 1723.37 491.227 1725.32 489.17C1727.18 487.117 1729.51 486.048 1732.32 485.964C1735.12 485.879 1737.56 486.789 1739.61 488.693C1741.6 490.535 1742.65 492.858 1742.78 495.664C1742.93 498.49 1742.08 500.93 1740.22 502.983C1738.92 504.339 1737.4 505.258 1735.65 505.738C1733.93 506.239 1732.19 506.305 1730.43 505.936C1728.71 505.565 1727.19 504.763 1725.86 503.528Z" fill="white"/>
|
||||||
|
<path d="M1763.06 538.007C1761 536.103 1759.91 533.748 1759.79 530.943C1759.66 528.137 1760.57 525.706 1762.51 523.65C1764.38 521.597 1766.71 520.528 1769.52 520.443C1772.32 520.358 1774.75 521.268 1776.81 523.173C1778.8 525.014 1779.85 527.338 1779.98 530.143C1780.13 532.97 1779.28 535.409 1777.42 537.462C1776.12 538.819 1774.59 539.737 1772.85 540.217C1771.12 540.718 1769.38 540.784 1767.63 540.415C1765.91 540.045 1764.39 539.242 1763.06 538.007Z" fill="white"/>
|
||||||
|
<path d="M1800.26 572.487C1798.2 570.582 1797.11 568.227 1796.98 565.422C1796.86 562.617 1797.77 560.186 1799.71 558.129C1801.58 556.076 1803.91 555.007 1806.72 554.922C1809.52 554.838 1811.95 555.748 1814.01 557.652C1816 559.494 1817.05 561.817 1817.18 564.623C1817.33 567.449 1816.48 569.889 1814.62 571.942C1813.32 573.298 1811.79 574.216 1810.05 574.697C1808.32 575.198 1806.58 575.264 1804.83 574.895C1803.11 574.524 1801.59 573.721 1800.26 572.487Z" fill="white"/>
|
||||||
|
<path d="M1546.12 398.992C1544.07 397.087 1542.98 394.732 1542.85 391.927C1542.72 389.122 1543.63 386.691 1545.58 384.634C1547.44 382.581 1549.77 381.512 1552.58 381.428C1555.39 381.343 1557.82 382.253 1559.87 384.157C1561.86 385.999 1562.92 388.322 1563.04 391.128C1563.2 393.954 1562.34 396.394 1560.48 398.447C1559.18 399.803 1557.66 400.722 1555.91 401.202C1554.19 401.703 1552.45 401.769 1550.69 401.4C1548.98 401.029 1547.45 400.226 1546.12 398.992Z" fill="white"/>
|
||||||
|
<path d="M1583.32 433.471C1581.27 431.567 1580.18 429.212 1580.05 426.406C1579.92 423.601 1580.83 421.17 1582.78 419.114C1584.64 417.061 1586.97 415.992 1589.78 415.907C1592.59 415.822 1595.02 416.732 1597.07 418.636C1599.06 420.478 1600.12 422.802 1600.24 425.607C1600.39 428.433 1599.54 430.873 1597.68 432.926C1596.38 434.283 1594.86 435.201 1593.11 435.681C1591.39 436.182 1589.65 436.248 1587.89 435.879C1586.18 435.509 1584.65 434.706 1583.32 433.471Z" fill="white"/>
|
||||||
|
<path d="M1620.52 467.951C1618.47 466.046 1617.37 463.691 1617.25 460.886C1617.12 458.08 1618.03 455.649 1619.98 453.593C1621.84 451.54 1624.17 450.471 1626.98 450.386C1629.79 450.302 1632.22 451.211 1634.27 453.116C1636.26 454.958 1637.32 457.281 1637.44 460.086C1637.59 462.913 1636.74 465.352 1634.88 467.406C1633.58 468.762 1632.06 469.68 1630.31 470.16C1628.59 470.662 1626.85 470.728 1625.09 470.359C1623.38 469.988 1621.85 469.185 1620.52 467.951Z" fill="white"/>
|
||||||
|
<path d="M1657.72 502.43C1655.67 500.525 1654.57 498.171 1654.45 495.365C1654.32 492.56 1655.23 490.129 1657.18 488.072C1659.04 486.019 1661.37 484.95 1664.18 484.866C1666.98 484.781 1669.42 485.691 1671.47 487.595C1673.46 489.437 1674.51 491.76 1674.64 494.566C1674.79 497.392 1673.94 499.832 1672.08 501.885C1670.78 503.241 1669.26 504.16 1667.51 504.64C1665.79 505.141 1664.05 505.207 1662.29 504.838C1660.58 504.467 1659.05 503.665 1657.72 502.43Z" fill="white"/>
|
||||||
|
<path d="M1694.92 536.909C1692.87 535.005 1691.77 532.65 1691.65 529.844C1691.52 527.039 1692.43 524.608 1694.37 522.552C1696.24 520.499 1698.57 519.43 1701.38 519.345C1704.18 519.26 1706.61 520.17 1708.67 522.075C1710.66 523.916 1711.71 526.24 1711.84 529.045C1711.99 531.872 1711.14 534.311 1709.28 536.364C1707.98 537.721 1706.46 538.639 1704.71 539.119C1702.98 539.62 1701.24 539.686 1699.49 539.317C1697.77 538.947 1696.25 538.144 1694.92 536.909Z" fill="white"/>
|
||||||
|
<path d="M1732.12 571.389C1730.06 569.484 1728.97 567.129 1728.84 564.324C1728.72 561.518 1729.63 559.088 1731.57 557.031C1733.44 554.978 1735.77 553.909 1738.58 553.824C1741.38 553.74 1743.81 554.65 1745.87 556.554C1747.86 558.396 1748.91 560.719 1749.04 563.525C1749.19 566.351 1748.34 568.791 1746.48 570.844C1745.18 572.2 1743.65 573.118 1741.91 573.599C1740.18 574.1 1738.44 574.166 1736.69 573.797C1734.97 573.426 1733.45 572.623 1732.12 571.389Z" fill="white"/>
|
||||||
|
<path d="M1769.32 605.868C1767.26 603.964 1766.17 601.609 1766.04 598.803C1765.92 595.998 1766.83 593.567 1768.77 591.511C1770.63 589.458 1772.97 588.389 1775.78 588.304C1778.58 588.219 1781.01 589.129 1783.07 591.033C1785.06 592.875 1786.11 595.199 1786.24 598.004C1786.39 600.83 1785.54 603.27 1783.68 605.323C1782.38 606.679 1780.85 607.598 1779.11 608.078C1777.38 608.579 1775.64 608.645 1773.89 608.276C1772.17 607.906 1770.65 607.103 1769.32 605.868Z" fill="white"/>
|
||||||
|
<path d="M1515.18 432.373C1513.13 430.469 1512.04 428.114 1511.91 425.308C1511.78 422.503 1512.69 420.072 1514.64 418.016C1516.5 415.963 1518.83 414.894 1521.64 414.809C1524.45 414.724 1526.88 415.634 1528.93 417.538C1530.92 419.38 1531.98 421.704 1532.1 424.509C1532.26 427.335 1531.4 429.775 1529.54 431.828C1528.24 433.185 1526.72 434.103 1524.97 434.583C1523.25 435.084 1521.51 435.15 1519.75 434.781C1518.04 434.411 1516.51 433.608 1515.18 432.373Z" fill="white"/>
|
||||||
|
<path d="M1552.38 466.852C1550.33 464.948 1549.24 462.593 1549.11 459.788C1548.98 456.982 1549.89 454.551 1551.84 452.495C1553.7 450.442 1556.03 449.373 1558.84 449.288C1561.65 449.204 1564.08 450.113 1566.13 452.018C1568.12 453.859 1569.18 456.183 1569.3 458.988C1569.45 461.815 1568.6 464.254 1566.74 466.308C1565.44 467.664 1563.92 468.582 1562.17 469.062C1560.45 469.564 1558.71 469.63 1556.95 469.261C1555.24 468.89 1553.71 468.087 1552.38 466.852Z" fill="white"/>
|
||||||
|
<path d="M1589.58 501.332C1587.53 499.427 1586.43 497.072 1586.31 494.267C1586.18 491.462 1587.09 489.031 1589.04 486.974C1590.9 484.921 1593.23 483.852 1596.04 483.768C1598.84 483.683 1601.28 484.593 1603.33 486.497C1605.32 488.339 1606.37 490.662 1606.5 493.468C1606.65 496.294 1605.8 498.734 1603.94 500.787C1602.64 502.143 1601.12 503.062 1599.37 503.542C1597.65 504.043 1595.91 504.109 1594.15 503.74C1592.44 503.369 1590.91 502.567 1589.58 501.332Z" fill="white"/>
|
||||||
|
<path d="M1626.78 535.811C1624.73 533.907 1623.63 531.552 1623.51 528.746C1623.38 525.941 1624.29 523.51 1626.24 521.454C1628.1 519.401 1630.43 518.332 1633.24 518.247C1636.04 518.162 1638.48 519.072 1640.53 520.977C1642.52 522.818 1643.57 525.142 1643.7 527.947C1643.85 530.774 1643 533.213 1641.14 535.266C1639.84 536.623 1638.32 537.541 1636.57 538.021C1634.85 538.522 1633.1 538.588 1631.35 538.219C1629.63 537.849 1628.11 537.046 1626.78 535.811Z" fill="white"/>
|
||||||
|
<path d="M1663.98 570.291C1661.92 568.386 1660.83 566.031 1660.71 563.226C1660.58 560.42 1661.49 557.99 1663.43 555.933C1665.3 553.88 1667.63 552.811 1670.44 552.726C1673.24 552.642 1675.67 553.552 1677.73 555.456C1679.72 557.298 1680.77 559.621 1680.9 562.427C1681.05 565.253 1680.2 567.693 1678.34 569.746C1677.04 571.102 1675.51 572.02 1673.77 572.501C1672.04 573.002 1670.3 573.068 1668.55 572.699C1666.83 572.328 1665.31 571.525 1663.98 570.291Z" fill="white"/>
|
||||||
|
<path d="M1701.18 604.77C1699.12 602.866 1698.03 600.511 1697.9 597.705C1697.78 594.9 1698.69 592.469 1700.63 590.413C1702.5 588.359 1704.83 587.291 1707.64 587.206C1710.44 587.121 1712.87 588.031 1714.93 589.935C1716.92 591.777 1717.97 594.101 1718.1 596.906C1718.25 599.732 1717.4 602.172 1715.54 604.225C1714.24 605.581 1712.71 606.5 1710.97 606.98C1709.24 607.481 1707.5 607.547 1705.75 607.178C1704.03 606.807 1702.51 606.005 1701.18 604.77Z" fill="white"/>
|
||||||
|
<path d="M1738.38 639.249C1736.32 637.345 1735.23 634.99 1735.1 632.185C1734.98 629.379 1735.89 626.948 1737.83 624.892C1739.69 622.839 1742.03 621.77 1744.84 621.685C1747.64 621.6 1750.07 622.51 1752.13 624.415C1754.12 626.256 1755.17 628.58 1755.3 631.385C1755.45 634.212 1754.6 636.651 1752.74 638.704C1751.44 640.061 1749.91 640.979 1748.17 641.459C1746.44 641.96 1744.7 642.027 1742.95 641.658C1741.23 641.287 1739.71 640.484 1738.38 639.249Z" fill="white"/>
|
||||||
|
<path d="M1484.24 465.754C1482.19 463.85 1481.1 461.495 1480.97 458.69C1480.84 455.884 1481.75 453.453 1483.7 451.397C1485.56 449.344 1487.89 448.275 1490.7 448.19C1493.51 448.106 1495.94 449.015 1497.99 450.92C1499.98 452.761 1501.04 455.085 1501.16 457.89C1501.31 460.717 1500.46 463.156 1498.6 465.209C1497.3 466.566 1495.78 467.484 1494.03 467.964C1492.31 468.466 1490.57 468.532 1488.81 468.163C1487.1 467.792 1485.57 466.989 1484.24 465.754Z" fill="white"/>
|
||||||
|
<path d="M1521.44 500.234C1519.39 498.329 1518.29 495.974 1518.17 493.169C1518.04 490.364 1518.95 487.933 1520.9 485.876C1522.76 483.823 1525.09 482.754 1527.9 482.67C1530.71 482.585 1533.14 483.495 1535.19 485.399C1537.18 487.241 1538.24 489.564 1538.36 492.37C1538.51 495.196 1537.66 497.636 1535.8 499.689C1534.5 501.045 1532.98 501.964 1531.23 502.444C1529.51 502.945 1527.77 503.011 1526.01 502.642C1524.3 502.271 1522.77 501.469 1521.44 500.234Z" fill="white"/>
|
||||||
|
<path d="M1558.64 534.713C1556.59 532.809 1555.49 530.454 1555.37 527.648C1555.24 524.843 1556.15 522.412 1558.1 520.356C1559.96 518.303 1562.29 517.234 1565.1 517.149C1567.9 517.064 1570.34 517.974 1572.39 519.879C1574.38 521.72 1575.43 524.044 1575.56 526.849C1575.71 529.675 1574.86 532.115 1573 534.168C1571.7 535.525 1570.18 536.443 1568.43 536.923C1566.71 537.424 1564.97 537.49 1563.21 537.121C1561.5 536.751 1559.97 535.948 1558.64 534.713Z" fill="white"/>
|
||||||
|
<path d="M1595.84 569.193C1593.78 567.288 1592.69 564.933 1592.57 562.128C1592.44 559.322 1593.35 556.892 1595.29 554.835C1597.16 552.782 1599.49 551.713 1602.3 551.628C1605.1 551.544 1607.53 552.453 1609.59 554.358C1611.58 556.2 1612.63 558.523 1612.76 561.329C1612.91 564.155 1612.06 566.595 1610.2 568.648C1608.9 570.004 1607.38 570.922 1605.63 571.403C1603.9 571.904 1602.16 571.97 1600.41 571.601C1598.69 571.23 1597.17 570.427 1595.84 569.193Z" fill="white"/>
|
||||||
|
<path d="M1633.04 603.672C1630.98 601.768 1629.89 599.413 1629.76 596.607C1629.64 593.802 1630.55 591.371 1632.49 589.315C1634.36 587.261 1636.69 586.193 1639.5 586.108C1642.3 586.023 1644.73 586.933 1646.79 588.837C1648.78 590.679 1649.83 593.003 1649.96 595.808C1650.11 598.634 1649.26 601.074 1647.4 603.127C1646.1 604.483 1644.57 605.402 1642.83 605.882C1641.1 606.383 1639.36 606.449 1637.61 606.08C1635.89 605.709 1634.37 604.907 1633.04 603.672Z" fill="white"/>
|
||||||
|
<path d="M1670.24 638.151C1668.18 636.247 1667.09 633.892 1666.96 631.087C1666.84 628.281 1667.75 625.85 1669.69 623.794C1671.55 621.741 1673.89 620.672 1676.7 620.587C1679.5 620.502 1681.93 621.412 1683.99 623.317C1685.98 625.158 1687.03 627.482 1687.16 630.287C1687.31 633.114 1686.46 635.553 1684.6 637.606C1683.3 638.963 1681.77 639.881 1680.03 640.361C1678.3 640.862 1676.56 640.929 1674.81 640.559C1673.09 640.189 1671.57 639.386 1670.24 638.151Z" fill="white"/>
|
||||||
|
<path d="M1707.44 672.631C1705.38 670.726 1704.29 668.371 1704.16 665.566C1704.04 662.761 1704.95 660.33 1706.89 658.273C1708.75 656.22 1711.09 655.151 1713.9 655.067C1716.7 654.982 1719.13 655.892 1721.19 657.796C1723.17 659.638 1724.23 661.961 1724.36 664.767C1724.51 667.593 1723.66 670.033 1721.8 672.086C1720.5 673.442 1718.97 674.36 1717.23 674.841C1715.5 675.342 1713.76 675.408 1712.01 675.039C1710.29 674.668 1708.77 673.865 1707.44 672.631Z" fill="white"/>
|
||||||
|
<path d="M1453.3 499.136C1451.25 497.231 1450.15 494.876 1450.03 492.071C1449.9 489.266 1450.81 486.835 1452.76 484.778C1454.62 482.725 1456.95 481.656 1459.76 481.572C1462.57 481.487 1465 482.397 1467.05 484.301C1469.04 486.143 1470.1 488.466 1470.22 491.272C1470.37 494.098 1469.52 496.538 1467.66 498.591C1466.36 499.947 1464.84 500.866 1463.09 501.346C1461.37 501.847 1459.63 501.913 1457.87 501.544C1456.16 501.173 1454.63 500.371 1453.3 499.136Z" fill="white"/>
|
||||||
|
<path d="M1490.5 533.615C1488.45 531.711 1487.35 529.356 1487.23 526.55C1487.1 523.745 1488.01 521.314 1489.96 519.258C1491.82 517.205 1494.15 516.136 1496.96 516.051C1499.76 515.966 1502.2 516.876 1504.25 518.781C1506.24 520.622 1507.29 522.946 1507.42 525.751C1507.57 528.577 1506.72 531.017 1504.86 533.07C1503.56 534.427 1502.04 535.345 1500.29 535.825C1498.57 536.326 1496.83 536.392 1495.07 536.023C1493.36 535.653 1491.83 534.85 1490.5 533.615Z" fill="white"/>
|
||||||
|
<path d="M1527.7 568.095C1525.65 566.19 1524.55 563.835 1524.43 561.03C1524.3 558.224 1525.21 555.794 1527.16 553.737C1529.02 551.684 1531.35 550.615 1534.16 550.53C1536.96 550.446 1539.4 551.355 1541.45 553.26C1543.44 555.102 1544.49 557.425 1544.62 560.231C1544.77 563.057 1543.92 565.497 1542.06 567.55C1540.76 568.906 1539.24 569.824 1537.49 570.305C1535.77 570.806 1534.02 570.872 1532.27 570.503C1530.55 570.132 1529.03 569.329 1527.7 568.095Z" fill="white"/>
|
||||||
|
<path d="M1564.9 602.574C1562.84 600.669 1561.75 598.315 1561.62 595.509C1561.5 592.704 1562.41 590.273 1564.35 588.217C1566.22 586.163 1568.55 585.095 1571.36 585.01C1574.16 584.925 1576.59 585.835 1578.65 587.739C1580.64 589.581 1581.69 591.904 1581.82 594.71C1581.97 597.536 1581.12 599.976 1579.26 602.029C1577.96 603.385 1576.43 604.304 1574.69 604.784C1572.96 605.285 1571.22 605.351 1569.47 604.982C1567.75 604.611 1566.23 603.809 1564.9 602.574Z" fill="white"/>
|
||||||
|
<path d="M1602.1 637.053C1600.04 635.149 1598.95 632.794 1598.82 629.989C1598.7 627.183 1599.61 624.752 1601.55 622.696C1603.41 620.643 1605.75 619.574 1608.56 619.489C1611.36 619.404 1613.79 620.314 1615.85 622.219C1617.84 624.06 1618.89 626.384 1619.02 629.189C1619.17 632.016 1618.32 634.455 1616.46 636.508C1615.16 637.865 1613.63 638.783 1611.89 639.263C1610.16 639.764 1608.42 639.83 1606.67 639.461C1604.95 639.091 1603.43 638.288 1602.1 637.053Z" fill="white"/>
|
||||||
|
<path d="M1639.3 671.533C1637.24 669.628 1636.15 667.273 1636.02 664.468C1635.9 661.663 1636.81 659.232 1638.75 657.175C1640.61 655.122 1642.95 654.053 1645.76 653.969C1648.56 653.884 1650.99 654.794 1653.05 656.698C1655.03 658.54 1656.09 660.863 1656.22 663.669C1656.37 666.495 1655.52 668.935 1653.66 670.988C1652.36 672.344 1650.83 673.262 1649.09 673.743C1647.36 674.244 1645.62 674.31 1643.87 673.941C1642.15 673.57 1640.63 672.767 1639.3 671.533Z" fill="white"/>
|
||||||
|
<path d="M1676.5 706.012C1674.44 704.108 1673.35 701.753 1673.22 698.947C1673.09 696.142 1674 693.711 1675.95 691.655C1677.81 689.602 1680.15 688.533 1682.95 688.448C1685.76 688.363 1688.19 689.273 1690.25 691.177C1692.23 693.019 1693.29 695.343 1693.42 698.148C1693.57 700.974 1692.72 703.414 1690.85 705.467C1689.56 706.824 1688.03 707.742 1686.29 708.222C1684.56 708.723 1682.82 708.789 1681.07 708.42C1679.35 708.05 1677.83 707.247 1676.5 706.012Z" fill="white"/>
|
||||||
|
<path d="M1422.36 532.517C1420.31 530.613 1419.21 528.258 1419.09 525.452C1418.96 522.647 1419.87 520.216 1421.82 518.16C1423.68 516.107 1426.01 515.038 1428.82 514.953C1431.63 514.868 1434.06 515.778 1436.11 517.683C1438.1 519.524 1439.16 521.848 1439.28 524.653C1439.43 527.479 1438.58 529.919 1436.72 531.972C1435.42 533.329 1433.9 534.247 1432.15 534.727C1430.43 535.228 1428.69 535.294 1426.93 534.925C1425.22 534.555 1423.69 533.752 1422.36 532.517Z" fill="white"/>
|
||||||
|
<path d="M1459.56 566.997C1457.51 565.092 1456.41 562.737 1456.29 559.932C1456.16 557.126 1457.07 554.695 1459.02 552.639C1460.88 550.586 1463.21 549.517 1466.02 549.432C1468.82 549.348 1471.26 550.257 1473.31 552.162C1475.3 554.004 1476.35 556.327 1476.48 559.132C1476.63 561.959 1475.78 564.399 1473.92 566.452C1472.62 567.808 1471.1 568.726 1469.35 569.207C1467.63 569.708 1465.89 569.774 1464.13 569.405C1462.42 569.034 1460.89 568.231 1459.56 566.997Z" fill="white"/>
|
||||||
|
<path d="M1496.76 601.476C1494.7 599.571 1493.61 597.217 1493.49 594.411C1493.36 591.606 1494.27 589.175 1496.21 587.118C1498.08 585.065 1500.41 583.997 1503.22 583.912C1506.02 583.827 1508.45 584.737 1510.51 586.641C1512.5 588.483 1513.55 590.806 1513.68 593.612C1513.83 596.438 1512.98 598.878 1511.12 600.931C1509.82 602.287 1508.29 603.206 1506.55 603.686C1504.82 604.187 1503.08 604.253 1501.33 603.884C1499.61 603.513 1498.09 602.711 1496.76 601.476Z" fill="white"/>
|
||||||
|
<path d="M1533.96 635.955C1531.9 634.051 1530.81 631.696 1530.68 628.891C1530.56 626.085 1531.47 623.654 1533.41 621.598C1535.28 619.545 1537.61 618.476 1540.42 618.391C1543.22 618.306 1545.65 619.216 1547.71 621.121C1549.7 622.962 1550.75 625.286 1550.88 628.091C1551.03 630.918 1550.18 633.357 1548.32 635.41C1547.02 636.767 1545.49 637.685 1543.75 638.165C1542.02 638.666 1540.28 638.732 1538.53 638.363C1536.81 637.993 1535.29 637.19 1533.96 635.955Z" fill="white"/>
|
||||||
|
<path d="M1571.16 670.435C1569.1 668.53 1568.01 666.175 1567.88 663.37C1567.76 660.565 1568.67 658.134 1570.61 656.077C1572.47 654.024 1574.81 652.955 1577.62 652.87C1580.42 652.786 1582.85 653.696 1584.91 655.6C1586.9 657.442 1587.95 659.765 1588.08 662.571C1588.23 665.397 1587.38 667.837 1585.52 669.89C1584.22 671.246 1582.69 672.164 1580.95 672.645C1579.22 673.146 1577.48 673.212 1575.73 672.843C1574.01 672.472 1572.49 671.669 1571.16 670.435Z" fill="white"/>
|
||||||
|
<path d="M1608.36 704.914C1606.3 703.01 1605.21 700.655 1605.08 697.849C1604.96 695.044 1605.87 692.613 1607.81 690.557C1609.67 688.504 1612.01 687.435 1614.82 687.35C1617.62 687.265 1620.05 688.175 1622.11 690.079C1624.09 691.921 1625.15 694.245 1625.28 697.05C1625.43 699.876 1624.58 702.316 1622.72 704.369C1621.42 705.726 1619.89 706.644 1618.15 707.124C1616.42 707.625 1614.68 707.691 1612.93 707.322C1611.21 706.952 1609.69 706.149 1608.36 704.914Z" fill="white"/>
|
||||||
|
<path d="M1645.56 739.393C1643.5 737.489 1642.41 735.134 1642.28 732.329C1642.15 729.523 1643.06 727.092 1645.01 725.036C1646.87 722.983 1649.21 721.914 1652.01 721.829C1654.82 721.744 1657.25 722.654 1659.31 724.559C1661.29 726.4 1662.35 728.724 1662.48 731.529C1662.63 734.356 1661.78 736.795 1659.91 738.848C1658.62 740.205 1657.09 741.123 1655.35 741.603C1653.62 742.105 1651.88 742.171 1650.13 741.802C1648.41 741.431 1646.89 740.628 1645.56 739.393Z" fill="white"/>
|
||||||
|
<path d="M1319.35 282.231L1382.54 367.303L1478.66 345.769L1319.35 282.231Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1600 142L1511 288L1600 247.973V142Z" fill="white"/>
|
||||||
|
<path d="M936 156L847 302L936 261.973V156Z" fill="white"/>
|
||||||
|
<path d="M292 717L203 863L292 822.973V717Z" fill="white"/>
|
||||||
|
<path d="M1705 1291.99V1364L1795 1240L1705 1291.99Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1319 377V325.318L1256 288L1319 377Z" fill="white"/>
|
||||||
|
<path d="M999 201V149.318L936 112L999 201Z" fill="white"/>
|
||||||
|
<path d="M1655.88 1417.42L1691.03 1386.16L1678.52 1321L1655.88 1417.42Z" fill="white"/>
|
||||||
|
<path d="M1389 275L1479 223.018L1389 183V275Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1738.95 1236.69L1830.16 1188.69L1752.11 1140L1738.95 1236.69Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M419 186L447 478L619 156L419 186Z" fill="#7799F1"/>
|
||||||
|
<path d="M397.721 371L316.72 581.829L437.186 528.97L397.721 371Z" fill="#4963BE"/>
|
||||||
|
<path d="M503.904 458L631.091 574L579.905 370L503.904 458Z" fill="white"/>
|
||||||
|
<path d="M1722.7 1407.92L1719.13 1448.15L1667.8 1472.88L1722.7 1407.92Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1048_45">
|
||||||
|
<rect width="2000" height="2000" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 55 KiB |
BIN
assets/images/oledBlack/ethereum.png
Normal file
After Width: | Height: | Size: 343 KiB |
174
assets/images/oledBlack/ethereum.svg
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<svg width="2000" height="2000" viewBox="0 0 2000 2000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_1048_45)">
|
||||||
|
<path d="M85.1779 1368.47C57.1779 1608.47 537.178 1652.47 589.178 1660.47H1441.18C1533.18 1660.47 1761.18 1560.47 1845.18 1432.47C1929.18 1304.47 1809.18 1092.47 1761.18 984.475C1713.18 876.474 1934.56 800.211 1873.18 512.475C1809.18 212.475 1529.18 152.475 1301.18 212.475C1150.27 252.189 1249.18 120.475 905.18 84.4745C561.18 48.4745 493.18 416.475 337.18 460.475C181.18 504.475 85.1779 760.475 177.18 984.475C269.182 1208.47 113.178 1128.47 85.1779 1368.47Z" fill="#BECDF9"/>
|
||||||
|
<ellipse cx="1022" cy="1680.5" rx="687" ry="52.5" fill="#2E3E79"/>
|
||||||
|
<path d="M1049.83 863.456L1049.81 863.385L1049.78 863.314C1046.97 854.72 1044.73 846.664 1043.01 839.098L1038.13 840.205C1033.69 820.63 1032.61 804.099 1034.03 789.869L1039 790.364C1040.83 771.98 1047 757.717 1055.45 745.676L1051.36 742.802C1061.27 728.691 1074.15 717.536 1086.98 706.788L1090.19 710.621C1091.14 709.824 1092.09 709.028 1093.05 708.229C1105.36 697.941 1117.97 687.408 1127.5 674.629L1123.5 671.64C1132.94 658.972 1139.2 644.055 1139.24 624.337L1144.24 624.348C1144.28 609.808 1141.1 593.053 1133.86 573.267L1129.17 574.986C1124.15 561.291 1117.11 545.984 1107.66 528.758L1112.04 526.354C1108.16 519.271 1103.87 511.877 1099.17 504.15C1094.83 497.012 1091.03 489.839 1087.74 482.65L1083.19 484.729C1075.96 468.927 1071.15 453.01 1068.5 437.178L1073.43 436.352C1070.7 420.076 1070.34 403.888 1072.06 388.011L1067.09 387.472C1068.88 370.94 1072.87 354.746 1078.77 339.135L1083.44 340.902C1089.13 325.862 1096.63 311.352 1105.7 297.606L1101.52 294.854C1110.57 281.127 1121.13 268.168 1132.94 256.197L1136.5 259.708C1147.85 248.193 1160.38 237.603 1173.85 228.144L1170.98 224.052C1184.51 214.55 1198.97 206.173 1214.11 199.121L1216.22 203.654C1230.98 196.781 1246.39 191.192 1262.23 187.078L1260.97 182.239C1277 178.074 1293.47 175.389 1310.14 174.375L1310.45 179.365C1326.57 178.384 1342.87 178.997 1359.15 181.378L1359.88 176.431C1376.02 178.793 1392.15 182.859 1408.07 188.798L1406.32 193.482C1421.1 199 1435.71 206.172 1449.96 215.145L1452.63 210.913C1466.15 219.422 1479.35 229.513 1492.09 241.3L1488.7 244.971C1500.16 255.57 1511.26 267.579 1521.9 281.093L1525.83 278.001C1535.61 290.419 1544.99 304.075 1553.89 319.033L1549.59 321.59C1553.73 328.555 1557.78 335.811 1561.71 343.364C1562.42 344.724 1563.06 346.177 1563.62 347.696L1568.31 345.948C1569.54 349.266 1570.44 352.791 1570.98 356.298L1566.04 357.062C1566.29 358.688 1566.46 360.305 1566.54 361.882C1567.04 371.372 1567.64 380.541 1568.34 389.401L1573.33 389.005C1574.85 408.15 1576.85 425.826 1579.29 442.154L1574.35 442.894C1577.29 462.587 1580.87 480.373 1585.03 496.453L1589.87 495.202C1594.88 514.585 1600.72 531.406 1607.25 546.044L1602.68 548.081C1611.12 566.993 1620.74 582.432 1631.3 595.127L1635.14 591.93C1647.7 607.027 1661.53 618.009 1676.15 626.296L1673.68 630.646C1690.17 639.996 1707.53 645.972 1724.97 650.513L1726.23 645.674C1738.52 648.876 1750.97 651.381 1763.32 653.868C1768.54 654.919 1773.74 655.967 1778.91 657.062L1777.87 661.954C1795.64 665.72 1812.69 669.994 1828.53 676.825L1830.51 672.234C1846.5 679.128 1861.39 688.595 1874.51 702.621L1870.85 706.035C1881.26 717.164 1890.58 731.377 1898.4 749.871L1903 747.924C1909.15 762.476 1914.36 779.524 1918.43 799.577L1913.53 800.574C1915.21 808.813 1916.69 817.58 1917.98 826.914C1919.12 835.245 1919.67 843.369 1919.65 851.287L1924.65 851.3C1924.6 868.594 1921.94 884.994 1916.94 900.482L1912.18 898.947C1907.25 914.223 1899.96 928.617 1890.59 942.115L1894.69 944.968C1885.46 958.253 1874.29 970.656 1861.43 982.163L1858.09 978.437C1846.35 988.951 1833.14 998.73 1818.66 1007.75L1821.3 1012C1807.65 1020.51 1792.92 1028.34 1777.28 1035.47L1775.2 1030.92C1760.6 1037.59 1745.19 1043.65 1729.1 1049.1L1730.7 1053.83C1715.26 1059.06 1699.21 1063.73 1682.69 1067.82L1681.49 1062.96C1665.71 1066.87 1649.49 1070.26 1632.93 1073.11L1633.78 1078.04C1617.53 1080.84 1600.97 1083.13 1584.2 1084.9L1583.67 1079.93C1567.31 1081.66 1550.75 1082.9 1534.08 1083.64L1534.3 1088.64C1517.71 1089.38 1501.01 1089.62 1484.31 1089.37L1484.38 1084.37C1467.8 1084.12 1451.21 1083.38 1434.71 1082.15L1434.33 1087.13C1417.64 1085.88 1401.03 1084.12 1384.61 1081.85L1385.29 1076.9C1368.76 1074.62 1352.41 1071.81 1336.36 1068.48L1335.34 1073.38C1318.8 1069.95 1302.56 1065.96 1286.72 1061.41L1288.1 1056.6C1271.95 1051.97 1256.24 1046.74 1241.08 1040.93L1239.29 1045.6C1223.44 1039.52 1208.17 1032.8 1193.62 1025.43L1195.88 1020.97C1180.81 1013.34 1166.55 1005.01 1153.21 995.985L1150.41 1000.13C1136.32 990.587 1123.24 980.265 1111.35 969.152L1114.76 965.498C1102.57 954.105 1091.66 941.887 1082.21 928.838L1078.16 931.77C1068.35 918.23 1060.07 903.791 1053.51 888.441L1058.11 886.476C1054.93 879.023 1052.16 871.35 1049.83 863.456Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<path d="M203.275 733.389L203.327 733.336L203.378 733.281C209.007 727.19 214.504 721.647 219.875 716.612L216.455 712.964C229.7 700.546 242.263 691.095 254.253 684.057L256.784 688.369C271.893 679.5 285.94 674.657 299.181 672.558L298.398 667.62C315.026 664.983 330.606 666.449 345.548 669.924L344.415 674.794C359.055 678.199 373.108 683.594 387.31 689.046L388.797 689.617L390.588 684.949C405.752 690.767 420.67 696.392 435.857 699.199L434.948 704.115C450.757 707.037 467.085 707.062 484.284 701.296L482.695 696.555C495.566 692.24 508.93 684.506 523.041 672.046L526.351 675.794C536.846 666.527 547.66 654.793 558.901 640.141L554.933 637.098C563.547 625.87 572.456 612.851 581.704 597.809L585.964 600.428C589.996 593.869 594.089 586.935 598.247 579.607C602.555 572.014 607.137 564.844 611.97 558.086L607.902 555.178C618.388 540.512 630.047 527.716 642.644 516.702L645.935 520.466C658.945 509.091 672.977 499.664 687.768 492.076L685.486 487.627C700.963 479.688 717.248 473.719 734.048 469.605L735.237 474.461C751.592 470.457 768.465 468.245 785.577 467.726L785.425 462.728C802.557 462.208 819.901 463.354 837.182 466.059L836.408 470.998C853.065 473.606 869.675 477.689 885.981 483.154L887.57 478.413C903.871 483.876 919.863 490.694 935.3 498.774L932.981 503.204C948.024 511.078 962.531 520.167 976.265 530.38L979.249 526.367C993.105 536.67 1006.19 548.101 1018.27 560.569L1014.68 564.048C1026.49 576.247 1037.32 589.449 1046.95 603.565L1051.08 600.748C1060.77 614.965 1069.27 630.1 1076.34 646.069L1071.76 648.093C1078.55 663.426 1084 679.538 1087.91 696.351L1092.78 695.218C1096.61 711.686 1098.99 728.817 1099.74 746.539L1094.74 746.748C1095.43 763.222 1094.69 780.227 1092.34 797.709L1097.3 798.374C1095.09 814.864 1091.48 831.759 1086.35 849.01L1081.56 847.584C1076.88 863.3 1070.92 879.332 1063.57 895.644L1068.13 897.699C1061.34 912.759 1053.39 928.039 1044.2 943.513L1039.9 940.959C1035.56 948.269 1030.93 955.624 1026.02 963.024C1025.17 964.305 1024.21 965.573 1023.15 966.811L1026.95 970.06C1024.64 972.756 1021.99 975.258 1019.19 977.439L1016.12 973.492C1014.82 974.505 1013.48 975.437 1012.15 976.273C1005.07 980.698 998.208 985.081 991.561 989.424L994.296 993.61C980.363 1002.71 967.376 1011.63 955.278 1020.38L952.348 1016.33C938.69 1026.2 926.146 1035.87 914.638 1045.34L917.815 1049.2C904.833 1059.88 893.195 1070.3 882.784 1080.47L879.289 1076.89C866.803 1089.1 856.035 1100.98 846.795 1112.58L850.706 1115.69C839.955 1129.19 831.341 1142.25 824.539 1154.94L820.132 1152.58C811.823 1168.09 806.13 1183.09 802.515 1197.7L807.369 1198.9C803.376 1215.03 802.008 1230.6 802.451 1245.74L797.453 1245.89C797.934 1262.35 800.496 1278.25 804.108 1293.73L808.977 1292.59C812.577 1308.02 817.263 1323.14 822.035 1338.12L817.271 1339.64C817.857 1341.48 818.444 1343.31 819.029 1345.14C823.292 1358.48 827.479 1371.58 830.935 1384.71L835.77 1383.44C839.83 1398.87 842.892 1414.33 843.843 1430.04L838.852 1430.34C839.754 1445.23 838.698 1460.27 834.709 1475.67L839.549 1476.93C835.906 1491 829.896 1505.38 820.812 1520.21L816.548 1517.59C809.315 1529.4 800.04 1541.55 788.309 1554.12L791.965 1557.53C782.169 1568.03 770.725 1578.77 757.419 1589.79L754.23 1585.94C748.363 1590.8 742.125 1595.72 735.494 1600.7C728.818 1605.72 722.048 1610.21 715.194 1614.21L717.71 1618.53C702.98 1627.11 687.837 1633.44 672.387 1637.7L671.058 1632.88C655.505 1637.17 639.618 1639.29 623.5 1639.42L623.541 1644.42C607.371 1644.56 590.996 1642.73 574.523 1639.13L575.592 1634.25C560.261 1630.89 544.807 1625.95 529.322 1619.56L527.414 1624.18C512.616 1618.07 497.822 1610.67 483.11 1602.1L485.627 1597.78C471.969 1589.82 458.365 1580.82 444.88 1570.9L441.915 1574.92C428.946 1565.37 416.099 1554.98 403.431 1543.83L406.735 1540.07C394.682 1529.46 382.785 1518.15 371.093 1506.22L367.522 1509.72C356.146 1498.11 344.97 1485.92 334.037 1473.22L337.826 1469.96C327.254 1457.68 316.908 1444.91 306.827 1431.73L302.856 1434.77C292.93 1421.79 283.263 1408.41 273.894 1394.69L278.023 1391.87C268.826 1378.4 259.915 1364.6 251.328 1350.53L247.06 1353.13C238.493 1339.09 230.247 1324.78 222.358 1310.26L226.752 1307.87C218.918 1293.45 211.438 1278.82 204.347 1264.03L199.839 1266.19C192.686 1251.28 185.926 1236.2 179.597 1221.03L184.212 1219.11C177.859 1203.88 171.943 1188.55 166.499 1173.18L161.786 1174.85C156.232 1159.17 151.165 1143.45 146.626 1127.74L151.43 1126.35C146.828 1110.43 142.773 1094.52 139.305 1078.71L134.421 1079.78C130.839 1063.45 127.876 1047.21 125.578 1031.12L130.528 1030.41C128.178 1013.96 126.529 997.692 125.627 981.673L120.635 981.954C119.691 965.189 119.558 948.685 120.287 932.528L125.282 932.754C126.034 916.11 127.711 899.859 130.371 884.092L125.44 883.26C128.232 866.708 132.094 850.663 137.094 835.232L141.851 836.773C146.906 821.174 153.136 806.234 160.608 792.062L156.185 789.73C163.875 775.146 172.864 761.342 183.229 748.438L187.128 751.57C192.174 745.287 197.554 739.222 203.275 733.389Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<circle cx="1000" cy="1000" r="700" fill="#5670D8"/>
|
||||||
|
<path d="M1000 1605C1334.13 1605 1605 1334.13 1605 1000C1605 665.868 1334.13 395 1000 395C665.868 395 395 665.868 395 1000C395 1334.13 665.868 1605 1000 1605Z" fill="#627EEA" stroke="#A2B6FB" stroke-width="10"/>
|
||||||
|
<path d="M1018.7 549.918V882.559L1299.84 1008.2L1018.7 549.918Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 549.918L737.562 1008.2L1018.7 882.559V549.918Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1223.73V1449.75L1300 1060.52L1018.7 1223.73Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 1449.75V1223.73L737.562 1060.52L1018.7 1449.75Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1171.41L1299.84 1008.2L1018.7 882.559V1171.41Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M737.562 1008.2L1018.7 1171.41V882.559L737.562 1008.2Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<g style="mix-blend-mode:multiply" opacity="0.3">
|
||||||
|
<path d="M1569 1414C1463 1622 1182 1700 1005 1700C504.5 1707.5 108.001 1160 397 646C415.999 672 500.002 1204 821.001 1386C1192 1582 1569 1414 1569 1414Z" fill="#3C4F9A"/>
|
||||||
|
</g>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<mask id="path-33-inside-1_1048_45" fill="white">
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z"/>
|
||||||
|
</mask>
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z" fill="#454545"/>
|
||||||
|
<path d="M1346.5 1100L1330.25 1074.78L1350.22 1129.77L1346.5 1100ZM1391.5 1088L1388.19 1117.82L1391.5 1088ZM1418.5 1096.5L1448.32 1093.19L1447.41 1085.05L1442.5 1078.5L1418.5 1096.5ZM1420 1110L1409.11 1137.95L1455.29 1155.95L1449.82 1106.69L1420 1110ZM1362.75 1125.22C1364.35 1124.19 1368.78 1121.79 1374.42 1119.94C1380.18 1118.05 1384.99 1117.46 1388.19 1117.82L1394.81 1058.18C1380.01 1056.54 1366.07 1059.53 1355.71 1062.93C1345.22 1066.38 1336.15 1070.98 1330.25 1074.78L1362.75 1125.22ZM1388.19 1117.82C1395.29 1118.61 1399.13 1119.77 1400.61 1120.32C1401.36 1120.61 1401.22 1120.63 1400.48 1120.17C1400.1 1119.94 1399.39 1119.48 1398.49 1118.73C1397.7 1118.08 1396.14 1116.69 1394.5 1114.5L1442.5 1078.5C1438.86 1073.65 1434.48 1070.64 1431.88 1069.05C1428.75 1067.12 1425.33 1065.52 1421.77 1064.18C1414.62 1061.48 1405.71 1059.39 1394.81 1058.18L1388.19 1117.82ZM1388.68 1099.81L1390.18 1113.31L1449.82 1106.69L1448.32 1093.19L1388.68 1099.81ZM1430.89 1082.05C1423.37 1079.12 1413.62 1075.93 1404.56 1073.44C1396.71 1071.29 1385.35 1068.5 1376.5 1068.5V1128.5C1375.61 1128.5 1376.26 1128.43 1379.25 1129.02C1381.81 1129.53 1385.05 1130.31 1388.69 1131.31C1396.04 1133.32 1403.79 1135.88 1409.11 1137.95L1430.89 1082.05ZM1376.5 1068.5C1368.12 1068.5 1349.8 1069.35 1342.78 1070.23L1350.22 1129.77C1353.87 1129.31 1369.5 1128.5 1376.5 1128.5V1068.5Z" fill="white" mask="url(#path-33-inside-1_1048_45)"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<mask id="path-36-inside-2_1048_45" fill="white">
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)"/>
|
||||||
|
</mask>
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)" stroke="white" stroke-width="45" mask="url(#path-36-inside-2_1048_45)"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1391.87 1279.66L1390.85 1275.02L1393.28 1277.68L1391.87 1279.66Z" fill="#7D8BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1441.85 1559.26C1442.43 1559.72 1442.93 1560.21 1443.36 1560.69C1442.65 1560.5 1441.96 1560.32 1441.3 1560.16L1441.85 1559.26M1441.85 1559.26V1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1441.85 1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26C1441.53 1559.01 1441.19 1558.76 1440.82 1558.53L1440.28 1559.93C1440.57 1559.99 1440.86 1560.05 1441.16 1560.13L1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1416.99 1557.18L1418.71 1557.64L1416.99 1557.18C1416.83 1557.8 1416.68 1558.44 1416.54 1559.09C1415.97 1559.53 1415.41 1560.01 1414.87 1560.54C1411.74 1563.62 1410.08 1567.36 1409.33 1570.86C1408.78 1573.46 1408.67 1575.95 1408.93 1578.31C1407.42 1580.76 1406.34 1583.73 1406.05 1587.25C1405.84 1589.82 1406 1592.21 1406.44 1594.4C1405.55 1596.4 1404.95 1598.71 1404.9 1601.32C1404.8 1606.38 1406.8 1610.48 1408.87 1613.32C1411.76 1617.31 1415.98 1619.38 1417.61 1620.17C1419.99 1621.32 1422.68 1622.32 1425.29 1623.18C1430.57 1624.9 1436.87 1626.43 1442.86 1627.56C1448.74 1628.66 1455.06 1629.5 1460.22 1629.55C1462.55 1629.58 1466.05 1629.48 1469.41 1628.44C1471.04 1627.94 1474.2 1626.76 1476.98 1623.89C1476.98 1623.89 1476.98 1623.88 1476.99 1623.88C1477.44 1623.82 1477.9 1623.75 1478.36 1623.66C1481.19 1623.11 1486.74 1621.25 1490.08 1615.81C1492.27 1614.98 1494.54 1613.67 1496.61 1611.61C1498.01 1610.2 1499.65 1608.26 1501.03 1605.89C1504.37 1604.31 1508.15 1601.39 1510.29 1596.41C1510.3 1596.38 1510.31 1596.35 1510.33 1596.31C1511.05 1594.62 1512.92 1590.27 1512.67 1585.26C1512.51 1582.2 1511.6 1578.83 1509.42 1575.72C1507.32 1572.73 1504.66 1570.84 1502.34 1569.65C1491.85 1564.28 1475.85 1556.63 1462.01 1551.24C1455.22 1548.59 1448.2 1546.19 1442.36 1545.04C1439.63 1544.5 1435.82 1543.95 1431.97 1544.47C1428.35 1544.96 1419.57 1547.4 1416.99 1557.18ZM1451.7 1614.97C1451.64 1614.57 1451.59 1614.18 1451.56 1613.79C1453.02 1613.99 1454.43 1614.16 1455.76 1614.29C1455.79 1614.29 1455.81 1614.29 1455.84 1614.3L1454.43 1619.14C1453.94 1618.81 1453.42 1618.35 1452.93 1617.72C1452.26 1616.83 1451.85 1615.84 1451.7 1614.97ZM1490.49 1578.08C1490.49 1578.08 1490.46 1578.08 1490.41 1578.08C1490.46 1578.08 1490.49 1578.08 1490.49 1578.08Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1409.5 1173C1402.7 1173.8 1407.67 1179.33 1411 1182C1414.17 1182.67 1421.8 1184.1 1427 1184.5C1433.5 1185 1447.5 1184.5 1447.5 1180C1447.5 1176.8 1418 1172 1409.5 1173Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1376.5 1097.5C1370.34 1097.5 1358.25 1098.03 1350.88 1098.59C1354.64 1096.56 1359.67 1094.26 1365.37 1092.39C1373.36 1089.77 1382.58 1088.02 1391.39 1088.99C1400.33 1089.99 1406.62 1091.6 1410.83 1093.19C1412.94 1093.98 1414.53 1094.77 1415.66 1095.46C1416.62 1096.05 1417.21 1096.55 1417.54 1096.91L1418.82 1108.48C1412.55 1106.11 1404.49 1103.49 1396.89 1101.41C1388.69 1099.16 1380.9 1097.5 1376.5 1097.5Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<rect x="1343.94" y="1098.11" width="77.4768" height="43" rx="14" transform="rotate(6.45837 1343.94 1098.11)" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1380.48 1293.04L1379.91 1290.47L1375.48 1270.29L1373.52 1270.71L1378.44 1293.09L1363.6 1319.51L1364.99 1261.41L1381.49 1243.97L1411.22 1276.58L1384.99 1313.58L1380.48 1293.04Z" fill="#7D8BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1489.83 1594.41C1489.79 1594.29 1489.74 1594.18 1489.68 1594.08C1490.09 1594.09 1490.49 1594.09 1490.88 1594.08C1492.29 1594.03 1493.64 1593.83 1494.77 1593.36C1495.93 1592.88 1496.9 1592.1 1497.42 1590.89C1498.17 1589.15 1498.76 1587.47 1498.69 1585.96C1498.65 1585.18 1498.42 1584.43 1497.95 1583.75C1497.48 1583.09 1496.81 1582.55 1495.95 1582.11C1485.69 1576.85 1470.16 1569.44 1456.92 1564.28C1450.32 1561.71 1444.24 1559.68 1439.65 1558.77C1437.37 1558.32 1435.38 1558.13 1433.85 1558.34C1432.33 1558.55 1430.94 1559.21 1430.53 1560.75C1429.52 1564.59 1429.59 1567.35 1430.22 1569.24C1429.3 1569.07 1428.34 1569.01 1427.42 1569.17C1426.43 1569.34 1425.47 1569.76 1424.68 1570.54C1423.89 1571.31 1423.32 1572.39 1423.02 1573.79C1422.35 1576.91 1423.24 1579.31 1424.66 1580.99C1425.08 1581.49 1425.54 1581.93 1426.02 1582.3C1425.34 1582.46 1424.65 1582.68 1423.98 1582.98C1422.01 1583.88 1420.24 1585.56 1420 1588.42C1419.67 1592.36 1421.37 1595.32 1422.96 1597.04C1421.92 1597.43 1420.85 1598.02 1420.07 1598.85C1419.4 1599.56 1418.92 1600.48 1418.9 1601.6C1418.88 1602.71 1419.31 1603.87 1420.19 1605.09C1420.85 1606 1422.16 1606.82 1423.71 1607.57C1425.31 1608.34 1427.34 1609.12 1429.63 1609.86C1434.21 1611.36 1439.91 1612.76 1445.44 1613.8C1450.97 1614.83 1456.37 1615.51 1460.36 1615.55C1462.34 1615.57 1464.06 1615.44 1465.29 1615.06C1465.9 1614.87 1466.49 1614.59 1466.92 1614.15C1467.39 1613.67 1467.6 1613.04 1467.49 1612.34C1467.24 1610.89 1466.75 1609.67 1466.11 1608.67C1467.93 1609.19 1469.8 1609.64 1471.49 1609.88C1473.01 1610.09 1474.48 1610.15 1475.67 1609.92C1476.86 1609.69 1478.02 1609.1 1478.45 1607.82C1479.16 1605.67 1479.27 1603.9 1479.08 1602.59C1479.88 1602.8 1480.77 1602.98 1481.66 1603.06C1483.36 1603.21 1485.38 1603.04 1486.71 1601.71C1488.03 1600.39 1489.27 1598.63 1489.77 1596.98C1490.02 1596.15 1490.12 1595.24 1489.83 1594.41Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545"/>
|
||||||
|
<path d="M1631.79 1492.83L1625.62 1517.38L1640.42 1530.96L1631.79 1492.83Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1631.79 1492.83L1606.16 1522.35L1625.62 1517.38L1631.79 1492.83Z" fill="white"/>
|
||||||
|
<path d="M1619.29 1542.56L1615.1 1559.24L1639.46 1534.82L1619.29 1542.56Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1615.1 1559.25L1619.29 1542.56L1605.19 1526.21L1615.1 1559.25Z" fill="white"/>
|
||||||
|
<path d="M1620.26 1538.7L1640.42 1530.96L1625.62 1517.38L1620.26 1538.7Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1606.16 1522.35L1620.26 1538.7L1625.62 1517.38L1606.16 1522.35Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1577.06 365.61C1575.01 363.706 1573.92 361.351 1573.79 358.546C1573.66 355.74 1574.57 353.309 1576.52 351.253C1578.38 349.2 1580.71 348.131 1583.52 348.046C1586.33 347.961 1588.76 348.871 1590.81 350.776C1592.8 352.617 1593.86 354.941 1593.99 357.746C1594.14 360.573 1593.28 363.012 1591.42 365.065C1590.12 366.422 1588.6 367.34 1586.85 367.82C1585.13 368.321 1583.39 368.388 1581.63 368.019C1579.92 367.648 1578.39 366.845 1577.06 365.61Z" fill="white"/>
|
||||||
|
<path d="M1614.26 400.09C1612.21 398.185 1611.12 395.83 1610.99 393.025C1610.86 390.22 1611.77 387.789 1613.72 385.732C1615.58 383.679 1617.91 382.61 1620.72 382.526C1623.53 382.441 1625.96 383.351 1628.01 385.255C1630 387.097 1631.06 389.42 1631.18 392.226C1631.34 395.052 1630.48 397.492 1628.62 399.545C1627.32 400.901 1625.8 401.82 1624.05 402.3C1622.33 402.801 1620.59 402.867 1618.83 402.498C1617.12 402.127 1615.59 401.325 1614.26 400.09Z" fill="white"/>
|
||||||
|
<path d="M1651.46 434.569C1649.41 432.665 1648.32 430.31 1648.19 427.504C1648.06 424.699 1648.97 422.268 1650.92 420.212C1652.78 418.159 1655.11 417.09 1657.92 417.005C1660.73 416.92 1663.16 417.83 1665.21 419.735C1667.2 421.576 1668.26 423.9 1668.38 426.705C1668.53 429.531 1667.68 431.971 1665.82 434.024C1664.52 435.381 1663 436.299 1661.25 436.779C1659.53 437.28 1657.79 437.346 1656.03 436.977C1654.32 436.607 1652.79 435.804 1651.46 434.569Z" fill="white"/>
|
||||||
|
<path d="M1688.66 469.049C1686.61 467.144 1685.51 464.789 1685.39 461.984C1685.26 459.178 1686.17 456.747 1688.12 454.691C1689.98 452.638 1692.31 451.569 1695.12 451.484C1697.92 451.4 1700.36 452.309 1702.41 454.214C1704.4 456.056 1705.46 458.379 1705.58 461.184C1705.73 464.011 1704.88 466.451 1703.02 468.504C1701.72 469.86 1700.2 470.778 1698.45 471.258C1696.73 471.76 1694.99 471.826 1693.23 471.457C1691.52 471.086 1689.99 470.283 1688.66 469.049Z" fill="white"/>
|
||||||
|
<path d="M1725.86 503.528C1723.81 501.623 1722.71 499.269 1722.59 496.463C1722.46 493.658 1723.37 491.227 1725.32 489.17C1727.18 487.117 1729.51 486.048 1732.32 485.964C1735.12 485.879 1737.56 486.789 1739.61 488.693C1741.6 490.535 1742.65 492.858 1742.78 495.664C1742.93 498.49 1742.08 500.93 1740.22 502.983C1738.92 504.339 1737.4 505.258 1735.65 505.738C1733.93 506.239 1732.19 506.305 1730.43 505.936C1728.71 505.565 1727.19 504.763 1725.86 503.528Z" fill="white"/>
|
||||||
|
<path d="M1763.06 538.007C1761 536.103 1759.91 533.748 1759.79 530.943C1759.66 528.137 1760.57 525.706 1762.51 523.65C1764.38 521.597 1766.71 520.528 1769.52 520.443C1772.32 520.358 1774.75 521.268 1776.81 523.173C1778.8 525.014 1779.85 527.338 1779.98 530.143C1780.13 532.97 1779.28 535.409 1777.42 537.462C1776.12 538.819 1774.59 539.737 1772.85 540.217C1771.12 540.718 1769.38 540.784 1767.63 540.415C1765.91 540.045 1764.39 539.242 1763.06 538.007Z" fill="white"/>
|
||||||
|
<path d="M1800.26 572.487C1798.2 570.582 1797.11 568.227 1796.98 565.422C1796.86 562.617 1797.77 560.186 1799.71 558.129C1801.58 556.076 1803.91 555.007 1806.72 554.922C1809.52 554.838 1811.95 555.748 1814.01 557.652C1816 559.494 1817.05 561.817 1817.18 564.623C1817.33 567.449 1816.48 569.889 1814.62 571.942C1813.32 573.298 1811.79 574.216 1810.05 574.697C1808.32 575.198 1806.58 575.264 1804.83 574.895C1803.11 574.524 1801.59 573.721 1800.26 572.487Z" fill="white"/>
|
||||||
|
<path d="M1546.12 398.992C1544.07 397.087 1542.98 394.732 1542.85 391.927C1542.72 389.122 1543.63 386.691 1545.58 384.634C1547.44 382.581 1549.77 381.512 1552.58 381.428C1555.39 381.343 1557.82 382.253 1559.87 384.157C1561.86 385.999 1562.92 388.322 1563.04 391.128C1563.2 393.954 1562.34 396.394 1560.48 398.447C1559.18 399.803 1557.66 400.722 1555.91 401.202C1554.19 401.703 1552.45 401.769 1550.69 401.4C1548.98 401.029 1547.45 400.226 1546.12 398.992Z" fill="white"/>
|
||||||
|
<path d="M1583.32 433.471C1581.27 431.567 1580.18 429.212 1580.05 426.406C1579.92 423.601 1580.83 421.17 1582.78 419.114C1584.64 417.061 1586.97 415.992 1589.78 415.907C1592.59 415.822 1595.02 416.732 1597.07 418.636C1599.06 420.478 1600.12 422.802 1600.24 425.607C1600.39 428.433 1599.54 430.873 1597.68 432.926C1596.38 434.283 1594.86 435.201 1593.11 435.681C1591.39 436.182 1589.65 436.248 1587.89 435.879C1586.18 435.509 1584.65 434.706 1583.32 433.471Z" fill="white"/>
|
||||||
|
<path d="M1620.52 467.951C1618.47 466.046 1617.37 463.691 1617.25 460.886C1617.12 458.08 1618.03 455.649 1619.98 453.593C1621.84 451.54 1624.17 450.471 1626.98 450.386C1629.79 450.302 1632.22 451.211 1634.27 453.116C1636.26 454.958 1637.32 457.281 1637.44 460.086C1637.59 462.913 1636.74 465.352 1634.88 467.406C1633.58 468.762 1632.06 469.68 1630.31 470.16C1628.59 470.662 1626.85 470.728 1625.09 470.359C1623.38 469.988 1621.85 469.185 1620.52 467.951Z" fill="white"/>
|
||||||
|
<path d="M1657.72 502.43C1655.67 500.525 1654.57 498.171 1654.45 495.365C1654.32 492.56 1655.23 490.129 1657.18 488.072C1659.04 486.019 1661.37 484.95 1664.18 484.866C1666.98 484.781 1669.42 485.691 1671.47 487.595C1673.46 489.437 1674.51 491.76 1674.64 494.566C1674.79 497.392 1673.94 499.832 1672.08 501.885C1670.78 503.241 1669.26 504.16 1667.51 504.64C1665.79 505.141 1664.05 505.207 1662.29 504.838C1660.58 504.467 1659.05 503.665 1657.72 502.43Z" fill="white"/>
|
||||||
|
<path d="M1694.92 536.909C1692.87 535.005 1691.77 532.65 1691.65 529.844C1691.52 527.039 1692.43 524.608 1694.37 522.552C1696.24 520.499 1698.57 519.43 1701.38 519.345C1704.18 519.26 1706.61 520.17 1708.67 522.075C1710.66 523.916 1711.71 526.24 1711.84 529.045C1711.99 531.872 1711.14 534.311 1709.28 536.364C1707.98 537.721 1706.46 538.639 1704.71 539.119C1702.98 539.62 1701.24 539.686 1699.49 539.317C1697.77 538.947 1696.25 538.144 1694.92 536.909Z" fill="white"/>
|
||||||
|
<path d="M1732.12 571.389C1730.06 569.484 1728.97 567.129 1728.84 564.324C1728.72 561.518 1729.63 559.088 1731.57 557.031C1733.44 554.978 1735.77 553.909 1738.58 553.824C1741.38 553.74 1743.81 554.65 1745.87 556.554C1747.86 558.396 1748.91 560.719 1749.04 563.525C1749.19 566.351 1748.34 568.791 1746.48 570.844C1745.18 572.2 1743.65 573.118 1741.91 573.599C1740.18 574.1 1738.44 574.166 1736.69 573.797C1734.97 573.426 1733.45 572.623 1732.12 571.389Z" fill="white"/>
|
||||||
|
<path d="M1769.32 605.868C1767.26 603.964 1766.17 601.609 1766.04 598.803C1765.92 595.998 1766.83 593.567 1768.77 591.511C1770.63 589.458 1772.97 588.389 1775.78 588.304C1778.58 588.219 1781.01 589.129 1783.07 591.033C1785.06 592.875 1786.11 595.199 1786.24 598.004C1786.39 600.83 1785.54 603.27 1783.68 605.323C1782.38 606.679 1780.85 607.598 1779.11 608.078C1777.38 608.579 1775.64 608.645 1773.89 608.276C1772.17 607.906 1770.65 607.103 1769.32 605.868Z" fill="white"/>
|
||||||
|
<path d="M1515.18 432.373C1513.13 430.469 1512.04 428.114 1511.91 425.308C1511.78 422.503 1512.69 420.072 1514.64 418.016C1516.5 415.963 1518.83 414.894 1521.64 414.809C1524.45 414.724 1526.88 415.634 1528.93 417.538C1530.92 419.38 1531.98 421.704 1532.1 424.509C1532.26 427.335 1531.4 429.775 1529.54 431.828C1528.24 433.185 1526.72 434.103 1524.97 434.583C1523.25 435.084 1521.51 435.15 1519.75 434.781C1518.04 434.411 1516.51 433.608 1515.18 432.373Z" fill="white"/>
|
||||||
|
<path d="M1552.38 466.852C1550.33 464.948 1549.24 462.593 1549.11 459.788C1548.98 456.982 1549.89 454.551 1551.84 452.495C1553.7 450.442 1556.03 449.373 1558.84 449.288C1561.65 449.204 1564.08 450.113 1566.13 452.018C1568.12 453.859 1569.18 456.183 1569.3 458.988C1569.45 461.815 1568.6 464.254 1566.74 466.308C1565.44 467.664 1563.92 468.582 1562.17 469.062C1560.45 469.564 1558.71 469.63 1556.95 469.261C1555.24 468.89 1553.71 468.087 1552.38 466.852Z" fill="white"/>
|
||||||
|
<path d="M1589.58 501.332C1587.53 499.427 1586.43 497.072 1586.31 494.267C1586.18 491.462 1587.09 489.031 1589.04 486.974C1590.9 484.921 1593.23 483.852 1596.04 483.768C1598.84 483.683 1601.28 484.593 1603.33 486.497C1605.32 488.339 1606.37 490.662 1606.5 493.468C1606.65 496.294 1605.8 498.734 1603.94 500.787C1602.64 502.143 1601.12 503.062 1599.37 503.542C1597.65 504.043 1595.91 504.109 1594.15 503.74C1592.44 503.369 1590.91 502.567 1589.58 501.332Z" fill="white"/>
|
||||||
|
<path d="M1626.78 535.811C1624.73 533.907 1623.63 531.552 1623.51 528.746C1623.38 525.941 1624.29 523.51 1626.24 521.454C1628.1 519.401 1630.43 518.332 1633.24 518.247C1636.04 518.162 1638.48 519.072 1640.53 520.977C1642.52 522.818 1643.57 525.142 1643.7 527.947C1643.85 530.774 1643 533.213 1641.14 535.266C1639.84 536.623 1638.32 537.541 1636.57 538.021C1634.85 538.522 1633.1 538.588 1631.35 538.219C1629.63 537.849 1628.11 537.046 1626.78 535.811Z" fill="white"/>
|
||||||
|
<path d="M1663.98 570.291C1661.92 568.386 1660.83 566.031 1660.71 563.226C1660.58 560.42 1661.49 557.99 1663.43 555.933C1665.3 553.88 1667.63 552.811 1670.44 552.726C1673.24 552.642 1675.67 553.552 1677.73 555.456C1679.72 557.298 1680.77 559.621 1680.9 562.427C1681.05 565.253 1680.2 567.693 1678.34 569.746C1677.04 571.102 1675.51 572.02 1673.77 572.501C1672.04 573.002 1670.3 573.068 1668.55 572.699C1666.83 572.328 1665.31 571.525 1663.98 570.291Z" fill="white"/>
|
||||||
|
<path d="M1701.18 604.77C1699.12 602.866 1698.03 600.511 1697.9 597.705C1697.78 594.9 1698.69 592.469 1700.63 590.413C1702.5 588.359 1704.83 587.291 1707.64 587.206C1710.44 587.121 1712.87 588.031 1714.93 589.935C1716.92 591.777 1717.97 594.101 1718.1 596.906C1718.25 599.732 1717.4 602.172 1715.54 604.225C1714.24 605.581 1712.71 606.5 1710.97 606.98C1709.24 607.481 1707.5 607.547 1705.75 607.178C1704.03 606.807 1702.51 606.005 1701.18 604.77Z" fill="white"/>
|
||||||
|
<path d="M1738.38 639.249C1736.32 637.345 1735.23 634.99 1735.1 632.185C1734.98 629.379 1735.89 626.948 1737.83 624.892C1739.69 622.839 1742.03 621.77 1744.84 621.685C1747.64 621.6 1750.07 622.51 1752.13 624.415C1754.12 626.256 1755.17 628.58 1755.3 631.385C1755.45 634.212 1754.6 636.651 1752.74 638.704C1751.44 640.061 1749.91 640.979 1748.17 641.459C1746.44 641.96 1744.7 642.027 1742.95 641.658C1741.23 641.287 1739.71 640.484 1738.38 639.249Z" fill="white"/>
|
||||||
|
<path d="M1484.24 465.754C1482.19 463.85 1481.1 461.495 1480.97 458.69C1480.84 455.884 1481.75 453.453 1483.7 451.397C1485.56 449.344 1487.89 448.275 1490.7 448.19C1493.51 448.106 1495.94 449.015 1497.99 450.92C1499.98 452.761 1501.04 455.085 1501.16 457.89C1501.31 460.717 1500.46 463.156 1498.6 465.209C1497.3 466.566 1495.78 467.484 1494.03 467.964C1492.31 468.466 1490.57 468.532 1488.81 468.163C1487.1 467.792 1485.57 466.989 1484.24 465.754Z" fill="white"/>
|
||||||
|
<path d="M1521.44 500.234C1519.39 498.329 1518.29 495.974 1518.17 493.169C1518.04 490.364 1518.95 487.933 1520.9 485.876C1522.76 483.823 1525.09 482.754 1527.9 482.67C1530.71 482.585 1533.14 483.495 1535.19 485.399C1537.18 487.241 1538.24 489.564 1538.36 492.37C1538.51 495.196 1537.66 497.636 1535.8 499.689C1534.5 501.045 1532.98 501.964 1531.23 502.444C1529.51 502.945 1527.77 503.011 1526.01 502.642C1524.3 502.271 1522.77 501.469 1521.44 500.234Z" fill="white"/>
|
||||||
|
<path d="M1558.64 534.713C1556.59 532.809 1555.49 530.454 1555.37 527.648C1555.24 524.843 1556.15 522.412 1558.1 520.356C1559.96 518.303 1562.29 517.234 1565.1 517.149C1567.9 517.064 1570.34 517.974 1572.39 519.879C1574.38 521.72 1575.43 524.044 1575.56 526.849C1575.71 529.675 1574.86 532.115 1573 534.168C1571.7 535.525 1570.18 536.443 1568.43 536.923C1566.71 537.424 1564.97 537.49 1563.21 537.121C1561.5 536.751 1559.97 535.948 1558.64 534.713Z" fill="white"/>
|
||||||
|
<path d="M1595.84 569.193C1593.78 567.288 1592.69 564.933 1592.57 562.128C1592.44 559.322 1593.35 556.892 1595.29 554.835C1597.16 552.782 1599.49 551.713 1602.3 551.628C1605.1 551.544 1607.53 552.453 1609.59 554.358C1611.58 556.2 1612.63 558.523 1612.76 561.329C1612.91 564.155 1612.06 566.595 1610.2 568.648C1608.9 570.004 1607.38 570.922 1605.63 571.403C1603.9 571.904 1602.16 571.97 1600.41 571.601C1598.69 571.23 1597.17 570.427 1595.84 569.193Z" fill="white"/>
|
||||||
|
<path d="M1633.04 603.672C1630.98 601.768 1629.89 599.413 1629.76 596.607C1629.64 593.802 1630.55 591.371 1632.49 589.315C1634.36 587.261 1636.69 586.193 1639.5 586.108C1642.3 586.023 1644.73 586.933 1646.79 588.837C1648.78 590.679 1649.83 593.003 1649.96 595.808C1650.11 598.634 1649.26 601.074 1647.4 603.127C1646.1 604.483 1644.57 605.402 1642.83 605.882C1641.1 606.383 1639.36 606.449 1637.61 606.08C1635.89 605.709 1634.37 604.907 1633.04 603.672Z" fill="white"/>
|
||||||
|
<path d="M1670.24 638.151C1668.18 636.247 1667.09 633.892 1666.96 631.087C1666.84 628.281 1667.75 625.85 1669.69 623.794C1671.55 621.741 1673.89 620.672 1676.7 620.587C1679.5 620.502 1681.93 621.412 1683.99 623.317C1685.98 625.158 1687.03 627.482 1687.16 630.287C1687.31 633.114 1686.46 635.553 1684.6 637.606C1683.3 638.963 1681.77 639.881 1680.03 640.361C1678.3 640.862 1676.56 640.929 1674.81 640.559C1673.09 640.189 1671.57 639.386 1670.24 638.151Z" fill="white"/>
|
||||||
|
<path d="M1707.44 672.631C1705.38 670.726 1704.29 668.371 1704.16 665.566C1704.04 662.761 1704.95 660.33 1706.89 658.273C1708.75 656.22 1711.09 655.151 1713.9 655.067C1716.7 654.982 1719.13 655.892 1721.19 657.796C1723.17 659.638 1724.23 661.961 1724.36 664.767C1724.51 667.593 1723.66 670.033 1721.8 672.086C1720.5 673.442 1718.97 674.36 1717.23 674.841C1715.5 675.342 1713.76 675.408 1712.01 675.039C1710.29 674.668 1708.77 673.865 1707.44 672.631Z" fill="white"/>
|
||||||
|
<path d="M1453.3 499.136C1451.25 497.231 1450.15 494.876 1450.03 492.071C1449.9 489.266 1450.81 486.835 1452.76 484.778C1454.62 482.725 1456.95 481.656 1459.76 481.572C1462.57 481.487 1465 482.397 1467.05 484.301C1469.04 486.143 1470.1 488.466 1470.22 491.272C1470.37 494.098 1469.52 496.538 1467.66 498.591C1466.36 499.947 1464.84 500.866 1463.09 501.346C1461.37 501.847 1459.63 501.913 1457.87 501.544C1456.16 501.173 1454.63 500.371 1453.3 499.136Z" fill="white"/>
|
||||||
|
<path d="M1490.5 533.615C1488.45 531.711 1487.35 529.356 1487.23 526.55C1487.1 523.745 1488.01 521.314 1489.96 519.258C1491.82 517.205 1494.15 516.136 1496.96 516.051C1499.76 515.966 1502.2 516.876 1504.25 518.781C1506.24 520.622 1507.29 522.946 1507.42 525.751C1507.57 528.577 1506.72 531.017 1504.86 533.07C1503.56 534.427 1502.04 535.345 1500.29 535.825C1498.57 536.326 1496.83 536.392 1495.07 536.023C1493.36 535.653 1491.83 534.85 1490.5 533.615Z" fill="white"/>
|
||||||
|
<path d="M1527.7 568.095C1525.65 566.19 1524.55 563.835 1524.43 561.03C1524.3 558.224 1525.21 555.794 1527.16 553.737C1529.02 551.684 1531.35 550.615 1534.16 550.53C1536.96 550.446 1539.4 551.355 1541.45 553.26C1543.44 555.102 1544.49 557.425 1544.62 560.231C1544.77 563.057 1543.92 565.497 1542.06 567.55C1540.76 568.906 1539.24 569.824 1537.49 570.305C1535.77 570.806 1534.02 570.872 1532.27 570.503C1530.55 570.132 1529.03 569.329 1527.7 568.095Z" fill="white"/>
|
||||||
|
<path d="M1564.9 602.574C1562.84 600.669 1561.75 598.315 1561.62 595.509C1561.5 592.704 1562.41 590.273 1564.35 588.217C1566.22 586.163 1568.55 585.095 1571.36 585.01C1574.16 584.925 1576.59 585.835 1578.65 587.739C1580.64 589.581 1581.69 591.904 1581.82 594.71C1581.97 597.536 1581.12 599.976 1579.26 602.029C1577.96 603.385 1576.43 604.304 1574.69 604.784C1572.96 605.285 1571.22 605.351 1569.47 604.982C1567.75 604.611 1566.23 603.809 1564.9 602.574Z" fill="white"/>
|
||||||
|
<path d="M1602.1 637.053C1600.04 635.149 1598.95 632.794 1598.82 629.989C1598.7 627.183 1599.61 624.752 1601.55 622.696C1603.41 620.643 1605.75 619.574 1608.56 619.489C1611.36 619.404 1613.79 620.314 1615.85 622.219C1617.84 624.06 1618.89 626.384 1619.02 629.189C1619.17 632.016 1618.32 634.455 1616.46 636.508C1615.16 637.865 1613.63 638.783 1611.89 639.263C1610.16 639.764 1608.42 639.83 1606.67 639.461C1604.95 639.091 1603.43 638.288 1602.1 637.053Z" fill="white"/>
|
||||||
|
<path d="M1639.3 671.533C1637.24 669.628 1636.15 667.273 1636.02 664.468C1635.9 661.663 1636.81 659.232 1638.75 657.175C1640.61 655.122 1642.95 654.053 1645.76 653.969C1648.56 653.884 1650.99 654.794 1653.05 656.698C1655.03 658.54 1656.09 660.863 1656.22 663.669C1656.37 666.495 1655.52 668.935 1653.66 670.988C1652.36 672.344 1650.83 673.262 1649.09 673.743C1647.36 674.244 1645.62 674.31 1643.87 673.941C1642.15 673.57 1640.63 672.767 1639.3 671.533Z" fill="white"/>
|
||||||
|
<path d="M1676.5 706.012C1674.44 704.108 1673.35 701.753 1673.22 698.947C1673.09 696.142 1674 693.711 1675.95 691.655C1677.81 689.602 1680.15 688.533 1682.95 688.448C1685.76 688.363 1688.19 689.273 1690.25 691.177C1692.23 693.019 1693.29 695.343 1693.42 698.148C1693.57 700.974 1692.72 703.414 1690.85 705.467C1689.56 706.824 1688.03 707.742 1686.29 708.222C1684.56 708.723 1682.82 708.789 1681.07 708.42C1679.35 708.05 1677.83 707.247 1676.5 706.012Z" fill="white"/>
|
||||||
|
<path d="M1422.36 532.517C1420.31 530.613 1419.21 528.258 1419.09 525.452C1418.96 522.647 1419.87 520.216 1421.82 518.16C1423.68 516.107 1426.01 515.038 1428.82 514.953C1431.63 514.868 1434.06 515.778 1436.11 517.683C1438.1 519.524 1439.16 521.848 1439.28 524.653C1439.43 527.479 1438.58 529.919 1436.72 531.972C1435.42 533.329 1433.9 534.247 1432.15 534.727C1430.43 535.228 1428.69 535.294 1426.93 534.925C1425.22 534.555 1423.69 533.752 1422.36 532.517Z" fill="white"/>
|
||||||
|
<path d="M1459.56 566.997C1457.51 565.092 1456.41 562.737 1456.29 559.932C1456.16 557.126 1457.07 554.695 1459.02 552.639C1460.88 550.586 1463.21 549.517 1466.02 549.432C1468.82 549.348 1471.26 550.257 1473.31 552.162C1475.3 554.004 1476.35 556.327 1476.48 559.132C1476.63 561.959 1475.78 564.399 1473.92 566.452C1472.62 567.808 1471.1 568.726 1469.35 569.207C1467.63 569.708 1465.89 569.774 1464.13 569.405C1462.42 569.034 1460.89 568.231 1459.56 566.997Z" fill="white"/>
|
||||||
|
<path d="M1496.76 601.476C1494.7 599.571 1493.61 597.217 1493.49 594.411C1493.36 591.606 1494.27 589.175 1496.21 587.118C1498.08 585.065 1500.41 583.997 1503.22 583.912C1506.02 583.827 1508.45 584.737 1510.51 586.641C1512.5 588.483 1513.55 590.806 1513.68 593.612C1513.83 596.438 1512.98 598.878 1511.12 600.931C1509.82 602.287 1508.29 603.206 1506.55 603.686C1504.82 604.187 1503.08 604.253 1501.33 603.884C1499.61 603.513 1498.09 602.711 1496.76 601.476Z" fill="white"/>
|
||||||
|
<path d="M1533.96 635.955C1531.9 634.051 1530.81 631.696 1530.68 628.891C1530.56 626.085 1531.47 623.654 1533.41 621.598C1535.28 619.545 1537.61 618.476 1540.42 618.391C1543.22 618.306 1545.65 619.216 1547.71 621.121C1549.7 622.962 1550.75 625.286 1550.88 628.091C1551.03 630.918 1550.18 633.357 1548.32 635.41C1547.02 636.767 1545.49 637.685 1543.75 638.165C1542.02 638.666 1540.28 638.732 1538.53 638.363C1536.81 637.993 1535.29 637.19 1533.96 635.955Z" fill="white"/>
|
||||||
|
<path d="M1571.16 670.435C1569.1 668.53 1568.01 666.175 1567.88 663.37C1567.76 660.565 1568.67 658.134 1570.61 656.077C1572.47 654.024 1574.81 652.955 1577.62 652.87C1580.42 652.786 1582.85 653.696 1584.91 655.6C1586.9 657.442 1587.95 659.765 1588.08 662.571C1588.23 665.397 1587.38 667.837 1585.52 669.89C1584.22 671.246 1582.69 672.164 1580.95 672.645C1579.22 673.146 1577.48 673.212 1575.73 672.843C1574.01 672.472 1572.49 671.669 1571.16 670.435Z" fill="white"/>
|
||||||
|
<path d="M1608.36 704.914C1606.3 703.01 1605.21 700.655 1605.08 697.849C1604.96 695.044 1605.87 692.613 1607.81 690.557C1609.67 688.504 1612.01 687.435 1614.82 687.35C1617.62 687.265 1620.05 688.175 1622.11 690.079C1624.09 691.921 1625.15 694.245 1625.28 697.05C1625.43 699.876 1624.58 702.316 1622.72 704.369C1621.42 705.726 1619.89 706.644 1618.15 707.124C1616.42 707.625 1614.68 707.691 1612.93 707.322C1611.21 706.952 1609.69 706.149 1608.36 704.914Z" fill="white"/>
|
||||||
|
<path d="M1645.56 739.393C1643.5 737.489 1642.41 735.134 1642.28 732.329C1642.15 729.523 1643.06 727.092 1645.01 725.036C1646.87 722.983 1649.21 721.914 1652.01 721.829C1654.82 721.744 1657.25 722.654 1659.31 724.559C1661.29 726.4 1662.35 728.724 1662.48 731.529C1662.63 734.356 1661.78 736.795 1659.91 738.848C1658.62 740.205 1657.09 741.123 1655.35 741.603C1653.62 742.105 1651.88 742.171 1650.13 741.802C1648.41 741.431 1646.89 740.628 1645.56 739.393Z" fill="white"/>
|
||||||
|
<path d="M1319.35 282.231L1382.54 367.303L1478.66 345.769L1319.35 282.231Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1600 142L1511 288L1600 247.973V142Z" fill="white"/>
|
||||||
|
<path d="M936 156L847 302L936 261.973V156Z" fill="white"/>
|
||||||
|
<path d="M292 717L203 863L292 822.973V717Z" fill="white"/>
|
||||||
|
<path d="M1705 1291.99V1364L1795 1240L1705 1291.99Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1319 377V325.318L1256 288L1319 377Z" fill="white"/>
|
||||||
|
<path d="M999 201V149.318L936 112L999 201Z" fill="white"/>
|
||||||
|
<path d="M1655.88 1417.42L1691.03 1386.16L1678.52 1321L1655.88 1417.42Z" fill="white"/>
|
||||||
|
<path d="M1389 275L1479 223.018L1389 183V275Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1738.95 1236.69L1830.16 1188.69L1752.11 1140L1738.95 1236.69Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M419 186L447 478L619 156L419 186Z" fill="#7799F1"/>
|
||||||
|
<path d="M397.721 371L316.72 581.829L437.186 528.97L397.721 371Z" fill="#4963BE"/>
|
||||||
|
<path d="M503.904 458L631.091 574L579.905 370L503.904 458Z" fill="white"/>
|
||||||
|
<path d="M1722.7 1407.92L1719.13 1448.15L1667.8 1472.88L1722.7 1407.92Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1048_45">
|
||||||
|
<rect width="2000" height="2000" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 55 KiB |
11
assets/svg/cc.svg
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_7503_4777)">
|
||||||
|
<path d="M24.5 10.5H0.5V6H24.5V10.5Z" fill="#424A97"/>
|
||||||
|
<path opacity="0.4" d="M21.8333 1.5C23.3042 1.5 24.5 2.84297 24.5 4.5V6H0.5V4.5C0.5 2.84297 1.69375 1.5 3.16667 1.5H21.8333ZM24.5 19.5C24.5 21.1547 23.3042 22.5 21.8333 22.5H3.16667C1.69375 22.5 0.5 21.1547 0.5 19.5V10.5H24.5V19.5ZM5.16667 16.5C4.8 16.5 4.5 16.8375 4.5 17.25C4.5 17.6625 4.8 18 5.16667 18H7.83333C8.2 18 8.5 17.6625 8.5 17.25C8.5 16.8375 8.2 16.5 7.83333 16.5H5.16667ZM10.5 18H15.8333C16.2 18 16.5 17.6625 16.5 17.25C16.5 16.8375 16.2 16.5 15.8333 16.5H10.5C10.1333 16.5 9.83333 16.8375 9.83333 17.25C9.83333 17.6625 10.1333 18 10.5 18Z" fill="#424A97"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7503_4777">
|
||||||
|
<rect width="24" height="24" fill="white" transform="translate(0.5)"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 903 B |
10
assets/svg/circle-plus.svg
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_7035_24064)">
|
||||||
|
<path d="M0 10C0 4.47656 4.47656 0 10 0C15.5234 0 20 4.47656 20 10C20 15.5234 15.5234 20 10 20C4.47656 20 0 15.5234 0 10ZM10 14.375C10.5195 14.375 10.9375 13.957 10.9375 13.4375V10.9375H13.4375C13.957 10.9375 14.375 10.5195 14.375 10C14.375 9.48047 13.957 9.0625 13.4375 9.0625H10.9375V6.5625C10.9375 6.04297 10.5195 5.625 10 5.625C9.48047 5.625 9.0625 6.04297 9.0625 6.5625V9.0625H6.5625C6.04297 9.0625 5.625 9.48047 5.625 10C5.625 10.5195 6.04297 10.9375 6.5625 10.9375H9.0625V13.4375C9.0625 13.957 9.48047 14.375 10 14.375Z" fill="#232323"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7035_24064">
|
||||||
|
<rect width="20" height="20" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 796 B |
21
assets/svg/coin_icons/Ethereum.svg
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_7503_3080)">
|
||||||
|
<circle cx="12" cy="12" r="12" fill="#CDD4F0"/>
|
||||||
|
<g clip-path="url(#clip1_7503_3080)">
|
||||||
|
<path d="M11.9999 16.4938V21L6.59961 13.2179L11.9999 16.4938Z" fill="#8A92B2"/>
|
||||||
|
<path d="M17.3997 13.2186L12 21V16.4939L17.3997 13.2186Z" fill="#62688F"/>
|
||||||
|
<path d="M11.9993 3V9.6401L7.21816 11.8643L6.63477 12.1357L6.79429 11.8643L9.44041 7.35817L11.9993 3Z" fill="#8A92B2"/>
|
||||||
|
<path d="M17.3639 12.1357L16.7805 11.8643L12 9.6401V3L14.5589 7.35817L17.2043 11.8643L17.3639 12.1357Z" fill="#62688F"/>
|
||||||
|
<path d="M17.3639 12.1357L12 15.3977V9.64014L16.7805 11.8643L17.3639 12.1357Z" fill="#454A75"/>
|
||||||
|
<path d="M11.9993 9.64014V15.3977L6.63477 12.1357L7.21816 11.8643L11.9993 9.64014Z" fill="#62688F"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7503_3080">
|
||||||
|
<rect width="24" height="24" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="clip1_7503_3080">
|
||||||
|
<rect width="10.8" height="18" fill="white" transform="translate(6.59961 3)"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1 KiB |
161
assets/svg/coin_icons/bnb_icon.svg
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
viewBox="0 0 666.66669 666.66669"
|
||||||
|
height="666.66669"
|
||||||
|
width="666.66669"
|
||||||
|
id="svg3786"
|
||||||
|
version="1.1">
|
||||||
|
<metadata
|
||||||
|
id="metadata3792">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs3790" />
|
||||||
|
<image
|
||||||
|
y="0"
|
||||||
|
x="0"
|
||||||
|
id="image3794"
|
||||||
|
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9
|
||||||
|
kT1Iw0AcxV9TpSIVByOIdMhQnSyIijhqFYpQIdQKrTqYXPoFTRqSFBdHwbXg4Mdi1cHFWVcHV0EQ
|
||||||
|
/ABxdXFSdJES/5cUWsR6cNyPd/ced+8AoV5mut01DuiGY6UScSmTXZVCrxAQgYgwBhVmm3OynETH
|
||||||
|
8XWPAF/vYjyr87k/R5+WsxkQkIhnmWk5xBvE05uOyXmfWGRFRSM+Jx6z6ILEj1xXfX7jXPBY4Jmi
|
||||||
|
lU7NE4vEUqGN1TZmRUsnniKOarpB+ULGZ43zFme9XGXNe/IXhnPGyjLXaUaQwCKWIEOCiipKKMNB
|
||||||
|
jFaDFBsp2o938A97fplcKrlKYORYQAU6FM8P/ge/u7XzkxN+UjgOdL+47scIENoFGjXX/T523cYJ
|
||||||
|
EHwGroyWv1IHZj5Jr7W06BHQvw1cXLc0dQ+43AGGnkzFUjwpSFPI54H3M/qmLDBwC/Su+b0193H6
|
||||||
|
AKSpq+QNcHAIjBYoe73Du3vae/v3TLO/H0FbcpNhutfrAAAABmJLR0QA9wD3APeQBTXYAAAACXBI
|
||||||
|
WXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5wIcFA0Bfhx/qgAAGXhJREFUeNrt3U1uI0marlEzhwbK
|
||||||
|
gbaiTSS4J81COYs9CbkJbkWD0CAQWYMQqygVxSTpP2bfZ+cAjb4XuN24Jaf7w5dGKWoBUnt9eXx+
|
||||||
|
/z9+f9jt3/xEIKc7PwLIHfO7qXwrpZSfv0oppTz7qUBO1Y8A8sf84Oev8tfDbi/qIOhA1JiLOgg6
|
||||||
|
kCTmog6CDiSJuaiDoANJYn4c9eLb75DC5EcAY8a8lFLe/2ee/ATBQgeCxvzzUvfxOwg6EDjmog6C
|
||||||
|
DiSJuaiDoANJYi7qIOhAkpiLOgg6kCTmog6CDiSJ+XHUi99ThxD8HjqI+Zf8njpY6EDwmH9e6j5+
|
||||||
|
B0EHAsdc1EHQgSQxF3UQdCBJzEUdBB1IEvPjqBfffoeu+JY7iPnVfPsdLHQgeMw/L3Ufv4OgA4Fj
|
||||||
|
Luog6ECSmIs6CDqQJOaiDoIOYp4k5sdRL779Dk34ljuI+WJ8+x0sdBDzZEvdx+8g6CDmog4IOoi5
|
||||||
|
qIOgA2Iu6iDogJiLOgg6iLmoA4IOYt5/1IvfU4dV+D10EPPN+D11sNBBzJMtdR+/g6CDmIs6IOgg
|
||||||
|
5qIOgg6IuaiDoIOYczrqxbffYRbfcgcxb86338FCBzFPttR9/A6CDmIu6iDogJiLOgg6iDmiDoIO
|
||||||
|
Yo6og6CDmIs6CDog5v1Hvfg9dTjL76GDmHfP76mDhQ5inmyp+/gdBB3EXNRB0EHMEXUQdBBzRB0E
|
||||||
|
HcQcUQdBBzEXdRB0EHP6j3rxe+oMzu+hI+ZiHp7fUwcLHTEX82RL3cfvCDqIOaIOgg5ijqiDoIOY
|
||||||
|
I+og6CDmiDqCDmKOqIOgg5jTf9SL31MnOb+HjpiTnt9Tx0IHMSfZUvfxO4IOYo6og6CDmCPqIOgg
|
||||||
|
5og6CDpiDqKOoIOYI+og6CDm9B/14vfUCc7voSPmDM/vqWOhg5iTbKn7+B1BBzFH1EHQQcwRdRB0
|
||||||
|
xBxEHUEHMYfTUS++/U4QvuWOmMMXfPsdCx3EnGRL3cfvCDqIOaIOgo6Y+0kg6iDoiDmIOoIOYg6i
|
||||||
|
jqCDmCPqIOiIOfQf9eL31OmE30NHzOFGfk8dCx3EnGRL3cfvCDpiLuaIOgg6Yg6iDoKOmIOoI+gg
|
||||||
|
5iDqCDpiDqIOgo6Yg6iDoCPmIOoIOog5iDqCjpiDqIOgI+Yg6iDoiDmIOoIOYg6ijqAj5oCoI+iI
|
||||||
|
OYg6CDpiDqKOoIOYg6gj6Ig5IOoIOmIOog6CjpiDqCPoIOYg6gg6Yg6IOoKOmIOog6Aj5iDqCDqI
|
||||||
|
OYg6go6Y00UMSinFdRR1cpv8CBDz9DH//rDbPx/CTkx3U/n2+vIo6FjoiPnAMX9zXS11LHTEnMAx
|
||||||
|
/3Rd7y11Sx0LHTEn8DJ3nS11LHTEnODL/MR1ttQtdSx0xJwIMT+3zl13Sx0LHTEnV8wtdUsdCx0x
|
||||||
|
p7eYXxpyrwNLHQsdMafjZT6HpW6pY6Ej5nQQ8znr3OvCUkfQEXMSxdzrQ9QRdMScBjFfOuReJ6JO
|
||||||
|
bM7QxZygy3xNztTjc6ZuoSPmBIj5muvc68ZSR9ARcxLF3OtH1BF0xJwVYr51yL2ORJ1YnKGLOUGW
|
||||||
|
eUvO1ONzpm6hI+Z0EPOW69zrylJH0PHQJVHMvb5EHUHHw5YbYt5byL3ORJ2+OUMXczpd5j1zph6f
|
||||||
|
M3ULHTFng5j3vM697ix1BB0PVRLF3OtP1BF0PEw5EfNoIfc6FHX64gxdzOlkmUfmTD0+Z+oWOmLO
|
||||||
|
AjGPvM69Li11BB0PTTFPFHOvT1FH0PGwHDLm2ULudSrqtOUM3UOSRss8M2fq8TlTt9ARcy6IeeZ1
|
||||||
|
7nVrqSPoeCiKudcvoo6gexjSd8xHC7nXsaizLWfoHoJstMxH5kw9PmfqFjpiLuZlvI/Zva4tdQQd
|
||||||
|
Dz0x9/pG1BF0Dzv6ibmQe52LOltyhu4hx0rLnK85U4/PmbqFjpgPEXPr3OveUkfQPdQQc69/RB1B
|
||||||
|
D/QQuz88/H/8/fiPn0j8mAu5qIu6qAu6sD95mFnm7gVRj+yPP/d60pgvxfXhuy8IifnofFEudswP
|
||||||
|
nzpioVvpv1nqYu5+sNQtcwRd1Nky5kIu6mL+O+avL4/37of2fOTeHx+/B1nmrMfH77GWuZhb6Fjq
|
||||||
|
YWPuAWapizmCzjVhF3Uxdy+IuphzER+5983H7x3F/GG3fxPz7fn4vb+Y+0a7hc5tK71Y6pY5lrpl
|
||||||
|
jqCLOmIu6oi5oNNZ2EVdzN0Loi7mnOQMPRZn6hvG3Jl5n5ypbx9zZ+YWOuus9GKpW+ZY6pY5Fnrs
|
||||||
|
ZfJmqYs5lrpljoWeb61b6mLuXrDULXMEPXjMD0R9oZgLuaiLuZhH5iP3gD59WcvH7wstc0LfEz5+
|
||||||
|
XyjmPma30Gm/1i31GTG3zi11MUfQ6Snsoi7m7gVRF3NBJ8FKt9SviLmQi7qY+/fMBZ3ewy7qlrn7
|
||||||
|
QdQtc0FH1MUcURdzovEt92R8+13M+XA/+Pb7FzH3bXYLHUs9bMyF3FIXc8tc0Ike9mGjbpkj6mI+
|
||||||
|
Ch+5j7HSh/z4Xcw5NvLH7z5mt9DJF/ZhlrqYY6lb5oKOqCeJuZAzetTFfCw+ch/EKN9+97fZufB+
|
||||||
|
SP/xu5gLOqKeIubWOSNH3Zn5mLyDG1DGj9/FnBn3Q6qP3y1zQUfUw8dcyBk96mI+Nh+5DyrLx+/O
|
||||||
|
zFnofgj/8buP2fFuzkovUZe6j9mx1C1zBJ3TcQ8TdTFH1MWcj3zkzrEQH78fn5mLOUuL9PG7j9mx
|
||||||
|
0Dm30kvPS90yx1K3zBF0gkddzBF1MUfQCR51MZ9/Pf3cckRdzPnKlPxGvHe2dL3efqXNmfnsmD/d
|
||||||
|
TeWHe+Hm+6GbM3Vn5lowbNCPHmTPboCYUfd75ovcA4d1+eRNbtyoHy9zb2xvb0Hm/5BpP7r5/DHZ
|
||||||
|
z1/lr4fd/tnr+qaF9zkMm8fcA2y5a/bzV/nDz3OZ50qLmKMFQwX9q5vOnwiNE3UxXy88fraxon78
|
||||||
|
MbvrtVwLMka9jnazWeqzgr5J1L3x2uaNl6Xef9Qtcy0YNuiX3mSCMTsaq0XdetwuNH7WfUddzLdp
|
||||||
|
QaaoTyPeXO//75687G+2yhflBOb2N1nv/3VVYO6m8u1uKj/8BG+z5hflfJt9uxZk+qJcHe0CWuqL
|
||||||
|
rfSy5FIX83Zr0c++r6VumbdpQYalXke/mZypt4+6N1Z9vLFypt4+6mKuBcMGfambSFDaBcU67Gcd
|
||||||
|
uhZtr4WY99GCyFGfRr+ApThTv9XcPz4jILe/kbrlzPyS+8CZ+qz74eYzdWfm/bQg8pl6Hf0CWupt
|
||||||
|
lrqY93kPuDbbXxvLvM8WRFzq1QXMcSEjRd0bp+3eOM28F5ypr/ycEnMtGDboW/0xB8GZHZ0nf6Us
|
||||||
|
9j3gWq1/rfwFuBgtiBT16gJa6issyJMrUiBiLHNLff3nlmWuBcMGvdU/iGCpLxcgMY95D7h2y187
|
||||||
|
MY/ZgghRry6gpb521N//uzdGwZa5pb78c8zH7FowbNBbX0BLfZEYfeBnGPMesNRxH/Qf9eoCWupb
|
||||||
|
hV0EYi5zSx0tiNGC6gJa6rgHLHXcB/GjXl1ASx3L3FJHC+K3oLqAljruAUsd90H8qFcX0FLHMrfU
|
||||||
|
0YL4LaguoKWOe8BSx30QP+rVBbTUscwtdbQgfguqC2ip4x6w1HEfxI96dQEtdSxzSx0tiN+C6gJa
|
||||||
|
6rgHLHXcB/GjXl1ASx3L3FJHC+K3oLqAljruAUsd90H8qFcX0FLHMrfU0YL4LaguoKWOe8BSx30Q
|
||||||
|
P+rVBbTUscwtdbQgfguqC2ip4x6w1HEfxI96dQEtdSxzSx0tiN+C6gJa6rgHLHXcB/GjXl1ASx3L
|
||||||
|
3FJHC+K3oLqAljruAUsd90H8qFcX0FLHMrfU0YL4LaguoKWOe8BSx30QP+rVBbTUscwtdbQgfguq
|
||||||
|
C2ip4x6w1HEfxI96dQEtdSxzSx0tiN+C6gJa6rgHLHXcB/GjXl1ASx3L3FJHC+K3oLqAljruAUsd
|
||||||
|
90H8qFcX0FLHMrfU0YL4LaguoKWOe8BSx30QP+rVBbTUscwtdbQgfguqC2ip4x6w1HEfxI96dQEt
|
||||||
|
dSxzSx0tiN+C6gJa6rgHLHXcB/GjXl1ASx3L3FJHC+K3oLqAljruAUsd90H8qFcX0FL38LLMLXW0
|
||||||
|
IH4LqgtoqeMesNRxH8SPenUBLXXL3DK31NGC+C2Y/BhyhOkoTlzo8PD3EMtzPd0HjGx62O2f3z+y
|
||||||
|
IuA7suKjxkWWnXsg/jV8fXm8dx/MekOkBcFbMLmQYm6ll3L4WRLPH3/uq/tA1LWglMmFFHMPsd8/
|
||||||
|
Q0s9bswRdS3Yv00upJjzIeyWeqCYH74/4l4QdS3wp1/FnOPX/f3RF6t8890yd09oQagW1DMPNRdS
|
||||||
|
zIeO+91UfvhJ9LvM3QuirgUfX//++dRgF9BDzFK3zBF1LTjVgepCWuac9+Pvx3/8FCxzb3C1oPdh
|
||||||
|
Vy+8oC5kwwvo4WWpi/m+Hl8TPxFLXQv+X3Uh474bw1K3zBF1Lbg66C5kmwvoAdbXYrfU2yxzRF0L
|
||||||
|
/r0F0xUX8N7vJm7/box+POz2b/4hnO2Xub/P3t8bWy3oc9hdHPTD/0IXcv0L+B6ON+u8y4XuL8pt
|
||||||
|
vMzdB/29sdWC7Vpwzf/czR9n+chl3WXuIdY/Z+rrLnP3QZg3ulrQeJnPDroL2ccFpM1S9+339Zc5
|
||||||
|
oq4F16kupJhjqVvmLPAGVwsWakGzoIv6/At4WHseYpa6ZY6lPnYL5vzvqS6kZY6lbpmjBXGX+cG0
|
||||||
|
1P+nfONRzEde6ocwuQduX+buhRy04PYWzL0HFgu630287d0YKR5gxzeha3vlMnfclO8Nrha0aUFd
|
||||||
|
6YL6yOXMBfTwSv0ge3MPXLfMSX1PuA82bEF1Idu8GxP1/HH376mfX+buA1HXgmXvgepCbnsBPcAs
|
||||||
|
dcscUdeCNVowrXgBnaOI+ZCcqZ9f5v42+5D3hBZs8P2pacULOPzf+3Vmbqk/7PZvvv3u2+xoQdng
|
||||||
|
3+nY7OOv0T5yscz5HPdRz9SdmXP8BnfkFqx9D9SNL+gQF1LMOfUgG/GNrTNztGC7FkwbXsAhztT9
|
||||||
|
njmfHd/II/176s7MOXNPDNWCrYZdk3fPWd+dOTPHUrfM0YJWLZha/IfN+O7MMueapZ75tWKZowW/
|
||||||
|
7++t74HJhRRz2iz1jN9+9212tGC5v81+reYfi0X/yMUX4Jgb9yzffvdtdrSg7V8DrS7k/Avo4cWc
|
||||||
|
pZ7hYebMHC1o34KpgwsY8tvvLc9JyCHLmbozc7SgjxbUzi5oiHdnPmbHUrfM0YLeWlBdSDGnLz/+
|
||||||
|
fvwn0jJ3LzB6C3q5B6befkg9f+TizJy1l/ohlL1/7Ojb7GjB+n+bPXzQez1H8e+Zs8EDLMSZ+vGZ
|
||||||
|
ufuAkVvQ2/dGaucXtIuPXHzMToMHWZdn6s7M0YJ+WzD1fBF7eHfmj8bMvxHf/8s3oIMvdd9mX+4+
|
||||||
|
8DPUguEWeut3Z87M563MUsrT4br9/FX+GukfJsm21C3zZZ5f7gMtGD7oLS6kj9mXv17eIM2Le6u/
|
||||||
|
KOfb7Ms/t7xBitmC3u+B6kKK+ZbXyUKJtdSFZ737wJtbLRh5od8/7PZva19I32Zf/0bzMJtnq99T
|
||||||
|
t8y3uQ/8fPuMesQWVBdSaJZ6w1WOzswv+Vlb6v0u9cMy96tp6z6fPHO0YPigr3EhLfPtr4eH2by4
|
||||||
|
r3Wmbpm3uQ/8vG97g6sFCYK+ZNTdUNstc0u976XuzLzN88ibWy1YwhT4Ai7yV4TEfLanOTfS3VS+
|
||||||
|
vb48CvoV1vo9db9n3i4od1P51uq3GJLcE4u2IKo68s3kXXG7ZW6p97XULfP269AzSQsE/cYL6cy8
|
||||||
|
n4eYh9kycb914Tkz7/M+cD1ue4M7cgvqiDeXG6afZW6pt13qvs3eV8y9udUCQb/iQlrm/T7EPMyW
|
||||||
|
cenvqVvmfd8Hx2+40IIhg37uQgpFv8vcUt92qQtF/zH3zNKCa00JL+DJb7/3/G/YBvG05Z8cPXz7
|
||||||
|
3bW63KXffvdt9hgxP9wHpZQn10sLhl3on28+Z+Zxlrmlvu5St8zjxNxS1wJBP3EhBSHmQ8zDbJmw
|
||||||
|
H87UnZnHvg+8IVumBZm/AOrFQZfL3FJfdqkTP+be3CLohH+Iifpib9As8yT3QXGEiKATbZmLOmJu
|
||||||
|
qSPoJHuIeZjhPvjImTqCTrhlbqkj5t7cIugke4h5mOE+sNQRdIIvc0sdMffmltMmP4LhhY15Kf49
|
||||||
|
dcT8cB/499Sx0C3zbxn+81jqjBpzSx1B9xBL8xDzMMN98JEzdUHHMrfUEXNvbhF0PMQ8zHAfWOoI
|
||||||
|
Opa5pY6Ye3PLzXzLfRzDxLwU335HzA/3gW+/W+hY5pY6Ym6pI+h4iHmY4T7ojTN1Qccyt9QRc29u
|
||||||
|
EXQ8xDzMcB9Y6gg6lrmljph7c4uge4jhYeY+wFIXdCxzSx0x9+aWEPweeh5ifgW/py7m+D11Cx3L
|
||||||
|
3FJHzC11BB0PMQ8z3Ad9cqYu6Fjmljpi7s0tgo6HmIcZ7gNLHUG3zLHUxRxvbvEt94DEfEW+/S7m
|
||||||
|
+Pa7hc7aq1zMLXXE3FJH0D3E8DBzH3AbZ+qCznLr3DK31N0LYu7NLYLuIYaHmfsAS13QabXKi2Vu
|
||||||
|
qSPm3twi6B5iiLr7AEtd0LHMEXUxx1IXdDzEPMxwH1jqCLpljqUu5n4S3twi6B5ieJi5D7DUBR3L
|
||||||
|
HEtdzPHmVtDxEPMww33gPqAB/zhLYw+7/fP7jUBQ7yF68pMQ89Fj7idhoeOhluah5uN3r/uRY26d
|
||||||
|
CzoebqLu9Y6YI+gecvT5kPOA8zoXc7bkDL0zztTjc6Yu5mKOhY6HnqXudY2YY6Fb6ljqYs42McdC
|
||||||
|
x0PQUvc6xjLHQrfUsdTFHDHHQvdQxFL3ukXMLXQsdSx1MRdzLHQ8JPnvQzL7H5/xOhVzLHQs9SGW
|
||||||
|
+uvLY9qgi3memAu5hc66D8v7h93+zUPTQ1PMscwRdA9POnp4Zvn43etRzBF0PEQ9RIMvda/DXDEX
|
||||||
|
dEHHw5QBl7rXnzeVCDrLPEydqXuoijmWOYJuqWOpe72JuZALOh6yDLnUvc4scwQdD1uCL3WvL28a
|
||||||
|
6ZM/LJMv5vf++Ex8vf7xGTHPtcxfXx7v/UQsdCx1BlvqXk+5Ym6dCzqiTqOHcMsHsNdRrpgLuqAj
|
||||||
|
6gy41L1+vClE0Okj5n5P3UNZzL1uLHNBx1Jn1KXu9ZIr5kIu6Ig6Ay51rxPLHEFH1Am+1L0+vOlD
|
||||||
|
0IkRc2fqHtpibpkj6FjqZF3qXg+5Yi7k4/GX4gbmL8rFt9RflBPzfMscCx1LncGWuuufJ+ZWuaAz
|
||||||
|
dsydqQ/8UHfd8y1zURd08HAfbKm73rliLuQIOh7yAy5119kyR9ARdYIvddd3jDdtjMe33Pn8sPfv
|
||||||
|
qSdw+Pb74d+7PvrvYp5omfv3zLHQsdQHXOquZ66YW+cIOqI+ZgSK65gn5oKOoCPqEDjmIs45ztD5
|
||||||
|
V87UoZ9lDoKOqIOYk5iP3LmKj99h+5j7qB1BR9QhcMyFnGv4yJ1rY+731GGjZe73zLHQsdQheMyt
|
||||||
|
cyx0NmOpwzoxBwsdSx0Cx9wqx0KnZcydqcNCy9yZORY6ljoEj7l1joVONyx1uC3mYKFjqUPgmFvl
|
||||||
|
WOj0HHNn6nDhMndmjoWOpQ7BY26dY6EThqUOp2MOFjqWOgSOuVWOhU7kmDtTR8ydmWOhY6lDjphb
|
||||||
|
51jopGGpM2rMwULHUofAMbfKsdDJHHNn6gyzzJ2ZY6FjqUPwmFvnWOgMw1Ina8zBQsdSh8Axt8oR
|
||||||
|
dERd1EmyzEUdQUfURZ3AMRdyWnOGTjecqRN5mYOFDpY6QWNulSPoIOokWeaijqCDqBM45kJOb5yh
|
||||||
|
02vM/UU5ul7mYKGDpU7QmFvlCDqIOkmWuagj6CDqBI65kNM7Z+iE4UydlsscLHSw1Akac6scQQdR
|
||||||
|
J8kyF3UEHUSdwDEXcqJxhk5YztRZc5mDhQ6WOkFjbpUj6CDqJFnmoo6gg6gTOOZCTnTO0EnDmTpz
|
||||||
|
ljlY6GCpEzTmVjmCDqJOkmUu6gg6iDqBYy7kZOMMnbScqXNumYOFDpY6QWNulSPoIOokWeaijqCD
|
||||||
|
qBM45kJOds7QGYYz9bGXOVjoYKkTNOZWOYIOok6SZS7qCDqIOoFjLuSMxhk6w3KmnnuZg4UOljpB
|
||||||
|
Y26VI+gg6qKeZJmLOoIOoi7qgWMu5IzOGTr8b9k5Uw+8zMFCByz1oDG3ykHQQdSTLHNRB0EHUQ8c
|
||||||
|
cyGHj5yhwxecqfe9zAELHSz1oDG3ykHQQdSTLHNRB0EHUQ8ccyGH85yhw4Wcqbdd5oCFDpZ60Jhb
|
||||||
|
5SDoIOpJlrmog6CDqAeOuZDDdZyhw42cqa+7zAELHSz1oDG3ykHQQdSTLHNRB0EHUQ8ccyGHeZyh
|
||||||
|
w0Kcqc9b5oCFDpZ60Jhb5SDoIOpJlrmog6CDqAeOuZDDspyhw0qcqZ9f5oCFDpZ60Jhb5SDoIOpJ
|
||||||
|
lrmog6CDqAeOuZDDupyhw0ZGO1N3Zg4WOljqSWJulYOgg6gnWeaiDoIOoh445kIO23KGDo1kO1N3
|
||||||
|
Zg4WOljqwZe6M3MQdCB41J2Zg6ADwaPuzBz64QwdOhHtTN2ZOVjoQPCl7swcBB0IHnVn5iDoQPCo
|
||||||
|
OzOHfjlDh071dqbuzBwsdCD4UndmDoIOBI+6M3MQdCB41J2ZQxzO0CGIrc/UnZmDhQ4EX+rOzEHQ
|
||||||
|
geBRd2YOgg4Ej7ozc4jLGToEtfSZujNzsNCB4EvdmTkIOhA86s7MQdCB4FF3Zg55OEOHJK49U3dm
|
||||||
|
DhY6EHypOzMHQQeCR92ZOQg6EDzqzsxB0IHgURdzyO3OjwDyetjtn19fHg//1+8Pu/3b68vjvZ8M
|
||||||
|
5PMf59Le1oaVXIYAAAAASUVORK5CYII=
|
||||||
|
"
|
||||||
|
style="image-rendering:optimizeQuality"
|
||||||
|
preserveAspectRatio="none"
|
||||||
|
height="666.66669"
|
||||||
|
width="666.66669" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 10 KiB |
174
assets/svg/themed/dark/ethereum.svg
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<svg width="2000" height="2000" viewBox="0 0 2000 2000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_1048_45)">
|
||||||
|
<path d="M85.1779 1368.47C57.1779 1608.47 537.178 1652.47 589.178 1660.47H1441.18C1533.18 1660.47 1761.18 1560.47 1845.18 1432.47C1929.18 1304.47 1809.18 1092.47 1761.18 984.475C1713.18 876.474 1934.56 800.211 1873.18 512.475C1809.18 212.475 1529.18 152.475 1301.18 212.475C1150.27 252.189 1249.18 120.475 905.18 84.4745C561.18 48.4745 493.18 416.475 337.18 460.475C181.18 504.475 85.1779 760.475 177.18 984.475C269.182 1208.47 113.178 1128.47 85.1779 1368.47Z" fill="#BECDF9"/>
|
||||||
|
<ellipse cx="1022" cy="1680.5" rx="687" ry="52.5" fill="#2E3E79"/>
|
||||||
|
<path d="M1049.83 863.456L1049.81 863.385L1049.78 863.314C1046.97 854.72 1044.73 846.664 1043.01 839.098L1038.13 840.205C1033.69 820.63 1032.61 804.099 1034.03 789.869L1039 790.364C1040.83 771.98 1047 757.717 1055.45 745.676L1051.36 742.802C1061.27 728.691 1074.15 717.536 1086.98 706.788L1090.19 710.621C1091.14 709.824 1092.09 709.028 1093.05 708.229C1105.36 697.941 1117.97 687.408 1127.5 674.629L1123.5 671.64C1132.94 658.972 1139.2 644.055 1139.24 624.337L1144.24 624.348C1144.28 609.808 1141.1 593.053 1133.86 573.267L1129.17 574.986C1124.15 561.291 1117.11 545.984 1107.66 528.758L1112.04 526.354C1108.16 519.271 1103.87 511.877 1099.17 504.15C1094.83 497.012 1091.03 489.839 1087.74 482.65L1083.19 484.729C1075.96 468.927 1071.15 453.01 1068.5 437.178L1073.43 436.352C1070.7 420.076 1070.34 403.888 1072.06 388.011L1067.09 387.472C1068.88 370.94 1072.87 354.746 1078.77 339.135L1083.44 340.902C1089.13 325.862 1096.63 311.352 1105.7 297.606L1101.52 294.854C1110.57 281.127 1121.13 268.168 1132.94 256.197L1136.5 259.708C1147.85 248.193 1160.38 237.603 1173.85 228.144L1170.98 224.052C1184.51 214.55 1198.97 206.173 1214.11 199.121L1216.22 203.654C1230.98 196.781 1246.39 191.192 1262.23 187.078L1260.97 182.239C1277 178.074 1293.47 175.389 1310.14 174.375L1310.45 179.365C1326.57 178.384 1342.87 178.997 1359.15 181.378L1359.88 176.431C1376.02 178.793 1392.15 182.859 1408.07 188.798L1406.32 193.482C1421.1 199 1435.71 206.172 1449.96 215.145L1452.63 210.913C1466.15 219.422 1479.35 229.513 1492.09 241.3L1488.7 244.971C1500.16 255.57 1511.26 267.579 1521.9 281.093L1525.83 278.001C1535.61 290.419 1544.99 304.075 1553.89 319.033L1549.59 321.59C1553.73 328.555 1557.78 335.811 1561.71 343.364C1562.42 344.724 1563.06 346.177 1563.62 347.696L1568.31 345.948C1569.54 349.266 1570.44 352.791 1570.98 356.298L1566.04 357.062C1566.29 358.688 1566.46 360.305 1566.54 361.882C1567.04 371.372 1567.64 380.541 1568.34 389.401L1573.33 389.005C1574.85 408.15 1576.85 425.826 1579.29 442.154L1574.35 442.894C1577.29 462.587 1580.87 480.373 1585.03 496.453L1589.87 495.202C1594.88 514.585 1600.72 531.406 1607.25 546.044L1602.68 548.081C1611.12 566.993 1620.74 582.432 1631.3 595.127L1635.14 591.93C1647.7 607.027 1661.53 618.009 1676.15 626.296L1673.68 630.646C1690.17 639.996 1707.53 645.972 1724.97 650.513L1726.23 645.674C1738.52 648.876 1750.97 651.381 1763.32 653.868C1768.54 654.919 1773.74 655.967 1778.91 657.062L1777.87 661.954C1795.64 665.72 1812.69 669.994 1828.53 676.825L1830.51 672.234C1846.5 679.128 1861.39 688.595 1874.51 702.621L1870.85 706.035C1881.26 717.164 1890.58 731.377 1898.4 749.871L1903 747.924C1909.15 762.476 1914.36 779.524 1918.43 799.577L1913.53 800.574C1915.21 808.813 1916.69 817.58 1917.98 826.914C1919.12 835.245 1919.67 843.369 1919.65 851.287L1924.65 851.3C1924.6 868.594 1921.94 884.994 1916.94 900.482L1912.18 898.947C1907.25 914.223 1899.96 928.617 1890.59 942.115L1894.69 944.968C1885.46 958.253 1874.29 970.656 1861.43 982.163L1858.09 978.437C1846.35 988.951 1833.14 998.73 1818.66 1007.75L1821.3 1012C1807.65 1020.51 1792.92 1028.34 1777.28 1035.47L1775.2 1030.92C1760.6 1037.59 1745.19 1043.65 1729.1 1049.1L1730.7 1053.83C1715.26 1059.06 1699.21 1063.73 1682.69 1067.82L1681.49 1062.96C1665.71 1066.87 1649.49 1070.26 1632.93 1073.11L1633.78 1078.04C1617.53 1080.84 1600.97 1083.13 1584.2 1084.9L1583.67 1079.93C1567.31 1081.66 1550.75 1082.9 1534.08 1083.64L1534.3 1088.64C1517.71 1089.38 1501.01 1089.62 1484.31 1089.37L1484.38 1084.37C1467.8 1084.12 1451.21 1083.38 1434.71 1082.15L1434.33 1087.13C1417.64 1085.88 1401.03 1084.12 1384.61 1081.85L1385.29 1076.9C1368.76 1074.62 1352.41 1071.81 1336.36 1068.48L1335.34 1073.38C1318.8 1069.95 1302.56 1065.96 1286.72 1061.41L1288.1 1056.6C1271.95 1051.97 1256.24 1046.74 1241.08 1040.93L1239.29 1045.6C1223.44 1039.52 1208.17 1032.8 1193.62 1025.43L1195.88 1020.97C1180.81 1013.34 1166.55 1005.01 1153.21 995.985L1150.41 1000.13C1136.32 990.587 1123.24 980.265 1111.35 969.152L1114.76 965.498C1102.57 954.105 1091.66 941.887 1082.21 928.838L1078.16 931.77C1068.35 918.23 1060.07 903.791 1053.51 888.441L1058.11 886.476C1054.93 879.023 1052.16 871.35 1049.83 863.456Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<path d="M203.275 733.389L203.327 733.336L203.378 733.281C209.007 727.19 214.504 721.647 219.875 716.612L216.455 712.964C229.7 700.546 242.263 691.095 254.253 684.057L256.784 688.369C271.893 679.5 285.94 674.657 299.181 672.558L298.398 667.62C315.026 664.983 330.606 666.449 345.548 669.924L344.415 674.794C359.055 678.199 373.108 683.594 387.31 689.046L388.797 689.617L390.588 684.949C405.752 690.767 420.67 696.392 435.857 699.199L434.948 704.115C450.757 707.037 467.085 707.062 484.284 701.296L482.695 696.555C495.566 692.24 508.93 684.506 523.041 672.046L526.351 675.794C536.846 666.527 547.66 654.793 558.901 640.141L554.933 637.098C563.547 625.87 572.456 612.851 581.704 597.809L585.964 600.428C589.996 593.869 594.089 586.935 598.247 579.607C602.555 572.014 607.137 564.844 611.97 558.086L607.902 555.178C618.388 540.512 630.047 527.716 642.644 516.702L645.935 520.466C658.945 509.091 672.977 499.664 687.768 492.076L685.486 487.627C700.963 479.688 717.248 473.719 734.048 469.605L735.237 474.461C751.592 470.457 768.465 468.245 785.577 467.726L785.425 462.728C802.557 462.208 819.901 463.354 837.182 466.059L836.408 470.998C853.065 473.606 869.675 477.689 885.981 483.154L887.57 478.413C903.871 483.876 919.863 490.694 935.3 498.774L932.981 503.204C948.024 511.078 962.531 520.167 976.265 530.38L979.249 526.367C993.105 536.67 1006.19 548.101 1018.27 560.569L1014.68 564.048C1026.49 576.247 1037.32 589.449 1046.95 603.565L1051.08 600.748C1060.77 614.965 1069.27 630.1 1076.34 646.069L1071.76 648.093C1078.55 663.426 1084 679.538 1087.91 696.351L1092.78 695.218C1096.61 711.686 1098.99 728.817 1099.74 746.539L1094.74 746.748C1095.43 763.222 1094.69 780.227 1092.34 797.709L1097.3 798.374C1095.09 814.864 1091.48 831.759 1086.35 849.01L1081.56 847.584C1076.88 863.3 1070.92 879.332 1063.57 895.644L1068.13 897.699C1061.34 912.759 1053.39 928.039 1044.2 943.513L1039.9 940.959C1035.56 948.269 1030.93 955.624 1026.02 963.024C1025.17 964.305 1024.21 965.573 1023.15 966.811L1026.95 970.06C1024.64 972.756 1021.99 975.258 1019.19 977.439L1016.12 973.492C1014.82 974.505 1013.48 975.437 1012.15 976.273C1005.07 980.698 998.208 985.081 991.561 989.424L994.296 993.61C980.363 1002.71 967.376 1011.63 955.278 1020.38L952.348 1016.33C938.69 1026.2 926.146 1035.87 914.638 1045.34L917.815 1049.2C904.833 1059.88 893.195 1070.3 882.784 1080.47L879.289 1076.89C866.803 1089.1 856.035 1100.98 846.795 1112.58L850.706 1115.69C839.955 1129.19 831.341 1142.25 824.539 1154.94L820.132 1152.58C811.823 1168.09 806.13 1183.09 802.515 1197.7L807.369 1198.9C803.376 1215.03 802.008 1230.6 802.451 1245.74L797.453 1245.89C797.934 1262.35 800.496 1278.25 804.108 1293.73L808.977 1292.59C812.577 1308.02 817.263 1323.14 822.035 1338.12L817.271 1339.64C817.857 1341.48 818.444 1343.31 819.029 1345.14C823.292 1358.48 827.479 1371.58 830.935 1384.71L835.77 1383.44C839.83 1398.87 842.892 1414.33 843.843 1430.04L838.852 1430.34C839.754 1445.23 838.698 1460.27 834.709 1475.67L839.549 1476.93C835.906 1491 829.896 1505.38 820.812 1520.21L816.548 1517.59C809.315 1529.4 800.04 1541.55 788.309 1554.12L791.965 1557.53C782.169 1568.03 770.725 1578.77 757.419 1589.79L754.23 1585.94C748.363 1590.8 742.125 1595.72 735.494 1600.7C728.818 1605.72 722.048 1610.21 715.194 1614.21L717.71 1618.53C702.98 1627.11 687.837 1633.44 672.387 1637.7L671.058 1632.88C655.505 1637.17 639.618 1639.29 623.5 1639.42L623.541 1644.42C607.371 1644.56 590.996 1642.73 574.523 1639.13L575.592 1634.25C560.261 1630.89 544.807 1625.95 529.322 1619.56L527.414 1624.18C512.616 1618.07 497.822 1610.67 483.11 1602.1L485.627 1597.78C471.969 1589.82 458.365 1580.82 444.88 1570.9L441.915 1574.92C428.946 1565.37 416.099 1554.98 403.431 1543.83L406.735 1540.07C394.682 1529.46 382.785 1518.15 371.093 1506.22L367.522 1509.72C356.146 1498.11 344.97 1485.92 334.037 1473.22L337.826 1469.96C327.254 1457.68 316.908 1444.91 306.827 1431.73L302.856 1434.77C292.93 1421.79 283.263 1408.41 273.894 1394.69L278.023 1391.87C268.826 1378.4 259.915 1364.6 251.328 1350.53L247.06 1353.13C238.493 1339.09 230.247 1324.78 222.358 1310.26L226.752 1307.87C218.918 1293.45 211.438 1278.82 204.347 1264.03L199.839 1266.19C192.686 1251.28 185.926 1236.2 179.597 1221.03L184.212 1219.11C177.859 1203.88 171.943 1188.55 166.499 1173.18L161.786 1174.85C156.232 1159.17 151.165 1143.45 146.626 1127.74L151.43 1126.35C146.828 1110.43 142.773 1094.52 139.305 1078.71L134.421 1079.78C130.839 1063.45 127.876 1047.21 125.578 1031.12L130.528 1030.41C128.178 1013.96 126.529 997.692 125.627 981.673L120.635 981.954C119.691 965.189 119.558 948.685 120.287 932.528L125.282 932.754C126.034 916.11 127.711 899.859 130.371 884.092L125.44 883.26C128.232 866.708 132.094 850.663 137.094 835.232L141.851 836.773C146.906 821.174 153.136 806.234 160.608 792.062L156.185 789.73C163.875 775.146 172.864 761.342 183.229 748.438L187.128 751.57C192.174 745.287 197.554 739.222 203.275 733.389Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<circle cx="1000" cy="1000" r="700" fill="#5670D8"/>
|
||||||
|
<path d="M1000 1605C1334.13 1605 1605 1334.13 1605 1000C1605 665.868 1334.13 395 1000 395C665.868 395 395 665.868 395 1000C395 1334.13 665.868 1605 1000 1605Z" fill="#627EEA" stroke="#A2B6FB" stroke-width="10"/>
|
||||||
|
<path d="M1018.7 549.918V882.559L1299.84 1008.2L1018.7 549.918Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 549.918L737.562 1008.2L1018.7 882.559V549.918Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1223.73V1449.75L1300 1060.52L1018.7 1223.73Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 1449.75V1223.73L737.562 1060.52L1018.7 1449.75Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1171.41L1299.84 1008.2L1018.7 882.559V1171.41Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M737.562 1008.2L1018.7 1171.41V882.559L737.562 1008.2Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<g style="mix-blend-mode:multiply" opacity="0.3">
|
||||||
|
<path d="M1569 1414C1463 1622 1182 1700 1005 1700C504.5 1707.5 108.001 1160 397 646C415.999 672 500.002 1204 821.001 1386C1192 1582 1569 1414 1569 1414Z" fill="#3C4F9A"/>
|
||||||
|
</g>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<mask id="path-33-inside-1_1048_45" fill="white">
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z"/>
|
||||||
|
</mask>
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z" fill="#454545"/>
|
||||||
|
<path d="M1346.5 1100L1330.25 1074.78L1350.22 1129.77L1346.5 1100ZM1391.5 1088L1388.19 1117.82L1391.5 1088ZM1418.5 1096.5L1448.32 1093.19L1447.41 1085.05L1442.5 1078.5L1418.5 1096.5ZM1420 1110L1409.11 1137.95L1455.29 1155.95L1449.82 1106.69L1420 1110ZM1362.75 1125.22C1364.35 1124.19 1368.78 1121.79 1374.42 1119.94C1380.18 1118.05 1384.99 1117.46 1388.19 1117.82L1394.81 1058.18C1380.01 1056.54 1366.07 1059.53 1355.71 1062.93C1345.22 1066.38 1336.15 1070.98 1330.25 1074.78L1362.75 1125.22ZM1388.19 1117.82C1395.29 1118.61 1399.13 1119.77 1400.61 1120.32C1401.36 1120.61 1401.22 1120.63 1400.48 1120.17C1400.1 1119.94 1399.39 1119.48 1398.49 1118.73C1397.7 1118.08 1396.14 1116.69 1394.5 1114.5L1442.5 1078.5C1438.86 1073.65 1434.48 1070.64 1431.88 1069.05C1428.75 1067.12 1425.33 1065.52 1421.77 1064.18C1414.62 1061.48 1405.71 1059.39 1394.81 1058.18L1388.19 1117.82ZM1388.68 1099.81L1390.18 1113.31L1449.82 1106.69L1448.32 1093.19L1388.68 1099.81ZM1430.89 1082.05C1423.37 1079.12 1413.62 1075.93 1404.56 1073.44C1396.71 1071.29 1385.35 1068.5 1376.5 1068.5V1128.5C1375.61 1128.5 1376.26 1128.43 1379.25 1129.02C1381.81 1129.53 1385.05 1130.31 1388.69 1131.31C1396.04 1133.32 1403.79 1135.88 1409.11 1137.95L1430.89 1082.05ZM1376.5 1068.5C1368.12 1068.5 1349.8 1069.35 1342.78 1070.23L1350.22 1129.77C1353.87 1129.31 1369.5 1128.5 1376.5 1128.5V1068.5Z" fill="white" mask="url(#path-33-inside-1_1048_45)"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<mask id="path-36-inside-2_1048_45" fill="white">
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)"/>
|
||||||
|
</mask>
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)" stroke="white" stroke-width="45" mask="url(#path-36-inside-2_1048_45)"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1391.87 1279.66L1390.85 1275.02L1393.28 1277.68L1391.87 1279.66Z" fill="#7D8BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1441.85 1559.26C1442.43 1559.72 1442.93 1560.21 1443.36 1560.69C1442.65 1560.5 1441.96 1560.32 1441.3 1560.16L1441.85 1559.26M1441.85 1559.26V1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1441.85 1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26C1441.53 1559.01 1441.19 1558.76 1440.82 1558.53L1440.28 1559.93C1440.57 1559.99 1440.86 1560.05 1441.16 1560.13L1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1416.99 1557.18L1418.71 1557.64L1416.99 1557.18C1416.83 1557.8 1416.68 1558.44 1416.54 1559.09C1415.97 1559.53 1415.41 1560.01 1414.87 1560.54C1411.74 1563.62 1410.08 1567.36 1409.33 1570.86C1408.78 1573.46 1408.67 1575.95 1408.93 1578.31C1407.42 1580.76 1406.34 1583.73 1406.05 1587.25C1405.84 1589.82 1406 1592.21 1406.44 1594.4C1405.55 1596.4 1404.95 1598.71 1404.9 1601.32C1404.8 1606.38 1406.8 1610.48 1408.87 1613.32C1411.76 1617.31 1415.98 1619.38 1417.61 1620.17C1419.99 1621.32 1422.68 1622.32 1425.29 1623.18C1430.57 1624.9 1436.87 1626.43 1442.86 1627.56C1448.74 1628.66 1455.06 1629.5 1460.22 1629.55C1462.55 1629.58 1466.05 1629.48 1469.41 1628.44C1471.04 1627.94 1474.2 1626.76 1476.98 1623.89C1476.98 1623.89 1476.98 1623.88 1476.99 1623.88C1477.44 1623.82 1477.9 1623.75 1478.36 1623.66C1481.19 1623.11 1486.74 1621.25 1490.08 1615.81C1492.27 1614.98 1494.54 1613.67 1496.61 1611.61C1498.01 1610.2 1499.65 1608.26 1501.03 1605.89C1504.37 1604.31 1508.15 1601.39 1510.29 1596.41C1510.3 1596.38 1510.31 1596.35 1510.33 1596.31C1511.05 1594.62 1512.92 1590.27 1512.67 1585.26C1512.51 1582.2 1511.6 1578.83 1509.42 1575.72C1507.32 1572.73 1504.66 1570.84 1502.34 1569.65C1491.85 1564.28 1475.85 1556.63 1462.01 1551.24C1455.22 1548.59 1448.2 1546.19 1442.36 1545.04C1439.63 1544.5 1435.82 1543.95 1431.97 1544.47C1428.35 1544.96 1419.57 1547.4 1416.99 1557.18ZM1451.7 1614.97C1451.64 1614.57 1451.59 1614.18 1451.56 1613.79C1453.02 1613.99 1454.43 1614.16 1455.76 1614.29C1455.79 1614.29 1455.81 1614.29 1455.84 1614.3L1454.43 1619.14C1453.94 1618.81 1453.42 1618.35 1452.93 1617.72C1452.26 1616.83 1451.85 1615.84 1451.7 1614.97ZM1490.49 1578.08C1490.49 1578.08 1490.46 1578.08 1490.41 1578.08C1490.46 1578.08 1490.49 1578.08 1490.49 1578.08Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1409.5 1173C1402.7 1173.8 1407.67 1179.33 1411 1182C1414.17 1182.67 1421.8 1184.1 1427 1184.5C1433.5 1185 1447.5 1184.5 1447.5 1180C1447.5 1176.8 1418 1172 1409.5 1173Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1376.5 1097.5C1370.34 1097.5 1358.25 1098.03 1350.88 1098.59C1354.64 1096.56 1359.67 1094.26 1365.37 1092.39C1373.36 1089.77 1382.58 1088.02 1391.39 1088.99C1400.33 1089.99 1406.62 1091.6 1410.83 1093.19C1412.94 1093.98 1414.53 1094.77 1415.66 1095.46C1416.62 1096.05 1417.21 1096.55 1417.54 1096.91L1418.82 1108.48C1412.55 1106.11 1404.49 1103.49 1396.89 1101.41C1388.69 1099.16 1380.9 1097.5 1376.5 1097.5Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<rect x="1343.94" y="1098.11" width="77.4768" height="43" rx="14" transform="rotate(6.45837 1343.94 1098.11)" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1380.48 1293.04L1379.91 1290.47L1375.48 1270.29L1373.52 1270.71L1378.44 1293.09L1363.6 1319.51L1364.99 1261.41L1381.49 1243.97L1411.22 1276.58L1384.99 1313.58L1380.48 1293.04Z" fill="#7D8BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1489.83 1594.41C1489.79 1594.29 1489.74 1594.18 1489.68 1594.08C1490.09 1594.09 1490.49 1594.09 1490.88 1594.08C1492.29 1594.03 1493.64 1593.83 1494.77 1593.36C1495.93 1592.88 1496.9 1592.1 1497.42 1590.89C1498.17 1589.15 1498.76 1587.47 1498.69 1585.96C1498.65 1585.18 1498.42 1584.43 1497.95 1583.75C1497.48 1583.09 1496.81 1582.55 1495.95 1582.11C1485.69 1576.85 1470.16 1569.44 1456.92 1564.28C1450.32 1561.71 1444.24 1559.68 1439.65 1558.77C1437.37 1558.32 1435.38 1558.13 1433.85 1558.34C1432.33 1558.55 1430.94 1559.21 1430.53 1560.75C1429.52 1564.59 1429.59 1567.35 1430.22 1569.24C1429.3 1569.07 1428.34 1569.01 1427.42 1569.17C1426.43 1569.34 1425.47 1569.76 1424.68 1570.54C1423.89 1571.31 1423.32 1572.39 1423.02 1573.79C1422.35 1576.91 1423.24 1579.31 1424.66 1580.99C1425.08 1581.49 1425.54 1581.93 1426.02 1582.3C1425.34 1582.46 1424.65 1582.68 1423.98 1582.98C1422.01 1583.88 1420.24 1585.56 1420 1588.42C1419.67 1592.36 1421.37 1595.32 1422.96 1597.04C1421.92 1597.43 1420.85 1598.02 1420.07 1598.85C1419.4 1599.56 1418.92 1600.48 1418.9 1601.6C1418.88 1602.71 1419.31 1603.87 1420.19 1605.09C1420.85 1606 1422.16 1606.82 1423.71 1607.57C1425.31 1608.34 1427.34 1609.12 1429.63 1609.86C1434.21 1611.36 1439.91 1612.76 1445.44 1613.8C1450.97 1614.83 1456.37 1615.51 1460.36 1615.55C1462.34 1615.57 1464.06 1615.44 1465.29 1615.06C1465.9 1614.87 1466.49 1614.59 1466.92 1614.15C1467.39 1613.67 1467.6 1613.04 1467.49 1612.34C1467.24 1610.89 1466.75 1609.67 1466.11 1608.67C1467.93 1609.19 1469.8 1609.64 1471.49 1609.88C1473.01 1610.09 1474.48 1610.15 1475.67 1609.92C1476.86 1609.69 1478.02 1609.1 1478.45 1607.82C1479.16 1605.67 1479.27 1603.9 1479.08 1602.59C1479.88 1602.8 1480.77 1602.98 1481.66 1603.06C1483.36 1603.21 1485.38 1603.04 1486.71 1601.71C1488.03 1600.39 1489.27 1598.63 1489.77 1596.98C1490.02 1596.15 1490.12 1595.24 1489.83 1594.41Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545"/>
|
||||||
|
<path d="M1631.79 1492.83L1625.62 1517.38L1640.42 1530.96L1631.79 1492.83Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1631.79 1492.83L1606.16 1522.35L1625.62 1517.38L1631.79 1492.83Z" fill="white"/>
|
||||||
|
<path d="M1619.29 1542.56L1615.1 1559.24L1639.46 1534.82L1619.29 1542.56Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1615.1 1559.25L1619.29 1542.56L1605.19 1526.21L1615.1 1559.25Z" fill="white"/>
|
||||||
|
<path d="M1620.26 1538.7L1640.42 1530.96L1625.62 1517.38L1620.26 1538.7Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1606.16 1522.35L1620.26 1538.7L1625.62 1517.38L1606.16 1522.35Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1577.06 365.61C1575.01 363.706 1573.92 361.351 1573.79 358.546C1573.66 355.74 1574.57 353.309 1576.52 351.253C1578.38 349.2 1580.71 348.131 1583.52 348.046C1586.33 347.961 1588.76 348.871 1590.81 350.776C1592.8 352.617 1593.86 354.941 1593.99 357.746C1594.14 360.573 1593.28 363.012 1591.42 365.065C1590.12 366.422 1588.6 367.34 1586.85 367.82C1585.13 368.321 1583.39 368.388 1581.63 368.019C1579.92 367.648 1578.39 366.845 1577.06 365.61Z" fill="white"/>
|
||||||
|
<path d="M1614.26 400.09C1612.21 398.185 1611.12 395.83 1610.99 393.025C1610.86 390.22 1611.77 387.789 1613.72 385.732C1615.58 383.679 1617.91 382.61 1620.72 382.526C1623.53 382.441 1625.96 383.351 1628.01 385.255C1630 387.097 1631.06 389.42 1631.18 392.226C1631.34 395.052 1630.48 397.492 1628.62 399.545C1627.32 400.901 1625.8 401.82 1624.05 402.3C1622.33 402.801 1620.59 402.867 1618.83 402.498C1617.12 402.127 1615.59 401.325 1614.26 400.09Z" fill="white"/>
|
||||||
|
<path d="M1651.46 434.569C1649.41 432.665 1648.32 430.31 1648.19 427.504C1648.06 424.699 1648.97 422.268 1650.92 420.212C1652.78 418.159 1655.11 417.09 1657.92 417.005C1660.73 416.92 1663.16 417.83 1665.21 419.735C1667.2 421.576 1668.26 423.9 1668.38 426.705C1668.53 429.531 1667.68 431.971 1665.82 434.024C1664.52 435.381 1663 436.299 1661.25 436.779C1659.53 437.28 1657.79 437.346 1656.03 436.977C1654.32 436.607 1652.79 435.804 1651.46 434.569Z" fill="white"/>
|
||||||
|
<path d="M1688.66 469.049C1686.61 467.144 1685.51 464.789 1685.39 461.984C1685.26 459.178 1686.17 456.747 1688.12 454.691C1689.98 452.638 1692.31 451.569 1695.12 451.484C1697.92 451.4 1700.36 452.309 1702.41 454.214C1704.4 456.056 1705.46 458.379 1705.58 461.184C1705.73 464.011 1704.88 466.451 1703.02 468.504C1701.72 469.86 1700.2 470.778 1698.45 471.258C1696.73 471.76 1694.99 471.826 1693.23 471.457C1691.52 471.086 1689.99 470.283 1688.66 469.049Z" fill="white"/>
|
||||||
|
<path d="M1725.86 503.528C1723.81 501.623 1722.71 499.269 1722.59 496.463C1722.46 493.658 1723.37 491.227 1725.32 489.17C1727.18 487.117 1729.51 486.048 1732.32 485.964C1735.12 485.879 1737.56 486.789 1739.61 488.693C1741.6 490.535 1742.65 492.858 1742.78 495.664C1742.93 498.49 1742.08 500.93 1740.22 502.983C1738.92 504.339 1737.4 505.258 1735.65 505.738C1733.93 506.239 1732.19 506.305 1730.43 505.936C1728.71 505.565 1727.19 504.763 1725.86 503.528Z" fill="white"/>
|
||||||
|
<path d="M1763.06 538.007C1761 536.103 1759.91 533.748 1759.79 530.943C1759.66 528.137 1760.57 525.706 1762.51 523.65C1764.38 521.597 1766.71 520.528 1769.52 520.443C1772.32 520.358 1774.75 521.268 1776.81 523.173C1778.8 525.014 1779.85 527.338 1779.98 530.143C1780.13 532.97 1779.28 535.409 1777.42 537.462C1776.12 538.819 1774.59 539.737 1772.85 540.217C1771.12 540.718 1769.38 540.784 1767.63 540.415C1765.91 540.045 1764.39 539.242 1763.06 538.007Z" fill="white"/>
|
||||||
|
<path d="M1800.26 572.487C1798.2 570.582 1797.11 568.227 1796.98 565.422C1796.86 562.617 1797.77 560.186 1799.71 558.129C1801.58 556.076 1803.91 555.007 1806.72 554.922C1809.52 554.838 1811.95 555.748 1814.01 557.652C1816 559.494 1817.05 561.817 1817.18 564.623C1817.33 567.449 1816.48 569.889 1814.62 571.942C1813.32 573.298 1811.79 574.216 1810.05 574.697C1808.32 575.198 1806.58 575.264 1804.83 574.895C1803.11 574.524 1801.59 573.721 1800.26 572.487Z" fill="white"/>
|
||||||
|
<path d="M1546.12 398.992C1544.07 397.087 1542.98 394.732 1542.85 391.927C1542.72 389.122 1543.63 386.691 1545.58 384.634C1547.44 382.581 1549.77 381.512 1552.58 381.428C1555.39 381.343 1557.82 382.253 1559.87 384.157C1561.86 385.999 1562.92 388.322 1563.04 391.128C1563.2 393.954 1562.34 396.394 1560.48 398.447C1559.18 399.803 1557.66 400.722 1555.91 401.202C1554.19 401.703 1552.45 401.769 1550.69 401.4C1548.98 401.029 1547.45 400.226 1546.12 398.992Z" fill="white"/>
|
||||||
|
<path d="M1583.32 433.471C1581.27 431.567 1580.18 429.212 1580.05 426.406C1579.92 423.601 1580.83 421.17 1582.78 419.114C1584.64 417.061 1586.97 415.992 1589.78 415.907C1592.59 415.822 1595.02 416.732 1597.07 418.636C1599.06 420.478 1600.12 422.802 1600.24 425.607C1600.39 428.433 1599.54 430.873 1597.68 432.926C1596.38 434.283 1594.86 435.201 1593.11 435.681C1591.39 436.182 1589.65 436.248 1587.89 435.879C1586.18 435.509 1584.65 434.706 1583.32 433.471Z" fill="white"/>
|
||||||
|
<path d="M1620.52 467.951C1618.47 466.046 1617.37 463.691 1617.25 460.886C1617.12 458.08 1618.03 455.649 1619.98 453.593C1621.84 451.54 1624.17 450.471 1626.98 450.386C1629.79 450.302 1632.22 451.211 1634.27 453.116C1636.26 454.958 1637.32 457.281 1637.44 460.086C1637.59 462.913 1636.74 465.352 1634.88 467.406C1633.58 468.762 1632.06 469.68 1630.31 470.16C1628.59 470.662 1626.85 470.728 1625.09 470.359C1623.38 469.988 1621.85 469.185 1620.52 467.951Z" fill="white"/>
|
||||||
|
<path d="M1657.72 502.43C1655.67 500.525 1654.57 498.171 1654.45 495.365C1654.32 492.56 1655.23 490.129 1657.18 488.072C1659.04 486.019 1661.37 484.95 1664.18 484.866C1666.98 484.781 1669.42 485.691 1671.47 487.595C1673.46 489.437 1674.51 491.76 1674.64 494.566C1674.79 497.392 1673.94 499.832 1672.08 501.885C1670.78 503.241 1669.26 504.16 1667.51 504.64C1665.79 505.141 1664.05 505.207 1662.29 504.838C1660.58 504.467 1659.05 503.665 1657.72 502.43Z" fill="white"/>
|
||||||
|
<path d="M1694.92 536.909C1692.87 535.005 1691.77 532.65 1691.65 529.844C1691.52 527.039 1692.43 524.608 1694.37 522.552C1696.24 520.499 1698.57 519.43 1701.38 519.345C1704.18 519.26 1706.61 520.17 1708.67 522.075C1710.66 523.916 1711.71 526.24 1711.84 529.045C1711.99 531.872 1711.14 534.311 1709.28 536.364C1707.98 537.721 1706.46 538.639 1704.71 539.119C1702.98 539.62 1701.24 539.686 1699.49 539.317C1697.77 538.947 1696.25 538.144 1694.92 536.909Z" fill="white"/>
|
||||||
|
<path d="M1732.12 571.389C1730.06 569.484 1728.97 567.129 1728.84 564.324C1728.72 561.518 1729.63 559.088 1731.57 557.031C1733.44 554.978 1735.77 553.909 1738.58 553.824C1741.38 553.74 1743.81 554.65 1745.87 556.554C1747.86 558.396 1748.91 560.719 1749.04 563.525C1749.19 566.351 1748.34 568.791 1746.48 570.844C1745.18 572.2 1743.65 573.118 1741.91 573.599C1740.18 574.1 1738.44 574.166 1736.69 573.797C1734.97 573.426 1733.45 572.623 1732.12 571.389Z" fill="white"/>
|
||||||
|
<path d="M1769.32 605.868C1767.26 603.964 1766.17 601.609 1766.04 598.803C1765.92 595.998 1766.83 593.567 1768.77 591.511C1770.63 589.458 1772.97 588.389 1775.78 588.304C1778.58 588.219 1781.01 589.129 1783.07 591.033C1785.06 592.875 1786.11 595.199 1786.24 598.004C1786.39 600.83 1785.54 603.27 1783.68 605.323C1782.38 606.679 1780.85 607.598 1779.11 608.078C1777.38 608.579 1775.64 608.645 1773.89 608.276C1772.17 607.906 1770.65 607.103 1769.32 605.868Z" fill="white"/>
|
||||||
|
<path d="M1515.18 432.373C1513.13 430.469 1512.04 428.114 1511.91 425.308C1511.78 422.503 1512.69 420.072 1514.64 418.016C1516.5 415.963 1518.83 414.894 1521.64 414.809C1524.45 414.724 1526.88 415.634 1528.93 417.538C1530.92 419.38 1531.98 421.704 1532.1 424.509C1532.26 427.335 1531.4 429.775 1529.54 431.828C1528.24 433.185 1526.72 434.103 1524.97 434.583C1523.25 435.084 1521.51 435.15 1519.75 434.781C1518.04 434.411 1516.51 433.608 1515.18 432.373Z" fill="white"/>
|
||||||
|
<path d="M1552.38 466.852C1550.33 464.948 1549.24 462.593 1549.11 459.788C1548.98 456.982 1549.89 454.551 1551.84 452.495C1553.7 450.442 1556.03 449.373 1558.84 449.288C1561.65 449.204 1564.08 450.113 1566.13 452.018C1568.12 453.859 1569.18 456.183 1569.3 458.988C1569.45 461.815 1568.6 464.254 1566.74 466.308C1565.44 467.664 1563.92 468.582 1562.17 469.062C1560.45 469.564 1558.71 469.63 1556.95 469.261C1555.24 468.89 1553.71 468.087 1552.38 466.852Z" fill="white"/>
|
||||||
|
<path d="M1589.58 501.332C1587.53 499.427 1586.43 497.072 1586.31 494.267C1586.18 491.462 1587.09 489.031 1589.04 486.974C1590.9 484.921 1593.23 483.852 1596.04 483.768C1598.84 483.683 1601.28 484.593 1603.33 486.497C1605.32 488.339 1606.37 490.662 1606.5 493.468C1606.65 496.294 1605.8 498.734 1603.94 500.787C1602.64 502.143 1601.12 503.062 1599.37 503.542C1597.65 504.043 1595.91 504.109 1594.15 503.74C1592.44 503.369 1590.91 502.567 1589.58 501.332Z" fill="white"/>
|
||||||
|
<path d="M1626.78 535.811C1624.73 533.907 1623.63 531.552 1623.51 528.746C1623.38 525.941 1624.29 523.51 1626.24 521.454C1628.1 519.401 1630.43 518.332 1633.24 518.247C1636.04 518.162 1638.48 519.072 1640.53 520.977C1642.52 522.818 1643.57 525.142 1643.7 527.947C1643.85 530.774 1643 533.213 1641.14 535.266C1639.84 536.623 1638.32 537.541 1636.57 538.021C1634.85 538.522 1633.1 538.588 1631.35 538.219C1629.63 537.849 1628.11 537.046 1626.78 535.811Z" fill="white"/>
|
||||||
|
<path d="M1663.98 570.291C1661.92 568.386 1660.83 566.031 1660.71 563.226C1660.58 560.42 1661.49 557.99 1663.43 555.933C1665.3 553.88 1667.63 552.811 1670.44 552.726C1673.24 552.642 1675.67 553.552 1677.73 555.456C1679.72 557.298 1680.77 559.621 1680.9 562.427C1681.05 565.253 1680.2 567.693 1678.34 569.746C1677.04 571.102 1675.51 572.02 1673.77 572.501C1672.04 573.002 1670.3 573.068 1668.55 572.699C1666.83 572.328 1665.31 571.525 1663.98 570.291Z" fill="white"/>
|
||||||
|
<path d="M1701.18 604.77C1699.12 602.866 1698.03 600.511 1697.9 597.705C1697.78 594.9 1698.69 592.469 1700.63 590.413C1702.5 588.359 1704.83 587.291 1707.64 587.206C1710.44 587.121 1712.87 588.031 1714.93 589.935C1716.92 591.777 1717.97 594.101 1718.1 596.906C1718.25 599.732 1717.4 602.172 1715.54 604.225C1714.24 605.581 1712.71 606.5 1710.97 606.98C1709.24 607.481 1707.5 607.547 1705.75 607.178C1704.03 606.807 1702.51 606.005 1701.18 604.77Z" fill="white"/>
|
||||||
|
<path d="M1738.38 639.249C1736.32 637.345 1735.23 634.99 1735.1 632.185C1734.98 629.379 1735.89 626.948 1737.83 624.892C1739.69 622.839 1742.03 621.77 1744.84 621.685C1747.64 621.6 1750.07 622.51 1752.13 624.415C1754.12 626.256 1755.17 628.58 1755.3 631.385C1755.45 634.212 1754.6 636.651 1752.74 638.704C1751.44 640.061 1749.91 640.979 1748.17 641.459C1746.44 641.96 1744.7 642.027 1742.95 641.658C1741.23 641.287 1739.71 640.484 1738.38 639.249Z" fill="white"/>
|
||||||
|
<path d="M1484.24 465.754C1482.19 463.85 1481.1 461.495 1480.97 458.69C1480.84 455.884 1481.75 453.453 1483.7 451.397C1485.56 449.344 1487.89 448.275 1490.7 448.19C1493.51 448.106 1495.94 449.015 1497.99 450.92C1499.98 452.761 1501.04 455.085 1501.16 457.89C1501.31 460.717 1500.46 463.156 1498.6 465.209C1497.3 466.566 1495.78 467.484 1494.03 467.964C1492.31 468.466 1490.57 468.532 1488.81 468.163C1487.1 467.792 1485.57 466.989 1484.24 465.754Z" fill="white"/>
|
||||||
|
<path d="M1521.44 500.234C1519.39 498.329 1518.29 495.974 1518.17 493.169C1518.04 490.364 1518.95 487.933 1520.9 485.876C1522.76 483.823 1525.09 482.754 1527.9 482.67C1530.71 482.585 1533.14 483.495 1535.19 485.399C1537.18 487.241 1538.24 489.564 1538.36 492.37C1538.51 495.196 1537.66 497.636 1535.8 499.689C1534.5 501.045 1532.98 501.964 1531.23 502.444C1529.51 502.945 1527.77 503.011 1526.01 502.642C1524.3 502.271 1522.77 501.469 1521.44 500.234Z" fill="white"/>
|
||||||
|
<path d="M1558.64 534.713C1556.59 532.809 1555.49 530.454 1555.37 527.648C1555.24 524.843 1556.15 522.412 1558.1 520.356C1559.96 518.303 1562.29 517.234 1565.1 517.149C1567.9 517.064 1570.34 517.974 1572.39 519.879C1574.38 521.72 1575.43 524.044 1575.56 526.849C1575.71 529.675 1574.86 532.115 1573 534.168C1571.7 535.525 1570.18 536.443 1568.43 536.923C1566.71 537.424 1564.97 537.49 1563.21 537.121C1561.5 536.751 1559.97 535.948 1558.64 534.713Z" fill="white"/>
|
||||||
|
<path d="M1595.84 569.193C1593.78 567.288 1592.69 564.933 1592.57 562.128C1592.44 559.322 1593.35 556.892 1595.29 554.835C1597.16 552.782 1599.49 551.713 1602.3 551.628C1605.1 551.544 1607.53 552.453 1609.59 554.358C1611.58 556.2 1612.63 558.523 1612.76 561.329C1612.91 564.155 1612.06 566.595 1610.2 568.648C1608.9 570.004 1607.38 570.922 1605.63 571.403C1603.9 571.904 1602.16 571.97 1600.41 571.601C1598.69 571.23 1597.17 570.427 1595.84 569.193Z" fill="white"/>
|
||||||
|
<path d="M1633.04 603.672C1630.98 601.768 1629.89 599.413 1629.76 596.607C1629.64 593.802 1630.55 591.371 1632.49 589.315C1634.36 587.261 1636.69 586.193 1639.5 586.108C1642.3 586.023 1644.73 586.933 1646.79 588.837C1648.78 590.679 1649.83 593.003 1649.96 595.808C1650.11 598.634 1649.26 601.074 1647.4 603.127C1646.1 604.483 1644.57 605.402 1642.83 605.882C1641.1 606.383 1639.36 606.449 1637.61 606.08C1635.89 605.709 1634.37 604.907 1633.04 603.672Z" fill="white"/>
|
||||||
|
<path d="M1670.24 638.151C1668.18 636.247 1667.09 633.892 1666.96 631.087C1666.84 628.281 1667.75 625.85 1669.69 623.794C1671.55 621.741 1673.89 620.672 1676.7 620.587C1679.5 620.502 1681.93 621.412 1683.99 623.317C1685.98 625.158 1687.03 627.482 1687.16 630.287C1687.31 633.114 1686.46 635.553 1684.6 637.606C1683.3 638.963 1681.77 639.881 1680.03 640.361C1678.3 640.862 1676.56 640.929 1674.81 640.559C1673.09 640.189 1671.57 639.386 1670.24 638.151Z" fill="white"/>
|
||||||
|
<path d="M1707.44 672.631C1705.38 670.726 1704.29 668.371 1704.16 665.566C1704.04 662.761 1704.95 660.33 1706.89 658.273C1708.75 656.22 1711.09 655.151 1713.9 655.067C1716.7 654.982 1719.13 655.892 1721.19 657.796C1723.17 659.638 1724.23 661.961 1724.36 664.767C1724.51 667.593 1723.66 670.033 1721.8 672.086C1720.5 673.442 1718.97 674.36 1717.23 674.841C1715.5 675.342 1713.76 675.408 1712.01 675.039C1710.29 674.668 1708.77 673.865 1707.44 672.631Z" fill="white"/>
|
||||||
|
<path d="M1453.3 499.136C1451.25 497.231 1450.15 494.876 1450.03 492.071C1449.9 489.266 1450.81 486.835 1452.76 484.778C1454.62 482.725 1456.95 481.656 1459.76 481.572C1462.57 481.487 1465 482.397 1467.05 484.301C1469.04 486.143 1470.1 488.466 1470.22 491.272C1470.37 494.098 1469.52 496.538 1467.66 498.591C1466.36 499.947 1464.84 500.866 1463.09 501.346C1461.37 501.847 1459.63 501.913 1457.87 501.544C1456.16 501.173 1454.63 500.371 1453.3 499.136Z" fill="white"/>
|
||||||
|
<path d="M1490.5 533.615C1488.45 531.711 1487.35 529.356 1487.23 526.55C1487.1 523.745 1488.01 521.314 1489.96 519.258C1491.82 517.205 1494.15 516.136 1496.96 516.051C1499.76 515.966 1502.2 516.876 1504.25 518.781C1506.24 520.622 1507.29 522.946 1507.42 525.751C1507.57 528.577 1506.72 531.017 1504.86 533.07C1503.56 534.427 1502.04 535.345 1500.29 535.825C1498.57 536.326 1496.83 536.392 1495.07 536.023C1493.36 535.653 1491.83 534.85 1490.5 533.615Z" fill="white"/>
|
||||||
|
<path d="M1527.7 568.095C1525.65 566.19 1524.55 563.835 1524.43 561.03C1524.3 558.224 1525.21 555.794 1527.16 553.737C1529.02 551.684 1531.35 550.615 1534.16 550.53C1536.96 550.446 1539.4 551.355 1541.45 553.26C1543.44 555.102 1544.49 557.425 1544.62 560.231C1544.77 563.057 1543.92 565.497 1542.06 567.55C1540.76 568.906 1539.24 569.824 1537.49 570.305C1535.77 570.806 1534.02 570.872 1532.27 570.503C1530.55 570.132 1529.03 569.329 1527.7 568.095Z" fill="white"/>
|
||||||
|
<path d="M1564.9 602.574C1562.84 600.669 1561.75 598.315 1561.62 595.509C1561.5 592.704 1562.41 590.273 1564.35 588.217C1566.22 586.163 1568.55 585.095 1571.36 585.01C1574.16 584.925 1576.59 585.835 1578.65 587.739C1580.64 589.581 1581.69 591.904 1581.82 594.71C1581.97 597.536 1581.12 599.976 1579.26 602.029C1577.96 603.385 1576.43 604.304 1574.69 604.784C1572.96 605.285 1571.22 605.351 1569.47 604.982C1567.75 604.611 1566.23 603.809 1564.9 602.574Z" fill="white"/>
|
||||||
|
<path d="M1602.1 637.053C1600.04 635.149 1598.95 632.794 1598.82 629.989C1598.7 627.183 1599.61 624.752 1601.55 622.696C1603.41 620.643 1605.75 619.574 1608.56 619.489C1611.36 619.404 1613.79 620.314 1615.85 622.219C1617.84 624.06 1618.89 626.384 1619.02 629.189C1619.17 632.016 1618.32 634.455 1616.46 636.508C1615.16 637.865 1613.63 638.783 1611.89 639.263C1610.16 639.764 1608.42 639.83 1606.67 639.461C1604.95 639.091 1603.43 638.288 1602.1 637.053Z" fill="white"/>
|
||||||
|
<path d="M1639.3 671.533C1637.24 669.628 1636.15 667.273 1636.02 664.468C1635.9 661.663 1636.81 659.232 1638.75 657.175C1640.61 655.122 1642.95 654.053 1645.76 653.969C1648.56 653.884 1650.99 654.794 1653.05 656.698C1655.03 658.54 1656.09 660.863 1656.22 663.669C1656.37 666.495 1655.52 668.935 1653.66 670.988C1652.36 672.344 1650.83 673.262 1649.09 673.743C1647.36 674.244 1645.62 674.31 1643.87 673.941C1642.15 673.57 1640.63 672.767 1639.3 671.533Z" fill="white"/>
|
||||||
|
<path d="M1676.5 706.012C1674.44 704.108 1673.35 701.753 1673.22 698.947C1673.09 696.142 1674 693.711 1675.95 691.655C1677.81 689.602 1680.15 688.533 1682.95 688.448C1685.76 688.363 1688.19 689.273 1690.25 691.177C1692.23 693.019 1693.29 695.343 1693.42 698.148C1693.57 700.974 1692.72 703.414 1690.85 705.467C1689.56 706.824 1688.03 707.742 1686.29 708.222C1684.56 708.723 1682.82 708.789 1681.07 708.42C1679.35 708.05 1677.83 707.247 1676.5 706.012Z" fill="white"/>
|
||||||
|
<path d="M1422.36 532.517C1420.31 530.613 1419.21 528.258 1419.09 525.452C1418.96 522.647 1419.87 520.216 1421.82 518.16C1423.68 516.107 1426.01 515.038 1428.82 514.953C1431.63 514.868 1434.06 515.778 1436.11 517.683C1438.1 519.524 1439.16 521.848 1439.28 524.653C1439.43 527.479 1438.58 529.919 1436.72 531.972C1435.42 533.329 1433.9 534.247 1432.15 534.727C1430.43 535.228 1428.69 535.294 1426.93 534.925C1425.22 534.555 1423.69 533.752 1422.36 532.517Z" fill="white"/>
|
||||||
|
<path d="M1459.56 566.997C1457.51 565.092 1456.41 562.737 1456.29 559.932C1456.16 557.126 1457.07 554.695 1459.02 552.639C1460.88 550.586 1463.21 549.517 1466.02 549.432C1468.82 549.348 1471.26 550.257 1473.31 552.162C1475.3 554.004 1476.35 556.327 1476.48 559.132C1476.63 561.959 1475.78 564.399 1473.92 566.452C1472.62 567.808 1471.1 568.726 1469.35 569.207C1467.63 569.708 1465.89 569.774 1464.13 569.405C1462.42 569.034 1460.89 568.231 1459.56 566.997Z" fill="white"/>
|
||||||
|
<path d="M1496.76 601.476C1494.7 599.571 1493.61 597.217 1493.49 594.411C1493.36 591.606 1494.27 589.175 1496.21 587.118C1498.08 585.065 1500.41 583.997 1503.22 583.912C1506.02 583.827 1508.45 584.737 1510.51 586.641C1512.5 588.483 1513.55 590.806 1513.68 593.612C1513.83 596.438 1512.98 598.878 1511.12 600.931C1509.82 602.287 1508.29 603.206 1506.55 603.686C1504.82 604.187 1503.08 604.253 1501.33 603.884C1499.61 603.513 1498.09 602.711 1496.76 601.476Z" fill="white"/>
|
||||||
|
<path d="M1533.96 635.955C1531.9 634.051 1530.81 631.696 1530.68 628.891C1530.56 626.085 1531.47 623.654 1533.41 621.598C1535.28 619.545 1537.61 618.476 1540.42 618.391C1543.22 618.306 1545.65 619.216 1547.71 621.121C1549.7 622.962 1550.75 625.286 1550.88 628.091C1551.03 630.918 1550.18 633.357 1548.32 635.41C1547.02 636.767 1545.49 637.685 1543.75 638.165C1542.02 638.666 1540.28 638.732 1538.53 638.363C1536.81 637.993 1535.29 637.19 1533.96 635.955Z" fill="white"/>
|
||||||
|
<path d="M1571.16 670.435C1569.1 668.53 1568.01 666.175 1567.88 663.37C1567.76 660.565 1568.67 658.134 1570.61 656.077C1572.47 654.024 1574.81 652.955 1577.62 652.87C1580.42 652.786 1582.85 653.696 1584.91 655.6C1586.9 657.442 1587.95 659.765 1588.08 662.571C1588.23 665.397 1587.38 667.837 1585.52 669.89C1584.22 671.246 1582.69 672.164 1580.95 672.645C1579.22 673.146 1577.48 673.212 1575.73 672.843C1574.01 672.472 1572.49 671.669 1571.16 670.435Z" fill="white"/>
|
||||||
|
<path d="M1608.36 704.914C1606.3 703.01 1605.21 700.655 1605.08 697.849C1604.96 695.044 1605.87 692.613 1607.81 690.557C1609.67 688.504 1612.01 687.435 1614.82 687.35C1617.62 687.265 1620.05 688.175 1622.11 690.079C1624.09 691.921 1625.15 694.245 1625.28 697.05C1625.43 699.876 1624.58 702.316 1622.72 704.369C1621.42 705.726 1619.89 706.644 1618.15 707.124C1616.42 707.625 1614.68 707.691 1612.93 707.322C1611.21 706.952 1609.69 706.149 1608.36 704.914Z" fill="white"/>
|
||||||
|
<path d="M1645.56 739.393C1643.5 737.489 1642.41 735.134 1642.28 732.329C1642.15 729.523 1643.06 727.092 1645.01 725.036C1646.87 722.983 1649.21 721.914 1652.01 721.829C1654.82 721.744 1657.25 722.654 1659.31 724.559C1661.29 726.4 1662.35 728.724 1662.48 731.529C1662.63 734.356 1661.78 736.795 1659.91 738.848C1658.62 740.205 1657.09 741.123 1655.35 741.603C1653.62 742.105 1651.88 742.171 1650.13 741.802C1648.41 741.431 1646.89 740.628 1645.56 739.393Z" fill="white"/>
|
||||||
|
<path d="M1319.35 282.231L1382.54 367.303L1478.66 345.769L1319.35 282.231Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1600 142L1511 288L1600 247.973V142Z" fill="white"/>
|
||||||
|
<path d="M936 156L847 302L936 261.973V156Z" fill="white"/>
|
||||||
|
<path d="M292 717L203 863L292 822.973V717Z" fill="white"/>
|
||||||
|
<path d="M1705 1291.99V1364L1795 1240L1705 1291.99Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1319 377V325.318L1256 288L1319 377Z" fill="white"/>
|
||||||
|
<path d="M999 201V149.318L936 112L999 201Z" fill="white"/>
|
||||||
|
<path d="M1655.88 1417.42L1691.03 1386.16L1678.52 1321L1655.88 1417.42Z" fill="white"/>
|
||||||
|
<path d="M1389 275L1479 223.018L1389 183V275Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1738.95 1236.69L1830.16 1188.69L1752.11 1140L1738.95 1236.69Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M419 186L447 478L619 156L419 186Z" fill="#7799F1"/>
|
||||||
|
<path d="M397.721 371L316.72 581.829L437.186 528.97L397.721 371Z" fill="#4963BE"/>
|
||||||
|
<path d="M503.904 458L631.091 574L579.905 370L503.904 458Z" fill="white"/>
|
||||||
|
<path d="M1722.7 1407.92L1719.13 1448.15L1667.8 1472.88L1722.7 1407.92Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1048_45">
|
||||||
|
<rect width="2000" height="2000" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 55 KiB |
174
assets/svg/themed/fruitSorbet/ethereum.svg
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<svg width="2000" height="2000" viewBox="0 0 2000 2000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_1048_45)">
|
||||||
|
<path d="M85.1779 1368.47C57.1779 1608.47 537.178 1652.47 589.178 1660.47H1441.18C1533.18 1660.47 1761.18 1560.47 1845.18 1432.47C1929.18 1304.47 1809.18 1092.47 1761.18 984.475C1713.18 876.474 1934.56 800.211 1873.18 512.475C1809.18 212.475 1529.18 152.475 1301.18 212.475C1150.27 252.189 1249.18 120.475 905.18 84.4745C561.18 48.4745 493.18 416.475 337.18 460.475C181.18 504.475 85.1779 760.475 177.18 984.475C269.182 1208.47 113.178 1128.47 85.1779 1368.47Z" fill="#BECDF9"/>
|
||||||
|
<ellipse cx="1022" cy="1680.5" rx="687" ry="52.5" fill="#2E3E79"/>
|
||||||
|
<path d="M1049.83 863.456L1049.81 863.385L1049.78 863.314C1046.97 854.72 1044.73 846.664 1043.01 839.098L1038.13 840.205C1033.69 820.63 1032.61 804.099 1034.03 789.869L1039 790.364C1040.83 771.98 1047 757.717 1055.45 745.676L1051.36 742.802C1061.27 728.691 1074.15 717.536 1086.98 706.788L1090.19 710.621C1091.14 709.824 1092.09 709.028 1093.05 708.229C1105.36 697.941 1117.97 687.408 1127.5 674.629L1123.5 671.64C1132.94 658.972 1139.2 644.055 1139.24 624.337L1144.24 624.348C1144.28 609.808 1141.1 593.053 1133.86 573.267L1129.17 574.986C1124.15 561.291 1117.11 545.984 1107.66 528.758L1112.04 526.354C1108.16 519.271 1103.87 511.877 1099.17 504.15C1094.83 497.012 1091.03 489.839 1087.74 482.65L1083.19 484.729C1075.96 468.927 1071.15 453.01 1068.5 437.178L1073.43 436.352C1070.7 420.076 1070.34 403.888 1072.06 388.011L1067.09 387.472C1068.88 370.94 1072.87 354.746 1078.77 339.135L1083.44 340.902C1089.13 325.862 1096.63 311.352 1105.7 297.606L1101.52 294.854C1110.57 281.127 1121.13 268.168 1132.94 256.197L1136.5 259.708C1147.85 248.193 1160.38 237.603 1173.85 228.144L1170.98 224.052C1184.51 214.55 1198.97 206.173 1214.11 199.121L1216.22 203.654C1230.98 196.781 1246.39 191.192 1262.23 187.078L1260.97 182.239C1277 178.074 1293.47 175.389 1310.14 174.375L1310.45 179.365C1326.57 178.384 1342.87 178.997 1359.15 181.378L1359.88 176.431C1376.02 178.793 1392.15 182.859 1408.07 188.798L1406.32 193.482C1421.1 199 1435.71 206.172 1449.96 215.145L1452.63 210.913C1466.15 219.422 1479.35 229.513 1492.09 241.3L1488.7 244.971C1500.16 255.57 1511.26 267.579 1521.9 281.093L1525.83 278.001C1535.61 290.419 1544.99 304.075 1553.89 319.033L1549.59 321.59C1553.73 328.555 1557.78 335.811 1561.71 343.364C1562.42 344.724 1563.06 346.177 1563.62 347.696L1568.31 345.948C1569.54 349.266 1570.44 352.791 1570.98 356.298L1566.04 357.062C1566.29 358.688 1566.46 360.305 1566.54 361.882C1567.04 371.372 1567.64 380.541 1568.34 389.401L1573.33 389.005C1574.85 408.15 1576.85 425.826 1579.29 442.154L1574.35 442.894C1577.29 462.587 1580.87 480.373 1585.03 496.453L1589.87 495.202C1594.88 514.585 1600.72 531.406 1607.25 546.044L1602.68 548.081C1611.12 566.993 1620.74 582.432 1631.3 595.127L1635.14 591.93C1647.7 607.027 1661.53 618.009 1676.15 626.296L1673.68 630.646C1690.17 639.996 1707.53 645.972 1724.97 650.513L1726.23 645.674C1738.52 648.876 1750.97 651.381 1763.32 653.868C1768.54 654.919 1773.74 655.967 1778.91 657.062L1777.87 661.954C1795.64 665.72 1812.69 669.994 1828.53 676.825L1830.51 672.234C1846.5 679.128 1861.39 688.595 1874.51 702.621L1870.85 706.035C1881.26 717.164 1890.58 731.377 1898.4 749.871L1903 747.924C1909.15 762.476 1914.36 779.524 1918.43 799.577L1913.53 800.574C1915.21 808.813 1916.69 817.58 1917.98 826.914C1919.12 835.245 1919.67 843.369 1919.65 851.287L1924.65 851.3C1924.6 868.594 1921.94 884.994 1916.94 900.482L1912.18 898.947C1907.25 914.223 1899.96 928.617 1890.59 942.115L1894.69 944.968C1885.46 958.253 1874.29 970.656 1861.43 982.163L1858.09 978.437C1846.35 988.951 1833.14 998.73 1818.66 1007.75L1821.3 1012C1807.65 1020.51 1792.92 1028.34 1777.28 1035.47L1775.2 1030.92C1760.6 1037.59 1745.19 1043.65 1729.1 1049.1L1730.7 1053.83C1715.26 1059.06 1699.21 1063.73 1682.69 1067.82L1681.49 1062.96C1665.71 1066.87 1649.49 1070.26 1632.93 1073.11L1633.78 1078.04C1617.53 1080.84 1600.97 1083.13 1584.2 1084.9L1583.67 1079.93C1567.31 1081.66 1550.75 1082.9 1534.08 1083.64L1534.3 1088.64C1517.71 1089.38 1501.01 1089.62 1484.31 1089.37L1484.38 1084.37C1467.8 1084.12 1451.21 1083.38 1434.71 1082.15L1434.33 1087.13C1417.64 1085.88 1401.03 1084.12 1384.61 1081.85L1385.29 1076.9C1368.76 1074.62 1352.41 1071.81 1336.36 1068.48L1335.34 1073.38C1318.8 1069.95 1302.56 1065.96 1286.72 1061.41L1288.1 1056.6C1271.95 1051.97 1256.24 1046.74 1241.08 1040.93L1239.29 1045.6C1223.44 1039.52 1208.17 1032.8 1193.62 1025.43L1195.88 1020.97C1180.81 1013.34 1166.55 1005.01 1153.21 995.985L1150.41 1000.13C1136.32 990.587 1123.24 980.265 1111.35 969.152L1114.76 965.498C1102.57 954.105 1091.66 941.887 1082.21 928.838L1078.16 931.77C1068.35 918.23 1060.07 903.791 1053.51 888.441L1058.11 886.476C1054.93 879.023 1052.16 871.35 1049.83 863.456Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<path d="M203.275 733.389L203.327 733.336L203.378 733.281C209.007 727.19 214.504 721.647 219.875 716.612L216.455 712.964C229.7 700.546 242.263 691.095 254.253 684.057L256.784 688.369C271.893 679.5 285.94 674.657 299.181 672.558L298.398 667.62C315.026 664.983 330.606 666.449 345.548 669.924L344.415 674.794C359.055 678.199 373.108 683.594 387.31 689.046L388.797 689.617L390.588 684.949C405.752 690.767 420.67 696.392 435.857 699.199L434.948 704.115C450.757 707.037 467.085 707.062 484.284 701.296L482.695 696.555C495.566 692.24 508.93 684.506 523.041 672.046L526.351 675.794C536.846 666.527 547.66 654.793 558.901 640.141L554.933 637.098C563.547 625.87 572.456 612.851 581.704 597.809L585.964 600.428C589.996 593.869 594.089 586.935 598.247 579.607C602.555 572.014 607.137 564.844 611.97 558.086L607.902 555.178C618.388 540.512 630.047 527.716 642.644 516.702L645.935 520.466C658.945 509.091 672.977 499.664 687.768 492.076L685.486 487.627C700.963 479.688 717.248 473.719 734.048 469.605L735.237 474.461C751.592 470.457 768.465 468.245 785.577 467.726L785.425 462.728C802.557 462.208 819.901 463.354 837.182 466.059L836.408 470.998C853.065 473.606 869.675 477.689 885.981 483.154L887.57 478.413C903.871 483.876 919.863 490.694 935.3 498.774L932.981 503.204C948.024 511.078 962.531 520.167 976.265 530.38L979.249 526.367C993.105 536.67 1006.19 548.101 1018.27 560.569L1014.68 564.048C1026.49 576.247 1037.32 589.449 1046.95 603.565L1051.08 600.748C1060.77 614.965 1069.27 630.1 1076.34 646.069L1071.76 648.093C1078.55 663.426 1084 679.538 1087.91 696.351L1092.78 695.218C1096.61 711.686 1098.99 728.817 1099.74 746.539L1094.74 746.748C1095.43 763.222 1094.69 780.227 1092.34 797.709L1097.3 798.374C1095.09 814.864 1091.48 831.759 1086.35 849.01L1081.56 847.584C1076.88 863.3 1070.92 879.332 1063.57 895.644L1068.13 897.699C1061.34 912.759 1053.39 928.039 1044.2 943.513L1039.9 940.959C1035.56 948.269 1030.93 955.624 1026.02 963.024C1025.17 964.305 1024.21 965.573 1023.15 966.811L1026.95 970.06C1024.64 972.756 1021.99 975.258 1019.19 977.439L1016.12 973.492C1014.82 974.505 1013.48 975.437 1012.15 976.273C1005.07 980.698 998.208 985.081 991.561 989.424L994.296 993.61C980.363 1002.71 967.376 1011.63 955.278 1020.38L952.348 1016.33C938.69 1026.2 926.146 1035.87 914.638 1045.34L917.815 1049.2C904.833 1059.88 893.195 1070.3 882.784 1080.47L879.289 1076.89C866.803 1089.1 856.035 1100.98 846.795 1112.58L850.706 1115.69C839.955 1129.19 831.341 1142.25 824.539 1154.94L820.132 1152.58C811.823 1168.09 806.13 1183.09 802.515 1197.7L807.369 1198.9C803.376 1215.03 802.008 1230.6 802.451 1245.74L797.453 1245.89C797.934 1262.35 800.496 1278.25 804.108 1293.73L808.977 1292.59C812.577 1308.02 817.263 1323.14 822.035 1338.12L817.271 1339.64C817.857 1341.48 818.444 1343.31 819.029 1345.14C823.292 1358.48 827.479 1371.58 830.935 1384.71L835.77 1383.44C839.83 1398.87 842.892 1414.33 843.843 1430.04L838.852 1430.34C839.754 1445.23 838.698 1460.27 834.709 1475.67L839.549 1476.93C835.906 1491 829.896 1505.38 820.812 1520.21L816.548 1517.59C809.315 1529.4 800.04 1541.55 788.309 1554.12L791.965 1557.53C782.169 1568.03 770.725 1578.77 757.419 1589.79L754.23 1585.94C748.363 1590.8 742.125 1595.72 735.494 1600.7C728.818 1605.72 722.048 1610.21 715.194 1614.21L717.71 1618.53C702.98 1627.11 687.837 1633.44 672.387 1637.7L671.058 1632.88C655.505 1637.17 639.618 1639.29 623.5 1639.42L623.541 1644.42C607.371 1644.56 590.996 1642.73 574.523 1639.13L575.592 1634.25C560.261 1630.89 544.807 1625.95 529.322 1619.56L527.414 1624.18C512.616 1618.07 497.822 1610.67 483.11 1602.1L485.627 1597.78C471.969 1589.82 458.365 1580.82 444.88 1570.9L441.915 1574.92C428.946 1565.37 416.099 1554.98 403.431 1543.83L406.735 1540.07C394.682 1529.46 382.785 1518.15 371.093 1506.22L367.522 1509.72C356.146 1498.11 344.97 1485.92 334.037 1473.22L337.826 1469.96C327.254 1457.68 316.908 1444.91 306.827 1431.73L302.856 1434.77C292.93 1421.79 283.263 1408.41 273.894 1394.69L278.023 1391.87C268.826 1378.4 259.915 1364.6 251.328 1350.53L247.06 1353.13C238.493 1339.09 230.247 1324.78 222.358 1310.26L226.752 1307.87C218.918 1293.45 211.438 1278.82 204.347 1264.03L199.839 1266.19C192.686 1251.28 185.926 1236.2 179.597 1221.03L184.212 1219.11C177.859 1203.88 171.943 1188.55 166.499 1173.18L161.786 1174.85C156.232 1159.17 151.165 1143.45 146.626 1127.74L151.43 1126.35C146.828 1110.43 142.773 1094.52 139.305 1078.71L134.421 1079.78C130.839 1063.45 127.876 1047.21 125.578 1031.12L130.528 1030.41C128.178 1013.96 126.529 997.692 125.627 981.673L120.635 981.954C119.691 965.189 119.558 948.685 120.287 932.528L125.282 932.754C126.034 916.11 127.711 899.859 130.371 884.092L125.44 883.26C128.232 866.708 132.094 850.663 137.094 835.232L141.851 836.773C146.906 821.174 153.136 806.234 160.608 792.062L156.185 789.73C163.875 775.146 172.864 761.342 183.229 748.438L187.128 751.57C192.174 745.287 197.554 739.222 203.275 733.389Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<circle cx="1000" cy="1000" r="700" fill="#5670D8"/>
|
||||||
|
<path d="M1000 1605C1334.13 1605 1605 1334.13 1605 1000C1605 665.868 1334.13 395 1000 395C665.868 395 395 665.868 395 1000C395 1334.13 665.868 1605 1000 1605Z" fill="#627EEA" stroke="#A2B6FB" stroke-width="10"/>
|
||||||
|
<path d="M1018.7 549.918V882.559L1299.84 1008.2L1018.7 549.918Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 549.918L737.562 1008.2L1018.7 882.559V549.918Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1223.73V1449.75L1300 1060.52L1018.7 1223.73Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 1449.75V1223.73L737.562 1060.52L1018.7 1449.75Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1171.41L1299.84 1008.2L1018.7 882.559V1171.41Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M737.562 1008.2L1018.7 1171.41V882.559L737.562 1008.2Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<g style="mix-blend-mode:multiply" opacity="0.3">
|
||||||
|
<path d="M1569 1414C1463 1622 1182 1700 1005 1700C504.5 1707.5 108.001 1160 397 646C415.999 672 500.002 1204 821.001 1386C1192 1582 1569 1414 1569 1414Z" fill="#3C4F9A"/>
|
||||||
|
</g>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<mask id="path-33-inside-1_1048_45" fill="white">
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z"/>
|
||||||
|
</mask>
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z" fill="#454545"/>
|
||||||
|
<path d="M1346.5 1100L1330.25 1074.78L1350.22 1129.77L1346.5 1100ZM1391.5 1088L1388.19 1117.82L1391.5 1088ZM1418.5 1096.5L1448.32 1093.19L1447.41 1085.05L1442.5 1078.5L1418.5 1096.5ZM1420 1110L1409.11 1137.95L1455.29 1155.95L1449.82 1106.69L1420 1110ZM1362.75 1125.22C1364.35 1124.19 1368.78 1121.79 1374.42 1119.94C1380.18 1118.05 1384.99 1117.46 1388.19 1117.82L1394.81 1058.18C1380.01 1056.54 1366.07 1059.53 1355.71 1062.93C1345.22 1066.38 1336.15 1070.98 1330.25 1074.78L1362.75 1125.22ZM1388.19 1117.82C1395.29 1118.61 1399.13 1119.77 1400.61 1120.32C1401.36 1120.61 1401.22 1120.63 1400.48 1120.17C1400.1 1119.94 1399.39 1119.48 1398.49 1118.73C1397.7 1118.08 1396.14 1116.69 1394.5 1114.5L1442.5 1078.5C1438.86 1073.65 1434.48 1070.64 1431.88 1069.05C1428.75 1067.12 1425.33 1065.52 1421.77 1064.18C1414.62 1061.48 1405.71 1059.39 1394.81 1058.18L1388.19 1117.82ZM1388.68 1099.81L1390.18 1113.31L1449.82 1106.69L1448.32 1093.19L1388.68 1099.81ZM1430.89 1082.05C1423.37 1079.12 1413.62 1075.93 1404.56 1073.44C1396.71 1071.29 1385.35 1068.5 1376.5 1068.5V1128.5C1375.61 1128.5 1376.26 1128.43 1379.25 1129.02C1381.81 1129.53 1385.05 1130.31 1388.69 1131.31C1396.04 1133.32 1403.79 1135.88 1409.11 1137.95L1430.89 1082.05ZM1376.5 1068.5C1368.12 1068.5 1349.8 1069.35 1342.78 1070.23L1350.22 1129.77C1353.87 1129.31 1369.5 1128.5 1376.5 1128.5V1068.5Z" fill="white" mask="url(#path-33-inside-1_1048_45)"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<mask id="path-36-inside-2_1048_45" fill="white">
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)"/>
|
||||||
|
</mask>
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)" stroke="white" stroke-width="45" mask="url(#path-36-inside-2_1048_45)"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1391.87 1279.66L1390.85 1275.02L1393.28 1277.68L1391.87 1279.66Z" fill="#7D8BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1441.85 1559.26C1442.43 1559.72 1442.93 1560.21 1443.36 1560.69C1442.65 1560.5 1441.96 1560.32 1441.3 1560.16L1441.85 1559.26M1441.85 1559.26V1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1441.85 1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26C1441.53 1559.01 1441.19 1558.76 1440.82 1558.53L1440.28 1559.93C1440.57 1559.99 1440.86 1560.05 1441.16 1560.13L1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1416.99 1557.18L1418.71 1557.64L1416.99 1557.18C1416.83 1557.8 1416.68 1558.44 1416.54 1559.09C1415.97 1559.53 1415.41 1560.01 1414.87 1560.54C1411.74 1563.62 1410.08 1567.36 1409.33 1570.86C1408.78 1573.46 1408.67 1575.95 1408.93 1578.31C1407.42 1580.76 1406.34 1583.73 1406.05 1587.25C1405.84 1589.82 1406 1592.21 1406.44 1594.4C1405.55 1596.4 1404.95 1598.71 1404.9 1601.32C1404.8 1606.38 1406.8 1610.48 1408.87 1613.32C1411.76 1617.31 1415.98 1619.38 1417.61 1620.17C1419.99 1621.32 1422.68 1622.32 1425.29 1623.18C1430.57 1624.9 1436.87 1626.43 1442.86 1627.56C1448.74 1628.66 1455.06 1629.5 1460.22 1629.55C1462.55 1629.58 1466.05 1629.48 1469.41 1628.44C1471.04 1627.94 1474.2 1626.76 1476.98 1623.89C1476.98 1623.89 1476.98 1623.88 1476.99 1623.88C1477.44 1623.82 1477.9 1623.75 1478.36 1623.66C1481.19 1623.11 1486.74 1621.25 1490.08 1615.81C1492.27 1614.98 1494.54 1613.67 1496.61 1611.61C1498.01 1610.2 1499.65 1608.26 1501.03 1605.89C1504.37 1604.31 1508.15 1601.39 1510.29 1596.41C1510.3 1596.38 1510.31 1596.35 1510.33 1596.31C1511.05 1594.62 1512.92 1590.27 1512.67 1585.26C1512.51 1582.2 1511.6 1578.83 1509.42 1575.72C1507.32 1572.73 1504.66 1570.84 1502.34 1569.65C1491.85 1564.28 1475.85 1556.63 1462.01 1551.24C1455.22 1548.59 1448.2 1546.19 1442.36 1545.04C1439.63 1544.5 1435.82 1543.95 1431.97 1544.47C1428.35 1544.96 1419.57 1547.4 1416.99 1557.18ZM1451.7 1614.97C1451.64 1614.57 1451.59 1614.18 1451.56 1613.79C1453.02 1613.99 1454.43 1614.16 1455.76 1614.29C1455.79 1614.29 1455.81 1614.29 1455.84 1614.3L1454.43 1619.14C1453.94 1618.81 1453.42 1618.35 1452.93 1617.72C1452.26 1616.83 1451.85 1615.84 1451.7 1614.97ZM1490.49 1578.08C1490.49 1578.08 1490.46 1578.08 1490.41 1578.08C1490.46 1578.08 1490.49 1578.08 1490.49 1578.08Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1409.5 1173C1402.7 1173.8 1407.67 1179.33 1411 1182C1414.17 1182.67 1421.8 1184.1 1427 1184.5C1433.5 1185 1447.5 1184.5 1447.5 1180C1447.5 1176.8 1418 1172 1409.5 1173Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1376.5 1097.5C1370.34 1097.5 1358.25 1098.03 1350.88 1098.59C1354.64 1096.56 1359.67 1094.26 1365.37 1092.39C1373.36 1089.77 1382.58 1088.02 1391.39 1088.99C1400.33 1089.99 1406.62 1091.6 1410.83 1093.19C1412.94 1093.98 1414.53 1094.77 1415.66 1095.46C1416.62 1096.05 1417.21 1096.55 1417.54 1096.91L1418.82 1108.48C1412.55 1106.11 1404.49 1103.49 1396.89 1101.41C1388.69 1099.16 1380.9 1097.5 1376.5 1097.5Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<rect x="1343.94" y="1098.11" width="77.4768" height="43" rx="14" transform="rotate(6.45837 1343.94 1098.11)" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1380.48 1293.04L1379.91 1290.47L1375.48 1270.29L1373.52 1270.71L1378.44 1293.09L1363.6 1319.51L1364.99 1261.41L1381.49 1243.97L1411.22 1276.58L1384.99 1313.58L1380.48 1293.04Z" fill="#7D8BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1489.83 1594.41C1489.79 1594.29 1489.74 1594.18 1489.68 1594.08C1490.09 1594.09 1490.49 1594.09 1490.88 1594.08C1492.29 1594.03 1493.64 1593.83 1494.77 1593.36C1495.93 1592.88 1496.9 1592.1 1497.42 1590.89C1498.17 1589.15 1498.76 1587.47 1498.69 1585.96C1498.65 1585.18 1498.42 1584.43 1497.95 1583.75C1497.48 1583.09 1496.81 1582.55 1495.95 1582.11C1485.69 1576.85 1470.16 1569.44 1456.92 1564.28C1450.32 1561.71 1444.24 1559.68 1439.65 1558.77C1437.37 1558.32 1435.38 1558.13 1433.85 1558.34C1432.33 1558.55 1430.94 1559.21 1430.53 1560.75C1429.52 1564.59 1429.59 1567.35 1430.22 1569.24C1429.3 1569.07 1428.34 1569.01 1427.42 1569.17C1426.43 1569.34 1425.47 1569.76 1424.68 1570.54C1423.89 1571.31 1423.32 1572.39 1423.02 1573.79C1422.35 1576.91 1423.24 1579.31 1424.66 1580.99C1425.08 1581.49 1425.54 1581.93 1426.02 1582.3C1425.34 1582.46 1424.65 1582.68 1423.98 1582.98C1422.01 1583.88 1420.24 1585.56 1420 1588.42C1419.67 1592.36 1421.37 1595.32 1422.96 1597.04C1421.92 1597.43 1420.85 1598.02 1420.07 1598.85C1419.4 1599.56 1418.92 1600.48 1418.9 1601.6C1418.88 1602.71 1419.31 1603.87 1420.19 1605.09C1420.85 1606 1422.16 1606.82 1423.71 1607.57C1425.31 1608.34 1427.34 1609.12 1429.63 1609.86C1434.21 1611.36 1439.91 1612.76 1445.44 1613.8C1450.97 1614.83 1456.37 1615.51 1460.36 1615.55C1462.34 1615.57 1464.06 1615.44 1465.29 1615.06C1465.9 1614.87 1466.49 1614.59 1466.92 1614.15C1467.39 1613.67 1467.6 1613.04 1467.49 1612.34C1467.24 1610.89 1466.75 1609.67 1466.11 1608.67C1467.93 1609.19 1469.8 1609.64 1471.49 1609.88C1473.01 1610.09 1474.48 1610.15 1475.67 1609.92C1476.86 1609.69 1478.02 1609.1 1478.45 1607.82C1479.16 1605.67 1479.27 1603.9 1479.08 1602.59C1479.88 1602.8 1480.77 1602.98 1481.66 1603.06C1483.36 1603.21 1485.38 1603.04 1486.71 1601.71C1488.03 1600.39 1489.27 1598.63 1489.77 1596.98C1490.02 1596.15 1490.12 1595.24 1489.83 1594.41Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545"/>
|
||||||
|
<path d="M1631.79 1492.83L1625.62 1517.38L1640.42 1530.96L1631.79 1492.83Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1631.79 1492.83L1606.16 1522.35L1625.62 1517.38L1631.79 1492.83Z" fill="white"/>
|
||||||
|
<path d="M1619.29 1542.56L1615.1 1559.24L1639.46 1534.82L1619.29 1542.56Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1615.1 1559.25L1619.29 1542.56L1605.19 1526.21L1615.1 1559.25Z" fill="white"/>
|
||||||
|
<path d="M1620.26 1538.7L1640.42 1530.96L1625.62 1517.38L1620.26 1538.7Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1606.16 1522.35L1620.26 1538.7L1625.62 1517.38L1606.16 1522.35Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1577.06 365.61C1575.01 363.706 1573.92 361.351 1573.79 358.546C1573.66 355.74 1574.57 353.309 1576.52 351.253C1578.38 349.2 1580.71 348.131 1583.52 348.046C1586.33 347.961 1588.76 348.871 1590.81 350.776C1592.8 352.617 1593.86 354.941 1593.99 357.746C1594.14 360.573 1593.28 363.012 1591.42 365.065C1590.12 366.422 1588.6 367.34 1586.85 367.82C1585.13 368.321 1583.39 368.388 1581.63 368.019C1579.92 367.648 1578.39 366.845 1577.06 365.61Z" fill="white"/>
|
||||||
|
<path d="M1614.26 400.09C1612.21 398.185 1611.12 395.83 1610.99 393.025C1610.86 390.22 1611.77 387.789 1613.72 385.732C1615.58 383.679 1617.91 382.61 1620.72 382.526C1623.53 382.441 1625.96 383.351 1628.01 385.255C1630 387.097 1631.06 389.42 1631.18 392.226C1631.34 395.052 1630.48 397.492 1628.62 399.545C1627.32 400.901 1625.8 401.82 1624.05 402.3C1622.33 402.801 1620.59 402.867 1618.83 402.498C1617.12 402.127 1615.59 401.325 1614.26 400.09Z" fill="white"/>
|
||||||
|
<path d="M1651.46 434.569C1649.41 432.665 1648.32 430.31 1648.19 427.504C1648.06 424.699 1648.97 422.268 1650.92 420.212C1652.78 418.159 1655.11 417.09 1657.92 417.005C1660.73 416.92 1663.16 417.83 1665.21 419.735C1667.2 421.576 1668.26 423.9 1668.38 426.705C1668.53 429.531 1667.68 431.971 1665.82 434.024C1664.52 435.381 1663 436.299 1661.25 436.779C1659.53 437.28 1657.79 437.346 1656.03 436.977C1654.32 436.607 1652.79 435.804 1651.46 434.569Z" fill="white"/>
|
||||||
|
<path d="M1688.66 469.049C1686.61 467.144 1685.51 464.789 1685.39 461.984C1685.26 459.178 1686.17 456.747 1688.12 454.691C1689.98 452.638 1692.31 451.569 1695.12 451.484C1697.92 451.4 1700.36 452.309 1702.41 454.214C1704.4 456.056 1705.46 458.379 1705.58 461.184C1705.73 464.011 1704.88 466.451 1703.02 468.504C1701.72 469.86 1700.2 470.778 1698.45 471.258C1696.73 471.76 1694.99 471.826 1693.23 471.457C1691.52 471.086 1689.99 470.283 1688.66 469.049Z" fill="white"/>
|
||||||
|
<path d="M1725.86 503.528C1723.81 501.623 1722.71 499.269 1722.59 496.463C1722.46 493.658 1723.37 491.227 1725.32 489.17C1727.18 487.117 1729.51 486.048 1732.32 485.964C1735.12 485.879 1737.56 486.789 1739.61 488.693C1741.6 490.535 1742.65 492.858 1742.78 495.664C1742.93 498.49 1742.08 500.93 1740.22 502.983C1738.92 504.339 1737.4 505.258 1735.65 505.738C1733.93 506.239 1732.19 506.305 1730.43 505.936C1728.71 505.565 1727.19 504.763 1725.86 503.528Z" fill="white"/>
|
||||||
|
<path d="M1763.06 538.007C1761 536.103 1759.91 533.748 1759.79 530.943C1759.66 528.137 1760.57 525.706 1762.51 523.65C1764.38 521.597 1766.71 520.528 1769.52 520.443C1772.32 520.358 1774.75 521.268 1776.81 523.173C1778.8 525.014 1779.85 527.338 1779.98 530.143C1780.13 532.97 1779.28 535.409 1777.42 537.462C1776.12 538.819 1774.59 539.737 1772.85 540.217C1771.12 540.718 1769.38 540.784 1767.63 540.415C1765.91 540.045 1764.39 539.242 1763.06 538.007Z" fill="white"/>
|
||||||
|
<path d="M1800.26 572.487C1798.2 570.582 1797.11 568.227 1796.98 565.422C1796.86 562.617 1797.77 560.186 1799.71 558.129C1801.58 556.076 1803.91 555.007 1806.72 554.922C1809.52 554.838 1811.95 555.748 1814.01 557.652C1816 559.494 1817.05 561.817 1817.18 564.623C1817.33 567.449 1816.48 569.889 1814.62 571.942C1813.32 573.298 1811.79 574.216 1810.05 574.697C1808.32 575.198 1806.58 575.264 1804.83 574.895C1803.11 574.524 1801.59 573.721 1800.26 572.487Z" fill="white"/>
|
||||||
|
<path d="M1546.12 398.992C1544.07 397.087 1542.98 394.732 1542.85 391.927C1542.72 389.122 1543.63 386.691 1545.58 384.634C1547.44 382.581 1549.77 381.512 1552.58 381.428C1555.39 381.343 1557.82 382.253 1559.87 384.157C1561.86 385.999 1562.92 388.322 1563.04 391.128C1563.2 393.954 1562.34 396.394 1560.48 398.447C1559.18 399.803 1557.66 400.722 1555.91 401.202C1554.19 401.703 1552.45 401.769 1550.69 401.4C1548.98 401.029 1547.45 400.226 1546.12 398.992Z" fill="white"/>
|
||||||
|
<path d="M1583.32 433.471C1581.27 431.567 1580.18 429.212 1580.05 426.406C1579.92 423.601 1580.83 421.17 1582.78 419.114C1584.64 417.061 1586.97 415.992 1589.78 415.907C1592.59 415.822 1595.02 416.732 1597.07 418.636C1599.06 420.478 1600.12 422.802 1600.24 425.607C1600.39 428.433 1599.54 430.873 1597.68 432.926C1596.38 434.283 1594.86 435.201 1593.11 435.681C1591.39 436.182 1589.65 436.248 1587.89 435.879C1586.18 435.509 1584.65 434.706 1583.32 433.471Z" fill="white"/>
|
||||||
|
<path d="M1620.52 467.951C1618.47 466.046 1617.37 463.691 1617.25 460.886C1617.12 458.08 1618.03 455.649 1619.98 453.593C1621.84 451.54 1624.17 450.471 1626.98 450.386C1629.79 450.302 1632.22 451.211 1634.27 453.116C1636.26 454.958 1637.32 457.281 1637.44 460.086C1637.59 462.913 1636.74 465.352 1634.88 467.406C1633.58 468.762 1632.06 469.68 1630.31 470.16C1628.59 470.662 1626.85 470.728 1625.09 470.359C1623.38 469.988 1621.85 469.185 1620.52 467.951Z" fill="white"/>
|
||||||
|
<path d="M1657.72 502.43C1655.67 500.525 1654.57 498.171 1654.45 495.365C1654.32 492.56 1655.23 490.129 1657.18 488.072C1659.04 486.019 1661.37 484.95 1664.18 484.866C1666.98 484.781 1669.42 485.691 1671.47 487.595C1673.46 489.437 1674.51 491.76 1674.64 494.566C1674.79 497.392 1673.94 499.832 1672.08 501.885C1670.78 503.241 1669.26 504.16 1667.51 504.64C1665.79 505.141 1664.05 505.207 1662.29 504.838C1660.58 504.467 1659.05 503.665 1657.72 502.43Z" fill="white"/>
|
||||||
|
<path d="M1694.92 536.909C1692.87 535.005 1691.77 532.65 1691.65 529.844C1691.52 527.039 1692.43 524.608 1694.37 522.552C1696.24 520.499 1698.57 519.43 1701.38 519.345C1704.18 519.26 1706.61 520.17 1708.67 522.075C1710.66 523.916 1711.71 526.24 1711.84 529.045C1711.99 531.872 1711.14 534.311 1709.28 536.364C1707.98 537.721 1706.46 538.639 1704.71 539.119C1702.98 539.62 1701.24 539.686 1699.49 539.317C1697.77 538.947 1696.25 538.144 1694.92 536.909Z" fill="white"/>
|
||||||
|
<path d="M1732.12 571.389C1730.06 569.484 1728.97 567.129 1728.84 564.324C1728.72 561.518 1729.63 559.088 1731.57 557.031C1733.44 554.978 1735.77 553.909 1738.58 553.824C1741.38 553.74 1743.81 554.65 1745.87 556.554C1747.86 558.396 1748.91 560.719 1749.04 563.525C1749.19 566.351 1748.34 568.791 1746.48 570.844C1745.18 572.2 1743.65 573.118 1741.91 573.599C1740.18 574.1 1738.44 574.166 1736.69 573.797C1734.97 573.426 1733.45 572.623 1732.12 571.389Z" fill="white"/>
|
||||||
|
<path d="M1769.32 605.868C1767.26 603.964 1766.17 601.609 1766.04 598.803C1765.92 595.998 1766.83 593.567 1768.77 591.511C1770.63 589.458 1772.97 588.389 1775.78 588.304C1778.58 588.219 1781.01 589.129 1783.07 591.033C1785.06 592.875 1786.11 595.199 1786.24 598.004C1786.39 600.83 1785.54 603.27 1783.68 605.323C1782.38 606.679 1780.85 607.598 1779.11 608.078C1777.38 608.579 1775.64 608.645 1773.89 608.276C1772.17 607.906 1770.65 607.103 1769.32 605.868Z" fill="white"/>
|
||||||
|
<path d="M1515.18 432.373C1513.13 430.469 1512.04 428.114 1511.91 425.308C1511.78 422.503 1512.69 420.072 1514.64 418.016C1516.5 415.963 1518.83 414.894 1521.64 414.809C1524.45 414.724 1526.88 415.634 1528.93 417.538C1530.92 419.38 1531.98 421.704 1532.1 424.509C1532.26 427.335 1531.4 429.775 1529.54 431.828C1528.24 433.185 1526.72 434.103 1524.97 434.583C1523.25 435.084 1521.51 435.15 1519.75 434.781C1518.04 434.411 1516.51 433.608 1515.18 432.373Z" fill="white"/>
|
||||||
|
<path d="M1552.38 466.852C1550.33 464.948 1549.24 462.593 1549.11 459.788C1548.98 456.982 1549.89 454.551 1551.84 452.495C1553.7 450.442 1556.03 449.373 1558.84 449.288C1561.65 449.204 1564.08 450.113 1566.13 452.018C1568.12 453.859 1569.18 456.183 1569.3 458.988C1569.45 461.815 1568.6 464.254 1566.74 466.308C1565.44 467.664 1563.92 468.582 1562.17 469.062C1560.45 469.564 1558.71 469.63 1556.95 469.261C1555.24 468.89 1553.71 468.087 1552.38 466.852Z" fill="white"/>
|
||||||
|
<path d="M1589.58 501.332C1587.53 499.427 1586.43 497.072 1586.31 494.267C1586.18 491.462 1587.09 489.031 1589.04 486.974C1590.9 484.921 1593.23 483.852 1596.04 483.768C1598.84 483.683 1601.28 484.593 1603.33 486.497C1605.32 488.339 1606.37 490.662 1606.5 493.468C1606.65 496.294 1605.8 498.734 1603.94 500.787C1602.64 502.143 1601.12 503.062 1599.37 503.542C1597.65 504.043 1595.91 504.109 1594.15 503.74C1592.44 503.369 1590.91 502.567 1589.58 501.332Z" fill="white"/>
|
||||||
|
<path d="M1626.78 535.811C1624.73 533.907 1623.63 531.552 1623.51 528.746C1623.38 525.941 1624.29 523.51 1626.24 521.454C1628.1 519.401 1630.43 518.332 1633.24 518.247C1636.04 518.162 1638.48 519.072 1640.53 520.977C1642.52 522.818 1643.57 525.142 1643.7 527.947C1643.85 530.774 1643 533.213 1641.14 535.266C1639.84 536.623 1638.32 537.541 1636.57 538.021C1634.85 538.522 1633.1 538.588 1631.35 538.219C1629.63 537.849 1628.11 537.046 1626.78 535.811Z" fill="white"/>
|
||||||
|
<path d="M1663.98 570.291C1661.92 568.386 1660.83 566.031 1660.71 563.226C1660.58 560.42 1661.49 557.99 1663.43 555.933C1665.3 553.88 1667.63 552.811 1670.44 552.726C1673.24 552.642 1675.67 553.552 1677.73 555.456C1679.72 557.298 1680.77 559.621 1680.9 562.427C1681.05 565.253 1680.2 567.693 1678.34 569.746C1677.04 571.102 1675.51 572.02 1673.77 572.501C1672.04 573.002 1670.3 573.068 1668.55 572.699C1666.83 572.328 1665.31 571.525 1663.98 570.291Z" fill="white"/>
|
||||||
|
<path d="M1701.18 604.77C1699.12 602.866 1698.03 600.511 1697.9 597.705C1697.78 594.9 1698.69 592.469 1700.63 590.413C1702.5 588.359 1704.83 587.291 1707.64 587.206C1710.44 587.121 1712.87 588.031 1714.93 589.935C1716.92 591.777 1717.97 594.101 1718.1 596.906C1718.25 599.732 1717.4 602.172 1715.54 604.225C1714.24 605.581 1712.71 606.5 1710.97 606.98C1709.24 607.481 1707.5 607.547 1705.75 607.178C1704.03 606.807 1702.51 606.005 1701.18 604.77Z" fill="white"/>
|
||||||
|
<path d="M1738.38 639.249C1736.32 637.345 1735.23 634.99 1735.1 632.185C1734.98 629.379 1735.89 626.948 1737.83 624.892C1739.69 622.839 1742.03 621.77 1744.84 621.685C1747.64 621.6 1750.07 622.51 1752.13 624.415C1754.12 626.256 1755.17 628.58 1755.3 631.385C1755.45 634.212 1754.6 636.651 1752.74 638.704C1751.44 640.061 1749.91 640.979 1748.17 641.459C1746.44 641.96 1744.7 642.027 1742.95 641.658C1741.23 641.287 1739.71 640.484 1738.38 639.249Z" fill="white"/>
|
||||||
|
<path d="M1484.24 465.754C1482.19 463.85 1481.1 461.495 1480.97 458.69C1480.84 455.884 1481.75 453.453 1483.7 451.397C1485.56 449.344 1487.89 448.275 1490.7 448.19C1493.51 448.106 1495.94 449.015 1497.99 450.92C1499.98 452.761 1501.04 455.085 1501.16 457.89C1501.31 460.717 1500.46 463.156 1498.6 465.209C1497.3 466.566 1495.78 467.484 1494.03 467.964C1492.31 468.466 1490.57 468.532 1488.81 468.163C1487.1 467.792 1485.57 466.989 1484.24 465.754Z" fill="white"/>
|
||||||
|
<path d="M1521.44 500.234C1519.39 498.329 1518.29 495.974 1518.17 493.169C1518.04 490.364 1518.95 487.933 1520.9 485.876C1522.76 483.823 1525.09 482.754 1527.9 482.67C1530.71 482.585 1533.14 483.495 1535.19 485.399C1537.18 487.241 1538.24 489.564 1538.36 492.37C1538.51 495.196 1537.66 497.636 1535.8 499.689C1534.5 501.045 1532.98 501.964 1531.23 502.444C1529.51 502.945 1527.77 503.011 1526.01 502.642C1524.3 502.271 1522.77 501.469 1521.44 500.234Z" fill="white"/>
|
||||||
|
<path d="M1558.64 534.713C1556.59 532.809 1555.49 530.454 1555.37 527.648C1555.24 524.843 1556.15 522.412 1558.1 520.356C1559.96 518.303 1562.29 517.234 1565.1 517.149C1567.9 517.064 1570.34 517.974 1572.39 519.879C1574.38 521.72 1575.43 524.044 1575.56 526.849C1575.71 529.675 1574.86 532.115 1573 534.168C1571.7 535.525 1570.18 536.443 1568.43 536.923C1566.71 537.424 1564.97 537.49 1563.21 537.121C1561.5 536.751 1559.97 535.948 1558.64 534.713Z" fill="white"/>
|
||||||
|
<path d="M1595.84 569.193C1593.78 567.288 1592.69 564.933 1592.57 562.128C1592.44 559.322 1593.35 556.892 1595.29 554.835C1597.16 552.782 1599.49 551.713 1602.3 551.628C1605.1 551.544 1607.53 552.453 1609.59 554.358C1611.58 556.2 1612.63 558.523 1612.76 561.329C1612.91 564.155 1612.06 566.595 1610.2 568.648C1608.9 570.004 1607.38 570.922 1605.63 571.403C1603.9 571.904 1602.16 571.97 1600.41 571.601C1598.69 571.23 1597.17 570.427 1595.84 569.193Z" fill="white"/>
|
||||||
|
<path d="M1633.04 603.672C1630.98 601.768 1629.89 599.413 1629.76 596.607C1629.64 593.802 1630.55 591.371 1632.49 589.315C1634.36 587.261 1636.69 586.193 1639.5 586.108C1642.3 586.023 1644.73 586.933 1646.79 588.837C1648.78 590.679 1649.83 593.003 1649.96 595.808C1650.11 598.634 1649.26 601.074 1647.4 603.127C1646.1 604.483 1644.57 605.402 1642.83 605.882C1641.1 606.383 1639.36 606.449 1637.61 606.08C1635.89 605.709 1634.37 604.907 1633.04 603.672Z" fill="white"/>
|
||||||
|
<path d="M1670.24 638.151C1668.18 636.247 1667.09 633.892 1666.96 631.087C1666.84 628.281 1667.75 625.85 1669.69 623.794C1671.55 621.741 1673.89 620.672 1676.7 620.587C1679.5 620.502 1681.93 621.412 1683.99 623.317C1685.98 625.158 1687.03 627.482 1687.16 630.287C1687.31 633.114 1686.46 635.553 1684.6 637.606C1683.3 638.963 1681.77 639.881 1680.03 640.361C1678.3 640.862 1676.56 640.929 1674.81 640.559C1673.09 640.189 1671.57 639.386 1670.24 638.151Z" fill="white"/>
|
||||||
|
<path d="M1707.44 672.631C1705.38 670.726 1704.29 668.371 1704.16 665.566C1704.04 662.761 1704.95 660.33 1706.89 658.273C1708.75 656.22 1711.09 655.151 1713.9 655.067C1716.7 654.982 1719.13 655.892 1721.19 657.796C1723.17 659.638 1724.23 661.961 1724.36 664.767C1724.51 667.593 1723.66 670.033 1721.8 672.086C1720.5 673.442 1718.97 674.36 1717.23 674.841C1715.5 675.342 1713.76 675.408 1712.01 675.039C1710.29 674.668 1708.77 673.865 1707.44 672.631Z" fill="white"/>
|
||||||
|
<path d="M1453.3 499.136C1451.25 497.231 1450.15 494.876 1450.03 492.071C1449.9 489.266 1450.81 486.835 1452.76 484.778C1454.62 482.725 1456.95 481.656 1459.76 481.572C1462.57 481.487 1465 482.397 1467.05 484.301C1469.04 486.143 1470.1 488.466 1470.22 491.272C1470.37 494.098 1469.52 496.538 1467.66 498.591C1466.36 499.947 1464.84 500.866 1463.09 501.346C1461.37 501.847 1459.63 501.913 1457.87 501.544C1456.16 501.173 1454.63 500.371 1453.3 499.136Z" fill="white"/>
|
||||||
|
<path d="M1490.5 533.615C1488.45 531.711 1487.35 529.356 1487.23 526.55C1487.1 523.745 1488.01 521.314 1489.96 519.258C1491.82 517.205 1494.15 516.136 1496.96 516.051C1499.76 515.966 1502.2 516.876 1504.25 518.781C1506.24 520.622 1507.29 522.946 1507.42 525.751C1507.57 528.577 1506.72 531.017 1504.86 533.07C1503.56 534.427 1502.04 535.345 1500.29 535.825C1498.57 536.326 1496.83 536.392 1495.07 536.023C1493.36 535.653 1491.83 534.85 1490.5 533.615Z" fill="white"/>
|
||||||
|
<path d="M1527.7 568.095C1525.65 566.19 1524.55 563.835 1524.43 561.03C1524.3 558.224 1525.21 555.794 1527.16 553.737C1529.02 551.684 1531.35 550.615 1534.16 550.53C1536.96 550.446 1539.4 551.355 1541.45 553.26C1543.44 555.102 1544.49 557.425 1544.62 560.231C1544.77 563.057 1543.92 565.497 1542.06 567.55C1540.76 568.906 1539.24 569.824 1537.49 570.305C1535.77 570.806 1534.02 570.872 1532.27 570.503C1530.55 570.132 1529.03 569.329 1527.7 568.095Z" fill="white"/>
|
||||||
|
<path d="M1564.9 602.574C1562.84 600.669 1561.75 598.315 1561.62 595.509C1561.5 592.704 1562.41 590.273 1564.35 588.217C1566.22 586.163 1568.55 585.095 1571.36 585.01C1574.16 584.925 1576.59 585.835 1578.65 587.739C1580.64 589.581 1581.69 591.904 1581.82 594.71C1581.97 597.536 1581.12 599.976 1579.26 602.029C1577.96 603.385 1576.43 604.304 1574.69 604.784C1572.96 605.285 1571.22 605.351 1569.47 604.982C1567.75 604.611 1566.23 603.809 1564.9 602.574Z" fill="white"/>
|
||||||
|
<path d="M1602.1 637.053C1600.04 635.149 1598.95 632.794 1598.82 629.989C1598.7 627.183 1599.61 624.752 1601.55 622.696C1603.41 620.643 1605.75 619.574 1608.56 619.489C1611.36 619.404 1613.79 620.314 1615.85 622.219C1617.84 624.06 1618.89 626.384 1619.02 629.189C1619.17 632.016 1618.32 634.455 1616.46 636.508C1615.16 637.865 1613.63 638.783 1611.89 639.263C1610.16 639.764 1608.42 639.83 1606.67 639.461C1604.95 639.091 1603.43 638.288 1602.1 637.053Z" fill="white"/>
|
||||||
|
<path d="M1639.3 671.533C1637.24 669.628 1636.15 667.273 1636.02 664.468C1635.9 661.663 1636.81 659.232 1638.75 657.175C1640.61 655.122 1642.95 654.053 1645.76 653.969C1648.56 653.884 1650.99 654.794 1653.05 656.698C1655.03 658.54 1656.09 660.863 1656.22 663.669C1656.37 666.495 1655.52 668.935 1653.66 670.988C1652.36 672.344 1650.83 673.262 1649.09 673.743C1647.36 674.244 1645.62 674.31 1643.87 673.941C1642.15 673.57 1640.63 672.767 1639.3 671.533Z" fill="white"/>
|
||||||
|
<path d="M1676.5 706.012C1674.44 704.108 1673.35 701.753 1673.22 698.947C1673.09 696.142 1674 693.711 1675.95 691.655C1677.81 689.602 1680.15 688.533 1682.95 688.448C1685.76 688.363 1688.19 689.273 1690.25 691.177C1692.23 693.019 1693.29 695.343 1693.42 698.148C1693.57 700.974 1692.72 703.414 1690.85 705.467C1689.56 706.824 1688.03 707.742 1686.29 708.222C1684.56 708.723 1682.82 708.789 1681.07 708.42C1679.35 708.05 1677.83 707.247 1676.5 706.012Z" fill="white"/>
|
||||||
|
<path d="M1422.36 532.517C1420.31 530.613 1419.21 528.258 1419.09 525.452C1418.96 522.647 1419.87 520.216 1421.82 518.16C1423.68 516.107 1426.01 515.038 1428.82 514.953C1431.63 514.868 1434.06 515.778 1436.11 517.683C1438.1 519.524 1439.16 521.848 1439.28 524.653C1439.43 527.479 1438.58 529.919 1436.72 531.972C1435.42 533.329 1433.9 534.247 1432.15 534.727C1430.43 535.228 1428.69 535.294 1426.93 534.925C1425.22 534.555 1423.69 533.752 1422.36 532.517Z" fill="white"/>
|
||||||
|
<path d="M1459.56 566.997C1457.51 565.092 1456.41 562.737 1456.29 559.932C1456.16 557.126 1457.07 554.695 1459.02 552.639C1460.88 550.586 1463.21 549.517 1466.02 549.432C1468.82 549.348 1471.26 550.257 1473.31 552.162C1475.3 554.004 1476.35 556.327 1476.48 559.132C1476.63 561.959 1475.78 564.399 1473.92 566.452C1472.62 567.808 1471.1 568.726 1469.35 569.207C1467.63 569.708 1465.89 569.774 1464.13 569.405C1462.42 569.034 1460.89 568.231 1459.56 566.997Z" fill="white"/>
|
||||||
|
<path d="M1496.76 601.476C1494.7 599.571 1493.61 597.217 1493.49 594.411C1493.36 591.606 1494.27 589.175 1496.21 587.118C1498.08 585.065 1500.41 583.997 1503.22 583.912C1506.02 583.827 1508.45 584.737 1510.51 586.641C1512.5 588.483 1513.55 590.806 1513.68 593.612C1513.83 596.438 1512.98 598.878 1511.12 600.931C1509.82 602.287 1508.29 603.206 1506.55 603.686C1504.82 604.187 1503.08 604.253 1501.33 603.884C1499.61 603.513 1498.09 602.711 1496.76 601.476Z" fill="white"/>
|
||||||
|
<path d="M1533.96 635.955C1531.9 634.051 1530.81 631.696 1530.68 628.891C1530.56 626.085 1531.47 623.654 1533.41 621.598C1535.28 619.545 1537.61 618.476 1540.42 618.391C1543.22 618.306 1545.65 619.216 1547.71 621.121C1549.7 622.962 1550.75 625.286 1550.88 628.091C1551.03 630.918 1550.18 633.357 1548.32 635.41C1547.02 636.767 1545.49 637.685 1543.75 638.165C1542.02 638.666 1540.28 638.732 1538.53 638.363C1536.81 637.993 1535.29 637.19 1533.96 635.955Z" fill="white"/>
|
||||||
|
<path d="M1571.16 670.435C1569.1 668.53 1568.01 666.175 1567.88 663.37C1567.76 660.565 1568.67 658.134 1570.61 656.077C1572.47 654.024 1574.81 652.955 1577.62 652.87C1580.42 652.786 1582.85 653.696 1584.91 655.6C1586.9 657.442 1587.95 659.765 1588.08 662.571C1588.23 665.397 1587.38 667.837 1585.52 669.89C1584.22 671.246 1582.69 672.164 1580.95 672.645C1579.22 673.146 1577.48 673.212 1575.73 672.843C1574.01 672.472 1572.49 671.669 1571.16 670.435Z" fill="white"/>
|
||||||
|
<path d="M1608.36 704.914C1606.3 703.01 1605.21 700.655 1605.08 697.849C1604.96 695.044 1605.87 692.613 1607.81 690.557C1609.67 688.504 1612.01 687.435 1614.82 687.35C1617.62 687.265 1620.05 688.175 1622.11 690.079C1624.09 691.921 1625.15 694.245 1625.28 697.05C1625.43 699.876 1624.58 702.316 1622.72 704.369C1621.42 705.726 1619.89 706.644 1618.15 707.124C1616.42 707.625 1614.68 707.691 1612.93 707.322C1611.21 706.952 1609.69 706.149 1608.36 704.914Z" fill="white"/>
|
||||||
|
<path d="M1645.56 739.393C1643.5 737.489 1642.41 735.134 1642.28 732.329C1642.15 729.523 1643.06 727.092 1645.01 725.036C1646.87 722.983 1649.21 721.914 1652.01 721.829C1654.82 721.744 1657.25 722.654 1659.31 724.559C1661.29 726.4 1662.35 728.724 1662.48 731.529C1662.63 734.356 1661.78 736.795 1659.91 738.848C1658.62 740.205 1657.09 741.123 1655.35 741.603C1653.62 742.105 1651.88 742.171 1650.13 741.802C1648.41 741.431 1646.89 740.628 1645.56 739.393Z" fill="white"/>
|
||||||
|
<path d="M1319.35 282.231L1382.54 367.303L1478.66 345.769L1319.35 282.231Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1600 142L1511 288L1600 247.973V142Z" fill="white"/>
|
||||||
|
<path d="M936 156L847 302L936 261.973V156Z" fill="white"/>
|
||||||
|
<path d="M292 717L203 863L292 822.973V717Z" fill="white"/>
|
||||||
|
<path d="M1705 1291.99V1364L1795 1240L1705 1291.99Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1319 377V325.318L1256 288L1319 377Z" fill="white"/>
|
||||||
|
<path d="M999 201V149.318L936 112L999 201Z" fill="white"/>
|
||||||
|
<path d="M1655.88 1417.42L1691.03 1386.16L1678.52 1321L1655.88 1417.42Z" fill="white"/>
|
||||||
|
<path d="M1389 275L1479 223.018L1389 183V275Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1738.95 1236.69L1830.16 1188.69L1752.11 1140L1738.95 1236.69Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M419 186L447 478L619 156L419 186Z" fill="#7799F1"/>
|
||||||
|
<path d="M397.721 371L316.72 581.829L437.186 528.97L397.721 371Z" fill="#4963BE"/>
|
||||||
|
<path d="M503.904 458L631.091 574L579.905 370L503.904 458Z" fill="white"/>
|
||||||
|
<path d="M1722.7 1407.92L1719.13 1448.15L1667.8 1472.88L1722.7 1407.92Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1048_45">
|
||||||
|
<rect width="2000" height="2000" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 55 KiB |
174
assets/svg/themed/light/ethereum.svg
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<svg width="2000" height="2000" viewBox="0 0 2000 2000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_1048_45)">
|
||||||
|
<path d="M85.1779 1368.47C57.1779 1608.47 537.178 1652.47 589.178 1660.47H1441.18C1533.18 1660.47 1761.18 1560.47 1845.18 1432.47C1929.18 1304.47 1809.18 1092.47 1761.18 984.475C1713.18 876.474 1934.56 800.211 1873.18 512.475C1809.18 212.475 1529.18 152.475 1301.18 212.475C1150.27 252.189 1249.18 120.475 905.18 84.4745C561.18 48.4745 493.18 416.475 337.18 460.475C181.18 504.475 85.1779 760.475 177.18 984.475C269.182 1208.47 113.178 1128.47 85.1779 1368.47Z" fill="#BECDF9"/>
|
||||||
|
<ellipse cx="1022" cy="1680.5" rx="687" ry="52.5" fill="#2E3E79"/>
|
||||||
|
<path d="M1049.83 863.456L1049.81 863.385L1049.78 863.314C1046.97 854.72 1044.73 846.664 1043.01 839.098L1038.13 840.205C1033.69 820.63 1032.61 804.099 1034.03 789.869L1039 790.364C1040.83 771.98 1047 757.717 1055.45 745.676L1051.36 742.802C1061.27 728.691 1074.15 717.536 1086.98 706.788L1090.19 710.621C1091.14 709.824 1092.09 709.028 1093.05 708.229C1105.36 697.941 1117.97 687.408 1127.5 674.629L1123.5 671.64C1132.94 658.972 1139.2 644.055 1139.24 624.337L1144.24 624.348C1144.28 609.808 1141.1 593.053 1133.86 573.267L1129.17 574.986C1124.15 561.291 1117.11 545.984 1107.66 528.758L1112.04 526.354C1108.16 519.271 1103.87 511.877 1099.17 504.15C1094.83 497.012 1091.03 489.839 1087.74 482.65L1083.19 484.729C1075.96 468.927 1071.15 453.01 1068.5 437.178L1073.43 436.352C1070.7 420.076 1070.34 403.888 1072.06 388.011L1067.09 387.472C1068.88 370.94 1072.87 354.746 1078.77 339.135L1083.44 340.902C1089.13 325.862 1096.63 311.352 1105.7 297.606L1101.52 294.854C1110.57 281.127 1121.13 268.168 1132.94 256.197L1136.5 259.708C1147.85 248.193 1160.38 237.603 1173.85 228.144L1170.98 224.052C1184.51 214.55 1198.97 206.173 1214.11 199.121L1216.22 203.654C1230.98 196.781 1246.39 191.192 1262.23 187.078L1260.97 182.239C1277 178.074 1293.47 175.389 1310.14 174.375L1310.45 179.365C1326.57 178.384 1342.87 178.997 1359.15 181.378L1359.88 176.431C1376.02 178.793 1392.15 182.859 1408.07 188.798L1406.32 193.482C1421.1 199 1435.71 206.172 1449.96 215.145L1452.63 210.913C1466.15 219.422 1479.35 229.513 1492.09 241.3L1488.7 244.971C1500.16 255.57 1511.26 267.579 1521.9 281.093L1525.83 278.001C1535.61 290.419 1544.99 304.075 1553.89 319.033L1549.59 321.59C1553.73 328.555 1557.78 335.811 1561.71 343.364C1562.42 344.724 1563.06 346.177 1563.62 347.696L1568.31 345.948C1569.54 349.266 1570.44 352.791 1570.98 356.298L1566.04 357.062C1566.29 358.688 1566.46 360.305 1566.54 361.882C1567.04 371.372 1567.64 380.541 1568.34 389.401L1573.33 389.005C1574.85 408.15 1576.85 425.826 1579.29 442.154L1574.35 442.894C1577.29 462.587 1580.87 480.373 1585.03 496.453L1589.87 495.202C1594.88 514.585 1600.72 531.406 1607.25 546.044L1602.68 548.081C1611.12 566.993 1620.74 582.432 1631.3 595.127L1635.14 591.93C1647.7 607.027 1661.53 618.009 1676.15 626.296L1673.68 630.646C1690.17 639.996 1707.53 645.972 1724.97 650.513L1726.23 645.674C1738.52 648.876 1750.97 651.381 1763.32 653.868C1768.54 654.919 1773.74 655.967 1778.91 657.062L1777.87 661.954C1795.64 665.72 1812.69 669.994 1828.53 676.825L1830.51 672.234C1846.5 679.128 1861.39 688.595 1874.51 702.621L1870.85 706.035C1881.26 717.164 1890.58 731.377 1898.4 749.871L1903 747.924C1909.15 762.476 1914.36 779.524 1918.43 799.577L1913.53 800.574C1915.21 808.813 1916.69 817.58 1917.98 826.914C1919.12 835.245 1919.67 843.369 1919.65 851.287L1924.65 851.3C1924.6 868.594 1921.94 884.994 1916.94 900.482L1912.18 898.947C1907.25 914.223 1899.96 928.617 1890.59 942.115L1894.69 944.968C1885.46 958.253 1874.29 970.656 1861.43 982.163L1858.09 978.437C1846.35 988.951 1833.14 998.73 1818.66 1007.75L1821.3 1012C1807.65 1020.51 1792.92 1028.34 1777.28 1035.47L1775.2 1030.92C1760.6 1037.59 1745.19 1043.65 1729.1 1049.1L1730.7 1053.83C1715.26 1059.06 1699.21 1063.73 1682.69 1067.82L1681.49 1062.96C1665.71 1066.87 1649.49 1070.26 1632.93 1073.11L1633.78 1078.04C1617.53 1080.84 1600.97 1083.13 1584.2 1084.9L1583.67 1079.93C1567.31 1081.66 1550.75 1082.9 1534.08 1083.64L1534.3 1088.64C1517.71 1089.38 1501.01 1089.62 1484.31 1089.37L1484.38 1084.37C1467.8 1084.12 1451.21 1083.38 1434.71 1082.15L1434.33 1087.13C1417.64 1085.88 1401.03 1084.12 1384.61 1081.85L1385.29 1076.9C1368.76 1074.62 1352.41 1071.81 1336.36 1068.48L1335.34 1073.38C1318.8 1069.95 1302.56 1065.96 1286.72 1061.41L1288.1 1056.6C1271.95 1051.97 1256.24 1046.74 1241.08 1040.93L1239.29 1045.6C1223.44 1039.52 1208.17 1032.8 1193.62 1025.43L1195.88 1020.97C1180.81 1013.34 1166.55 1005.01 1153.21 995.985L1150.41 1000.13C1136.32 990.587 1123.24 980.265 1111.35 969.152L1114.76 965.498C1102.57 954.105 1091.66 941.887 1082.21 928.838L1078.16 931.77C1068.35 918.23 1060.07 903.791 1053.51 888.441L1058.11 886.476C1054.93 879.023 1052.16 871.35 1049.83 863.456Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<path d="M203.275 733.389L203.327 733.336L203.378 733.281C209.007 727.19 214.504 721.647 219.875 716.612L216.455 712.964C229.7 700.546 242.263 691.095 254.253 684.057L256.784 688.369C271.893 679.5 285.94 674.657 299.181 672.558L298.398 667.62C315.026 664.983 330.606 666.449 345.548 669.924L344.415 674.794C359.055 678.199 373.108 683.594 387.31 689.046L388.797 689.617L390.588 684.949C405.752 690.767 420.67 696.392 435.857 699.199L434.948 704.115C450.757 707.037 467.085 707.062 484.284 701.296L482.695 696.555C495.566 692.24 508.93 684.506 523.041 672.046L526.351 675.794C536.846 666.527 547.66 654.793 558.901 640.141L554.933 637.098C563.547 625.87 572.456 612.851 581.704 597.809L585.964 600.428C589.996 593.869 594.089 586.935 598.247 579.607C602.555 572.014 607.137 564.844 611.97 558.086L607.902 555.178C618.388 540.512 630.047 527.716 642.644 516.702L645.935 520.466C658.945 509.091 672.977 499.664 687.768 492.076L685.486 487.627C700.963 479.688 717.248 473.719 734.048 469.605L735.237 474.461C751.592 470.457 768.465 468.245 785.577 467.726L785.425 462.728C802.557 462.208 819.901 463.354 837.182 466.059L836.408 470.998C853.065 473.606 869.675 477.689 885.981 483.154L887.57 478.413C903.871 483.876 919.863 490.694 935.3 498.774L932.981 503.204C948.024 511.078 962.531 520.167 976.265 530.38L979.249 526.367C993.105 536.67 1006.19 548.101 1018.27 560.569L1014.68 564.048C1026.49 576.247 1037.32 589.449 1046.95 603.565L1051.08 600.748C1060.77 614.965 1069.27 630.1 1076.34 646.069L1071.76 648.093C1078.55 663.426 1084 679.538 1087.91 696.351L1092.78 695.218C1096.61 711.686 1098.99 728.817 1099.74 746.539L1094.74 746.748C1095.43 763.222 1094.69 780.227 1092.34 797.709L1097.3 798.374C1095.09 814.864 1091.48 831.759 1086.35 849.01L1081.56 847.584C1076.88 863.3 1070.92 879.332 1063.57 895.644L1068.13 897.699C1061.34 912.759 1053.39 928.039 1044.2 943.513L1039.9 940.959C1035.56 948.269 1030.93 955.624 1026.02 963.024C1025.17 964.305 1024.21 965.573 1023.15 966.811L1026.95 970.06C1024.64 972.756 1021.99 975.258 1019.19 977.439L1016.12 973.492C1014.82 974.505 1013.48 975.437 1012.15 976.273C1005.07 980.698 998.208 985.081 991.561 989.424L994.296 993.61C980.363 1002.71 967.376 1011.63 955.278 1020.38L952.348 1016.33C938.69 1026.2 926.146 1035.87 914.638 1045.34L917.815 1049.2C904.833 1059.88 893.195 1070.3 882.784 1080.47L879.289 1076.89C866.803 1089.1 856.035 1100.98 846.795 1112.58L850.706 1115.69C839.955 1129.19 831.341 1142.25 824.539 1154.94L820.132 1152.58C811.823 1168.09 806.13 1183.09 802.515 1197.7L807.369 1198.9C803.376 1215.03 802.008 1230.6 802.451 1245.74L797.453 1245.89C797.934 1262.35 800.496 1278.25 804.108 1293.73L808.977 1292.59C812.577 1308.02 817.263 1323.14 822.035 1338.12L817.271 1339.64C817.857 1341.48 818.444 1343.31 819.029 1345.14C823.292 1358.48 827.479 1371.58 830.935 1384.71L835.77 1383.44C839.83 1398.87 842.892 1414.33 843.843 1430.04L838.852 1430.34C839.754 1445.23 838.698 1460.27 834.709 1475.67L839.549 1476.93C835.906 1491 829.896 1505.38 820.812 1520.21L816.548 1517.59C809.315 1529.4 800.04 1541.55 788.309 1554.12L791.965 1557.53C782.169 1568.03 770.725 1578.77 757.419 1589.79L754.23 1585.94C748.363 1590.8 742.125 1595.72 735.494 1600.7C728.818 1605.72 722.048 1610.21 715.194 1614.21L717.71 1618.53C702.98 1627.11 687.837 1633.44 672.387 1637.7L671.058 1632.88C655.505 1637.17 639.618 1639.29 623.5 1639.42L623.541 1644.42C607.371 1644.56 590.996 1642.73 574.523 1639.13L575.592 1634.25C560.261 1630.89 544.807 1625.95 529.322 1619.56L527.414 1624.18C512.616 1618.07 497.822 1610.67 483.11 1602.1L485.627 1597.78C471.969 1589.82 458.365 1580.82 444.88 1570.9L441.915 1574.92C428.946 1565.37 416.099 1554.98 403.431 1543.83L406.735 1540.07C394.682 1529.46 382.785 1518.15 371.093 1506.22L367.522 1509.72C356.146 1498.11 344.97 1485.92 334.037 1473.22L337.826 1469.96C327.254 1457.68 316.908 1444.91 306.827 1431.73L302.856 1434.77C292.93 1421.79 283.263 1408.41 273.894 1394.69L278.023 1391.87C268.826 1378.4 259.915 1364.6 251.328 1350.53L247.06 1353.13C238.493 1339.09 230.247 1324.78 222.358 1310.26L226.752 1307.87C218.918 1293.45 211.438 1278.82 204.347 1264.03L199.839 1266.19C192.686 1251.28 185.926 1236.2 179.597 1221.03L184.212 1219.11C177.859 1203.88 171.943 1188.55 166.499 1173.18L161.786 1174.85C156.232 1159.17 151.165 1143.45 146.626 1127.74L151.43 1126.35C146.828 1110.43 142.773 1094.52 139.305 1078.71L134.421 1079.78C130.839 1063.45 127.876 1047.21 125.578 1031.12L130.528 1030.41C128.178 1013.96 126.529 997.692 125.627 981.673L120.635 981.954C119.691 965.189 119.558 948.685 120.287 932.528L125.282 932.754C126.034 916.11 127.711 899.859 130.371 884.092L125.44 883.26C128.232 866.708 132.094 850.663 137.094 835.232L141.851 836.773C146.906 821.174 153.136 806.234 160.608 792.062L156.185 789.73C163.875 775.146 172.864 761.342 183.229 748.438L187.128 751.57C192.174 745.287 197.554 739.222 203.275 733.389Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<circle cx="1000" cy="1000" r="700" fill="#5670D8"/>
|
||||||
|
<path d="M1000 1605C1334.13 1605 1605 1334.13 1605 1000C1605 665.868 1334.13 395 1000 395C665.868 395 395 665.868 395 1000C395 1334.13 665.868 1605 1000 1605Z" fill="#627EEA" stroke="#A2B6FB" stroke-width="10"/>
|
||||||
|
<path d="M1018.7 549.918V882.559L1299.84 1008.2L1018.7 549.918Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 549.918L737.562 1008.2L1018.7 882.559V549.918Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1223.73V1449.75L1300 1060.52L1018.7 1223.73Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 1449.75V1223.73L737.562 1060.52L1018.7 1449.75Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1171.41L1299.84 1008.2L1018.7 882.559V1171.41Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M737.562 1008.2L1018.7 1171.41V882.559L737.562 1008.2Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<g style="mix-blend-mode:multiply" opacity="0.3">
|
||||||
|
<path d="M1569 1414C1463 1622 1182 1700 1005 1700C504.5 1707.5 108.001 1160 397 646C415.999 672 500.002 1204 821.001 1386C1192 1582 1569 1414 1569 1414Z" fill="#3C4F9A"/>
|
||||||
|
</g>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<mask id="path-33-inside-1_1048_45" fill="white">
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z"/>
|
||||||
|
</mask>
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z" fill="#454545"/>
|
||||||
|
<path d="M1346.5 1100L1330.25 1074.78L1350.22 1129.77L1346.5 1100ZM1391.5 1088L1388.19 1117.82L1391.5 1088ZM1418.5 1096.5L1448.32 1093.19L1447.41 1085.05L1442.5 1078.5L1418.5 1096.5ZM1420 1110L1409.11 1137.95L1455.29 1155.95L1449.82 1106.69L1420 1110ZM1362.75 1125.22C1364.35 1124.19 1368.78 1121.79 1374.42 1119.94C1380.18 1118.05 1384.99 1117.46 1388.19 1117.82L1394.81 1058.18C1380.01 1056.54 1366.07 1059.53 1355.71 1062.93C1345.22 1066.38 1336.15 1070.98 1330.25 1074.78L1362.75 1125.22ZM1388.19 1117.82C1395.29 1118.61 1399.13 1119.77 1400.61 1120.32C1401.36 1120.61 1401.22 1120.63 1400.48 1120.17C1400.1 1119.94 1399.39 1119.48 1398.49 1118.73C1397.7 1118.08 1396.14 1116.69 1394.5 1114.5L1442.5 1078.5C1438.86 1073.65 1434.48 1070.64 1431.88 1069.05C1428.75 1067.12 1425.33 1065.52 1421.77 1064.18C1414.62 1061.48 1405.71 1059.39 1394.81 1058.18L1388.19 1117.82ZM1388.68 1099.81L1390.18 1113.31L1449.82 1106.69L1448.32 1093.19L1388.68 1099.81ZM1430.89 1082.05C1423.37 1079.12 1413.62 1075.93 1404.56 1073.44C1396.71 1071.29 1385.35 1068.5 1376.5 1068.5V1128.5C1375.61 1128.5 1376.26 1128.43 1379.25 1129.02C1381.81 1129.53 1385.05 1130.31 1388.69 1131.31C1396.04 1133.32 1403.79 1135.88 1409.11 1137.95L1430.89 1082.05ZM1376.5 1068.5C1368.12 1068.5 1349.8 1069.35 1342.78 1070.23L1350.22 1129.77C1353.87 1129.31 1369.5 1128.5 1376.5 1128.5V1068.5Z" fill="white" mask="url(#path-33-inside-1_1048_45)"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<mask id="path-36-inside-2_1048_45" fill="white">
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)"/>
|
||||||
|
</mask>
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)" stroke="white" stroke-width="45" mask="url(#path-36-inside-2_1048_45)"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1391.87 1279.66L1390.85 1275.02L1393.28 1277.68L1391.87 1279.66Z" fill="#7D8BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1441.85 1559.26C1442.43 1559.72 1442.93 1560.21 1443.36 1560.69C1442.65 1560.5 1441.96 1560.32 1441.3 1560.16L1441.85 1559.26M1441.85 1559.26V1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1441.85 1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26C1441.53 1559.01 1441.19 1558.76 1440.82 1558.53L1440.28 1559.93C1440.57 1559.99 1440.86 1560.05 1441.16 1560.13L1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1416.99 1557.18L1418.71 1557.64L1416.99 1557.18C1416.83 1557.8 1416.68 1558.44 1416.54 1559.09C1415.97 1559.53 1415.41 1560.01 1414.87 1560.54C1411.74 1563.62 1410.08 1567.36 1409.33 1570.86C1408.78 1573.46 1408.67 1575.95 1408.93 1578.31C1407.42 1580.76 1406.34 1583.73 1406.05 1587.25C1405.84 1589.82 1406 1592.21 1406.44 1594.4C1405.55 1596.4 1404.95 1598.71 1404.9 1601.32C1404.8 1606.38 1406.8 1610.48 1408.87 1613.32C1411.76 1617.31 1415.98 1619.38 1417.61 1620.17C1419.99 1621.32 1422.68 1622.32 1425.29 1623.18C1430.57 1624.9 1436.87 1626.43 1442.86 1627.56C1448.74 1628.66 1455.06 1629.5 1460.22 1629.55C1462.55 1629.58 1466.05 1629.48 1469.41 1628.44C1471.04 1627.94 1474.2 1626.76 1476.98 1623.89C1476.98 1623.89 1476.98 1623.88 1476.99 1623.88C1477.44 1623.82 1477.9 1623.75 1478.36 1623.66C1481.19 1623.11 1486.74 1621.25 1490.08 1615.81C1492.27 1614.98 1494.54 1613.67 1496.61 1611.61C1498.01 1610.2 1499.65 1608.26 1501.03 1605.89C1504.37 1604.31 1508.15 1601.39 1510.29 1596.41C1510.3 1596.38 1510.31 1596.35 1510.33 1596.31C1511.05 1594.62 1512.92 1590.27 1512.67 1585.26C1512.51 1582.2 1511.6 1578.83 1509.42 1575.72C1507.32 1572.73 1504.66 1570.84 1502.34 1569.65C1491.85 1564.28 1475.85 1556.63 1462.01 1551.24C1455.22 1548.59 1448.2 1546.19 1442.36 1545.04C1439.63 1544.5 1435.82 1543.95 1431.97 1544.47C1428.35 1544.96 1419.57 1547.4 1416.99 1557.18ZM1451.7 1614.97C1451.64 1614.57 1451.59 1614.18 1451.56 1613.79C1453.02 1613.99 1454.43 1614.16 1455.76 1614.29C1455.79 1614.29 1455.81 1614.29 1455.84 1614.3L1454.43 1619.14C1453.94 1618.81 1453.42 1618.35 1452.93 1617.72C1452.26 1616.83 1451.85 1615.84 1451.7 1614.97ZM1490.49 1578.08C1490.49 1578.08 1490.46 1578.08 1490.41 1578.08C1490.46 1578.08 1490.49 1578.08 1490.49 1578.08Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1409.5 1173C1402.7 1173.8 1407.67 1179.33 1411 1182C1414.17 1182.67 1421.8 1184.1 1427 1184.5C1433.5 1185 1447.5 1184.5 1447.5 1180C1447.5 1176.8 1418 1172 1409.5 1173Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1376.5 1097.5C1370.34 1097.5 1358.25 1098.03 1350.88 1098.59C1354.64 1096.56 1359.67 1094.26 1365.37 1092.39C1373.36 1089.77 1382.58 1088.02 1391.39 1088.99C1400.33 1089.99 1406.62 1091.6 1410.83 1093.19C1412.94 1093.98 1414.53 1094.77 1415.66 1095.46C1416.62 1096.05 1417.21 1096.55 1417.54 1096.91L1418.82 1108.48C1412.55 1106.11 1404.49 1103.49 1396.89 1101.41C1388.69 1099.16 1380.9 1097.5 1376.5 1097.5Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<rect x="1343.94" y="1098.11" width="77.4768" height="43" rx="14" transform="rotate(6.45837 1343.94 1098.11)" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1380.48 1293.04L1379.91 1290.47L1375.48 1270.29L1373.52 1270.71L1378.44 1293.09L1363.6 1319.51L1364.99 1261.41L1381.49 1243.97L1411.22 1276.58L1384.99 1313.58L1380.48 1293.04Z" fill="#7D8BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1489.83 1594.41C1489.79 1594.29 1489.74 1594.18 1489.68 1594.08C1490.09 1594.09 1490.49 1594.09 1490.88 1594.08C1492.29 1594.03 1493.64 1593.83 1494.77 1593.36C1495.93 1592.88 1496.9 1592.1 1497.42 1590.89C1498.17 1589.15 1498.76 1587.47 1498.69 1585.96C1498.65 1585.18 1498.42 1584.43 1497.95 1583.75C1497.48 1583.09 1496.81 1582.55 1495.95 1582.11C1485.69 1576.85 1470.16 1569.44 1456.92 1564.28C1450.32 1561.71 1444.24 1559.68 1439.65 1558.77C1437.37 1558.32 1435.38 1558.13 1433.85 1558.34C1432.33 1558.55 1430.94 1559.21 1430.53 1560.75C1429.52 1564.59 1429.59 1567.35 1430.22 1569.24C1429.3 1569.07 1428.34 1569.01 1427.42 1569.17C1426.43 1569.34 1425.47 1569.76 1424.68 1570.54C1423.89 1571.31 1423.32 1572.39 1423.02 1573.79C1422.35 1576.91 1423.24 1579.31 1424.66 1580.99C1425.08 1581.49 1425.54 1581.93 1426.02 1582.3C1425.34 1582.46 1424.65 1582.68 1423.98 1582.98C1422.01 1583.88 1420.24 1585.56 1420 1588.42C1419.67 1592.36 1421.37 1595.32 1422.96 1597.04C1421.92 1597.43 1420.85 1598.02 1420.07 1598.85C1419.4 1599.56 1418.92 1600.48 1418.9 1601.6C1418.88 1602.71 1419.31 1603.87 1420.19 1605.09C1420.85 1606 1422.16 1606.82 1423.71 1607.57C1425.31 1608.34 1427.34 1609.12 1429.63 1609.86C1434.21 1611.36 1439.91 1612.76 1445.44 1613.8C1450.97 1614.83 1456.37 1615.51 1460.36 1615.55C1462.34 1615.57 1464.06 1615.44 1465.29 1615.06C1465.9 1614.87 1466.49 1614.59 1466.92 1614.15C1467.39 1613.67 1467.6 1613.04 1467.49 1612.34C1467.24 1610.89 1466.75 1609.67 1466.11 1608.67C1467.93 1609.19 1469.8 1609.64 1471.49 1609.88C1473.01 1610.09 1474.48 1610.15 1475.67 1609.92C1476.86 1609.69 1478.02 1609.1 1478.45 1607.82C1479.16 1605.67 1479.27 1603.9 1479.08 1602.59C1479.88 1602.8 1480.77 1602.98 1481.66 1603.06C1483.36 1603.21 1485.38 1603.04 1486.71 1601.71C1488.03 1600.39 1489.27 1598.63 1489.77 1596.98C1490.02 1596.15 1490.12 1595.24 1489.83 1594.41Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545"/>
|
||||||
|
<path d="M1631.79 1492.83L1625.62 1517.38L1640.42 1530.96L1631.79 1492.83Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1631.79 1492.83L1606.16 1522.35L1625.62 1517.38L1631.79 1492.83Z" fill="white"/>
|
||||||
|
<path d="M1619.29 1542.56L1615.1 1559.24L1639.46 1534.82L1619.29 1542.56Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1615.1 1559.25L1619.29 1542.56L1605.19 1526.21L1615.1 1559.25Z" fill="white"/>
|
||||||
|
<path d="M1620.26 1538.7L1640.42 1530.96L1625.62 1517.38L1620.26 1538.7Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1606.16 1522.35L1620.26 1538.7L1625.62 1517.38L1606.16 1522.35Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1577.06 365.61C1575.01 363.706 1573.92 361.351 1573.79 358.546C1573.66 355.74 1574.57 353.309 1576.52 351.253C1578.38 349.2 1580.71 348.131 1583.52 348.046C1586.33 347.961 1588.76 348.871 1590.81 350.776C1592.8 352.617 1593.86 354.941 1593.99 357.746C1594.14 360.573 1593.28 363.012 1591.42 365.065C1590.12 366.422 1588.6 367.34 1586.85 367.82C1585.13 368.321 1583.39 368.388 1581.63 368.019C1579.92 367.648 1578.39 366.845 1577.06 365.61Z" fill="white"/>
|
||||||
|
<path d="M1614.26 400.09C1612.21 398.185 1611.12 395.83 1610.99 393.025C1610.86 390.22 1611.77 387.789 1613.72 385.732C1615.58 383.679 1617.91 382.61 1620.72 382.526C1623.53 382.441 1625.96 383.351 1628.01 385.255C1630 387.097 1631.06 389.42 1631.18 392.226C1631.34 395.052 1630.48 397.492 1628.62 399.545C1627.32 400.901 1625.8 401.82 1624.05 402.3C1622.33 402.801 1620.59 402.867 1618.83 402.498C1617.12 402.127 1615.59 401.325 1614.26 400.09Z" fill="white"/>
|
||||||
|
<path d="M1651.46 434.569C1649.41 432.665 1648.32 430.31 1648.19 427.504C1648.06 424.699 1648.97 422.268 1650.92 420.212C1652.78 418.159 1655.11 417.09 1657.92 417.005C1660.73 416.92 1663.16 417.83 1665.21 419.735C1667.2 421.576 1668.26 423.9 1668.38 426.705C1668.53 429.531 1667.68 431.971 1665.82 434.024C1664.52 435.381 1663 436.299 1661.25 436.779C1659.53 437.28 1657.79 437.346 1656.03 436.977C1654.32 436.607 1652.79 435.804 1651.46 434.569Z" fill="white"/>
|
||||||
|
<path d="M1688.66 469.049C1686.61 467.144 1685.51 464.789 1685.39 461.984C1685.26 459.178 1686.17 456.747 1688.12 454.691C1689.98 452.638 1692.31 451.569 1695.12 451.484C1697.92 451.4 1700.36 452.309 1702.41 454.214C1704.4 456.056 1705.46 458.379 1705.58 461.184C1705.73 464.011 1704.88 466.451 1703.02 468.504C1701.72 469.86 1700.2 470.778 1698.45 471.258C1696.73 471.76 1694.99 471.826 1693.23 471.457C1691.52 471.086 1689.99 470.283 1688.66 469.049Z" fill="white"/>
|
||||||
|
<path d="M1725.86 503.528C1723.81 501.623 1722.71 499.269 1722.59 496.463C1722.46 493.658 1723.37 491.227 1725.32 489.17C1727.18 487.117 1729.51 486.048 1732.32 485.964C1735.12 485.879 1737.56 486.789 1739.61 488.693C1741.6 490.535 1742.65 492.858 1742.78 495.664C1742.93 498.49 1742.08 500.93 1740.22 502.983C1738.92 504.339 1737.4 505.258 1735.65 505.738C1733.93 506.239 1732.19 506.305 1730.43 505.936C1728.71 505.565 1727.19 504.763 1725.86 503.528Z" fill="white"/>
|
||||||
|
<path d="M1763.06 538.007C1761 536.103 1759.91 533.748 1759.79 530.943C1759.66 528.137 1760.57 525.706 1762.51 523.65C1764.38 521.597 1766.71 520.528 1769.52 520.443C1772.32 520.358 1774.75 521.268 1776.81 523.173C1778.8 525.014 1779.85 527.338 1779.98 530.143C1780.13 532.97 1779.28 535.409 1777.42 537.462C1776.12 538.819 1774.59 539.737 1772.85 540.217C1771.12 540.718 1769.38 540.784 1767.63 540.415C1765.91 540.045 1764.39 539.242 1763.06 538.007Z" fill="white"/>
|
||||||
|
<path d="M1800.26 572.487C1798.2 570.582 1797.11 568.227 1796.98 565.422C1796.86 562.617 1797.77 560.186 1799.71 558.129C1801.58 556.076 1803.91 555.007 1806.72 554.922C1809.52 554.838 1811.95 555.748 1814.01 557.652C1816 559.494 1817.05 561.817 1817.18 564.623C1817.33 567.449 1816.48 569.889 1814.62 571.942C1813.32 573.298 1811.79 574.216 1810.05 574.697C1808.32 575.198 1806.58 575.264 1804.83 574.895C1803.11 574.524 1801.59 573.721 1800.26 572.487Z" fill="white"/>
|
||||||
|
<path d="M1546.12 398.992C1544.07 397.087 1542.98 394.732 1542.85 391.927C1542.72 389.122 1543.63 386.691 1545.58 384.634C1547.44 382.581 1549.77 381.512 1552.58 381.428C1555.39 381.343 1557.82 382.253 1559.87 384.157C1561.86 385.999 1562.92 388.322 1563.04 391.128C1563.2 393.954 1562.34 396.394 1560.48 398.447C1559.18 399.803 1557.66 400.722 1555.91 401.202C1554.19 401.703 1552.45 401.769 1550.69 401.4C1548.98 401.029 1547.45 400.226 1546.12 398.992Z" fill="white"/>
|
||||||
|
<path d="M1583.32 433.471C1581.27 431.567 1580.18 429.212 1580.05 426.406C1579.92 423.601 1580.83 421.17 1582.78 419.114C1584.64 417.061 1586.97 415.992 1589.78 415.907C1592.59 415.822 1595.02 416.732 1597.07 418.636C1599.06 420.478 1600.12 422.802 1600.24 425.607C1600.39 428.433 1599.54 430.873 1597.68 432.926C1596.38 434.283 1594.86 435.201 1593.11 435.681C1591.39 436.182 1589.65 436.248 1587.89 435.879C1586.18 435.509 1584.65 434.706 1583.32 433.471Z" fill="white"/>
|
||||||
|
<path d="M1620.52 467.951C1618.47 466.046 1617.37 463.691 1617.25 460.886C1617.12 458.08 1618.03 455.649 1619.98 453.593C1621.84 451.54 1624.17 450.471 1626.98 450.386C1629.79 450.302 1632.22 451.211 1634.27 453.116C1636.26 454.958 1637.32 457.281 1637.44 460.086C1637.59 462.913 1636.74 465.352 1634.88 467.406C1633.58 468.762 1632.06 469.68 1630.31 470.16C1628.59 470.662 1626.85 470.728 1625.09 470.359C1623.38 469.988 1621.85 469.185 1620.52 467.951Z" fill="white"/>
|
||||||
|
<path d="M1657.72 502.43C1655.67 500.525 1654.57 498.171 1654.45 495.365C1654.32 492.56 1655.23 490.129 1657.18 488.072C1659.04 486.019 1661.37 484.95 1664.18 484.866C1666.98 484.781 1669.42 485.691 1671.47 487.595C1673.46 489.437 1674.51 491.76 1674.64 494.566C1674.79 497.392 1673.94 499.832 1672.08 501.885C1670.78 503.241 1669.26 504.16 1667.51 504.64C1665.79 505.141 1664.05 505.207 1662.29 504.838C1660.58 504.467 1659.05 503.665 1657.72 502.43Z" fill="white"/>
|
||||||
|
<path d="M1694.92 536.909C1692.87 535.005 1691.77 532.65 1691.65 529.844C1691.52 527.039 1692.43 524.608 1694.37 522.552C1696.24 520.499 1698.57 519.43 1701.38 519.345C1704.18 519.26 1706.61 520.17 1708.67 522.075C1710.66 523.916 1711.71 526.24 1711.84 529.045C1711.99 531.872 1711.14 534.311 1709.28 536.364C1707.98 537.721 1706.46 538.639 1704.71 539.119C1702.98 539.62 1701.24 539.686 1699.49 539.317C1697.77 538.947 1696.25 538.144 1694.92 536.909Z" fill="white"/>
|
||||||
|
<path d="M1732.12 571.389C1730.06 569.484 1728.97 567.129 1728.84 564.324C1728.72 561.518 1729.63 559.088 1731.57 557.031C1733.44 554.978 1735.77 553.909 1738.58 553.824C1741.38 553.74 1743.81 554.65 1745.87 556.554C1747.86 558.396 1748.91 560.719 1749.04 563.525C1749.19 566.351 1748.34 568.791 1746.48 570.844C1745.18 572.2 1743.65 573.118 1741.91 573.599C1740.18 574.1 1738.44 574.166 1736.69 573.797C1734.97 573.426 1733.45 572.623 1732.12 571.389Z" fill="white"/>
|
||||||
|
<path d="M1769.32 605.868C1767.26 603.964 1766.17 601.609 1766.04 598.803C1765.92 595.998 1766.83 593.567 1768.77 591.511C1770.63 589.458 1772.97 588.389 1775.78 588.304C1778.58 588.219 1781.01 589.129 1783.07 591.033C1785.06 592.875 1786.11 595.199 1786.24 598.004C1786.39 600.83 1785.54 603.27 1783.68 605.323C1782.38 606.679 1780.85 607.598 1779.11 608.078C1777.38 608.579 1775.64 608.645 1773.89 608.276C1772.17 607.906 1770.65 607.103 1769.32 605.868Z" fill="white"/>
|
||||||
|
<path d="M1515.18 432.373C1513.13 430.469 1512.04 428.114 1511.91 425.308C1511.78 422.503 1512.69 420.072 1514.64 418.016C1516.5 415.963 1518.83 414.894 1521.64 414.809C1524.45 414.724 1526.88 415.634 1528.93 417.538C1530.92 419.38 1531.98 421.704 1532.1 424.509C1532.26 427.335 1531.4 429.775 1529.54 431.828C1528.24 433.185 1526.72 434.103 1524.97 434.583C1523.25 435.084 1521.51 435.15 1519.75 434.781C1518.04 434.411 1516.51 433.608 1515.18 432.373Z" fill="white"/>
|
||||||
|
<path d="M1552.38 466.852C1550.33 464.948 1549.24 462.593 1549.11 459.788C1548.98 456.982 1549.89 454.551 1551.84 452.495C1553.7 450.442 1556.03 449.373 1558.84 449.288C1561.65 449.204 1564.08 450.113 1566.13 452.018C1568.12 453.859 1569.18 456.183 1569.3 458.988C1569.45 461.815 1568.6 464.254 1566.74 466.308C1565.44 467.664 1563.92 468.582 1562.17 469.062C1560.45 469.564 1558.71 469.63 1556.95 469.261C1555.24 468.89 1553.71 468.087 1552.38 466.852Z" fill="white"/>
|
||||||
|
<path d="M1589.58 501.332C1587.53 499.427 1586.43 497.072 1586.31 494.267C1586.18 491.462 1587.09 489.031 1589.04 486.974C1590.9 484.921 1593.23 483.852 1596.04 483.768C1598.84 483.683 1601.28 484.593 1603.33 486.497C1605.32 488.339 1606.37 490.662 1606.5 493.468C1606.65 496.294 1605.8 498.734 1603.94 500.787C1602.64 502.143 1601.12 503.062 1599.37 503.542C1597.65 504.043 1595.91 504.109 1594.15 503.74C1592.44 503.369 1590.91 502.567 1589.58 501.332Z" fill="white"/>
|
||||||
|
<path d="M1626.78 535.811C1624.73 533.907 1623.63 531.552 1623.51 528.746C1623.38 525.941 1624.29 523.51 1626.24 521.454C1628.1 519.401 1630.43 518.332 1633.24 518.247C1636.04 518.162 1638.48 519.072 1640.53 520.977C1642.52 522.818 1643.57 525.142 1643.7 527.947C1643.85 530.774 1643 533.213 1641.14 535.266C1639.84 536.623 1638.32 537.541 1636.57 538.021C1634.85 538.522 1633.1 538.588 1631.35 538.219C1629.63 537.849 1628.11 537.046 1626.78 535.811Z" fill="white"/>
|
||||||
|
<path d="M1663.98 570.291C1661.92 568.386 1660.83 566.031 1660.71 563.226C1660.58 560.42 1661.49 557.99 1663.43 555.933C1665.3 553.88 1667.63 552.811 1670.44 552.726C1673.24 552.642 1675.67 553.552 1677.73 555.456C1679.72 557.298 1680.77 559.621 1680.9 562.427C1681.05 565.253 1680.2 567.693 1678.34 569.746C1677.04 571.102 1675.51 572.02 1673.77 572.501C1672.04 573.002 1670.3 573.068 1668.55 572.699C1666.83 572.328 1665.31 571.525 1663.98 570.291Z" fill="white"/>
|
||||||
|
<path d="M1701.18 604.77C1699.12 602.866 1698.03 600.511 1697.9 597.705C1697.78 594.9 1698.69 592.469 1700.63 590.413C1702.5 588.359 1704.83 587.291 1707.64 587.206C1710.44 587.121 1712.87 588.031 1714.93 589.935C1716.92 591.777 1717.97 594.101 1718.1 596.906C1718.25 599.732 1717.4 602.172 1715.54 604.225C1714.24 605.581 1712.71 606.5 1710.97 606.98C1709.24 607.481 1707.5 607.547 1705.75 607.178C1704.03 606.807 1702.51 606.005 1701.18 604.77Z" fill="white"/>
|
||||||
|
<path d="M1738.38 639.249C1736.32 637.345 1735.23 634.99 1735.1 632.185C1734.98 629.379 1735.89 626.948 1737.83 624.892C1739.69 622.839 1742.03 621.77 1744.84 621.685C1747.64 621.6 1750.07 622.51 1752.13 624.415C1754.12 626.256 1755.17 628.58 1755.3 631.385C1755.45 634.212 1754.6 636.651 1752.74 638.704C1751.44 640.061 1749.91 640.979 1748.17 641.459C1746.44 641.96 1744.7 642.027 1742.95 641.658C1741.23 641.287 1739.71 640.484 1738.38 639.249Z" fill="white"/>
|
||||||
|
<path d="M1484.24 465.754C1482.19 463.85 1481.1 461.495 1480.97 458.69C1480.84 455.884 1481.75 453.453 1483.7 451.397C1485.56 449.344 1487.89 448.275 1490.7 448.19C1493.51 448.106 1495.94 449.015 1497.99 450.92C1499.98 452.761 1501.04 455.085 1501.16 457.89C1501.31 460.717 1500.46 463.156 1498.6 465.209C1497.3 466.566 1495.78 467.484 1494.03 467.964C1492.31 468.466 1490.57 468.532 1488.81 468.163C1487.1 467.792 1485.57 466.989 1484.24 465.754Z" fill="white"/>
|
||||||
|
<path d="M1521.44 500.234C1519.39 498.329 1518.29 495.974 1518.17 493.169C1518.04 490.364 1518.95 487.933 1520.9 485.876C1522.76 483.823 1525.09 482.754 1527.9 482.67C1530.71 482.585 1533.14 483.495 1535.19 485.399C1537.18 487.241 1538.24 489.564 1538.36 492.37C1538.51 495.196 1537.66 497.636 1535.8 499.689C1534.5 501.045 1532.98 501.964 1531.23 502.444C1529.51 502.945 1527.77 503.011 1526.01 502.642C1524.3 502.271 1522.77 501.469 1521.44 500.234Z" fill="white"/>
|
||||||
|
<path d="M1558.64 534.713C1556.59 532.809 1555.49 530.454 1555.37 527.648C1555.24 524.843 1556.15 522.412 1558.1 520.356C1559.96 518.303 1562.29 517.234 1565.1 517.149C1567.9 517.064 1570.34 517.974 1572.39 519.879C1574.38 521.72 1575.43 524.044 1575.56 526.849C1575.71 529.675 1574.86 532.115 1573 534.168C1571.7 535.525 1570.18 536.443 1568.43 536.923C1566.71 537.424 1564.97 537.49 1563.21 537.121C1561.5 536.751 1559.97 535.948 1558.64 534.713Z" fill="white"/>
|
||||||
|
<path d="M1595.84 569.193C1593.78 567.288 1592.69 564.933 1592.57 562.128C1592.44 559.322 1593.35 556.892 1595.29 554.835C1597.16 552.782 1599.49 551.713 1602.3 551.628C1605.1 551.544 1607.53 552.453 1609.59 554.358C1611.58 556.2 1612.63 558.523 1612.76 561.329C1612.91 564.155 1612.06 566.595 1610.2 568.648C1608.9 570.004 1607.38 570.922 1605.63 571.403C1603.9 571.904 1602.16 571.97 1600.41 571.601C1598.69 571.23 1597.17 570.427 1595.84 569.193Z" fill="white"/>
|
||||||
|
<path d="M1633.04 603.672C1630.98 601.768 1629.89 599.413 1629.76 596.607C1629.64 593.802 1630.55 591.371 1632.49 589.315C1634.36 587.261 1636.69 586.193 1639.5 586.108C1642.3 586.023 1644.73 586.933 1646.79 588.837C1648.78 590.679 1649.83 593.003 1649.96 595.808C1650.11 598.634 1649.26 601.074 1647.4 603.127C1646.1 604.483 1644.57 605.402 1642.83 605.882C1641.1 606.383 1639.36 606.449 1637.61 606.08C1635.89 605.709 1634.37 604.907 1633.04 603.672Z" fill="white"/>
|
||||||
|
<path d="M1670.24 638.151C1668.18 636.247 1667.09 633.892 1666.96 631.087C1666.84 628.281 1667.75 625.85 1669.69 623.794C1671.55 621.741 1673.89 620.672 1676.7 620.587C1679.5 620.502 1681.93 621.412 1683.99 623.317C1685.98 625.158 1687.03 627.482 1687.16 630.287C1687.31 633.114 1686.46 635.553 1684.6 637.606C1683.3 638.963 1681.77 639.881 1680.03 640.361C1678.3 640.862 1676.56 640.929 1674.81 640.559C1673.09 640.189 1671.57 639.386 1670.24 638.151Z" fill="white"/>
|
||||||
|
<path d="M1707.44 672.631C1705.38 670.726 1704.29 668.371 1704.16 665.566C1704.04 662.761 1704.95 660.33 1706.89 658.273C1708.75 656.22 1711.09 655.151 1713.9 655.067C1716.7 654.982 1719.13 655.892 1721.19 657.796C1723.17 659.638 1724.23 661.961 1724.36 664.767C1724.51 667.593 1723.66 670.033 1721.8 672.086C1720.5 673.442 1718.97 674.36 1717.23 674.841C1715.5 675.342 1713.76 675.408 1712.01 675.039C1710.29 674.668 1708.77 673.865 1707.44 672.631Z" fill="white"/>
|
||||||
|
<path d="M1453.3 499.136C1451.25 497.231 1450.15 494.876 1450.03 492.071C1449.9 489.266 1450.81 486.835 1452.76 484.778C1454.62 482.725 1456.95 481.656 1459.76 481.572C1462.57 481.487 1465 482.397 1467.05 484.301C1469.04 486.143 1470.1 488.466 1470.22 491.272C1470.37 494.098 1469.52 496.538 1467.66 498.591C1466.36 499.947 1464.84 500.866 1463.09 501.346C1461.37 501.847 1459.63 501.913 1457.87 501.544C1456.16 501.173 1454.63 500.371 1453.3 499.136Z" fill="white"/>
|
||||||
|
<path d="M1490.5 533.615C1488.45 531.711 1487.35 529.356 1487.23 526.55C1487.1 523.745 1488.01 521.314 1489.96 519.258C1491.82 517.205 1494.15 516.136 1496.96 516.051C1499.76 515.966 1502.2 516.876 1504.25 518.781C1506.24 520.622 1507.29 522.946 1507.42 525.751C1507.57 528.577 1506.72 531.017 1504.86 533.07C1503.56 534.427 1502.04 535.345 1500.29 535.825C1498.57 536.326 1496.83 536.392 1495.07 536.023C1493.36 535.653 1491.83 534.85 1490.5 533.615Z" fill="white"/>
|
||||||
|
<path d="M1527.7 568.095C1525.65 566.19 1524.55 563.835 1524.43 561.03C1524.3 558.224 1525.21 555.794 1527.16 553.737C1529.02 551.684 1531.35 550.615 1534.16 550.53C1536.96 550.446 1539.4 551.355 1541.45 553.26C1543.44 555.102 1544.49 557.425 1544.62 560.231C1544.77 563.057 1543.92 565.497 1542.06 567.55C1540.76 568.906 1539.24 569.824 1537.49 570.305C1535.77 570.806 1534.02 570.872 1532.27 570.503C1530.55 570.132 1529.03 569.329 1527.7 568.095Z" fill="white"/>
|
||||||
|
<path d="M1564.9 602.574C1562.84 600.669 1561.75 598.315 1561.62 595.509C1561.5 592.704 1562.41 590.273 1564.35 588.217C1566.22 586.163 1568.55 585.095 1571.36 585.01C1574.16 584.925 1576.59 585.835 1578.65 587.739C1580.64 589.581 1581.69 591.904 1581.82 594.71C1581.97 597.536 1581.12 599.976 1579.26 602.029C1577.96 603.385 1576.43 604.304 1574.69 604.784C1572.96 605.285 1571.22 605.351 1569.47 604.982C1567.75 604.611 1566.23 603.809 1564.9 602.574Z" fill="white"/>
|
||||||
|
<path d="M1602.1 637.053C1600.04 635.149 1598.95 632.794 1598.82 629.989C1598.7 627.183 1599.61 624.752 1601.55 622.696C1603.41 620.643 1605.75 619.574 1608.56 619.489C1611.36 619.404 1613.79 620.314 1615.85 622.219C1617.84 624.06 1618.89 626.384 1619.02 629.189C1619.17 632.016 1618.32 634.455 1616.46 636.508C1615.16 637.865 1613.63 638.783 1611.89 639.263C1610.16 639.764 1608.42 639.83 1606.67 639.461C1604.95 639.091 1603.43 638.288 1602.1 637.053Z" fill="white"/>
|
||||||
|
<path d="M1639.3 671.533C1637.24 669.628 1636.15 667.273 1636.02 664.468C1635.9 661.663 1636.81 659.232 1638.75 657.175C1640.61 655.122 1642.95 654.053 1645.76 653.969C1648.56 653.884 1650.99 654.794 1653.05 656.698C1655.03 658.54 1656.09 660.863 1656.22 663.669C1656.37 666.495 1655.52 668.935 1653.66 670.988C1652.36 672.344 1650.83 673.262 1649.09 673.743C1647.36 674.244 1645.62 674.31 1643.87 673.941C1642.15 673.57 1640.63 672.767 1639.3 671.533Z" fill="white"/>
|
||||||
|
<path d="M1676.5 706.012C1674.44 704.108 1673.35 701.753 1673.22 698.947C1673.09 696.142 1674 693.711 1675.95 691.655C1677.81 689.602 1680.15 688.533 1682.95 688.448C1685.76 688.363 1688.19 689.273 1690.25 691.177C1692.23 693.019 1693.29 695.343 1693.42 698.148C1693.57 700.974 1692.72 703.414 1690.85 705.467C1689.56 706.824 1688.03 707.742 1686.29 708.222C1684.56 708.723 1682.82 708.789 1681.07 708.42C1679.35 708.05 1677.83 707.247 1676.5 706.012Z" fill="white"/>
|
||||||
|
<path d="M1422.36 532.517C1420.31 530.613 1419.21 528.258 1419.09 525.452C1418.96 522.647 1419.87 520.216 1421.82 518.16C1423.68 516.107 1426.01 515.038 1428.82 514.953C1431.63 514.868 1434.06 515.778 1436.11 517.683C1438.1 519.524 1439.16 521.848 1439.28 524.653C1439.43 527.479 1438.58 529.919 1436.72 531.972C1435.42 533.329 1433.9 534.247 1432.15 534.727C1430.43 535.228 1428.69 535.294 1426.93 534.925C1425.22 534.555 1423.69 533.752 1422.36 532.517Z" fill="white"/>
|
||||||
|
<path d="M1459.56 566.997C1457.51 565.092 1456.41 562.737 1456.29 559.932C1456.16 557.126 1457.07 554.695 1459.02 552.639C1460.88 550.586 1463.21 549.517 1466.02 549.432C1468.82 549.348 1471.26 550.257 1473.31 552.162C1475.3 554.004 1476.35 556.327 1476.48 559.132C1476.63 561.959 1475.78 564.399 1473.92 566.452C1472.62 567.808 1471.1 568.726 1469.35 569.207C1467.63 569.708 1465.89 569.774 1464.13 569.405C1462.42 569.034 1460.89 568.231 1459.56 566.997Z" fill="white"/>
|
||||||
|
<path d="M1496.76 601.476C1494.7 599.571 1493.61 597.217 1493.49 594.411C1493.36 591.606 1494.27 589.175 1496.21 587.118C1498.08 585.065 1500.41 583.997 1503.22 583.912C1506.02 583.827 1508.45 584.737 1510.51 586.641C1512.5 588.483 1513.55 590.806 1513.68 593.612C1513.83 596.438 1512.98 598.878 1511.12 600.931C1509.82 602.287 1508.29 603.206 1506.55 603.686C1504.82 604.187 1503.08 604.253 1501.33 603.884C1499.61 603.513 1498.09 602.711 1496.76 601.476Z" fill="white"/>
|
||||||
|
<path d="M1533.96 635.955C1531.9 634.051 1530.81 631.696 1530.68 628.891C1530.56 626.085 1531.47 623.654 1533.41 621.598C1535.28 619.545 1537.61 618.476 1540.42 618.391C1543.22 618.306 1545.65 619.216 1547.71 621.121C1549.7 622.962 1550.75 625.286 1550.88 628.091C1551.03 630.918 1550.18 633.357 1548.32 635.41C1547.02 636.767 1545.49 637.685 1543.75 638.165C1542.02 638.666 1540.28 638.732 1538.53 638.363C1536.81 637.993 1535.29 637.19 1533.96 635.955Z" fill="white"/>
|
||||||
|
<path d="M1571.16 670.435C1569.1 668.53 1568.01 666.175 1567.88 663.37C1567.76 660.565 1568.67 658.134 1570.61 656.077C1572.47 654.024 1574.81 652.955 1577.62 652.87C1580.42 652.786 1582.85 653.696 1584.91 655.6C1586.9 657.442 1587.95 659.765 1588.08 662.571C1588.23 665.397 1587.38 667.837 1585.52 669.89C1584.22 671.246 1582.69 672.164 1580.95 672.645C1579.22 673.146 1577.48 673.212 1575.73 672.843C1574.01 672.472 1572.49 671.669 1571.16 670.435Z" fill="white"/>
|
||||||
|
<path d="M1608.36 704.914C1606.3 703.01 1605.21 700.655 1605.08 697.849C1604.96 695.044 1605.87 692.613 1607.81 690.557C1609.67 688.504 1612.01 687.435 1614.82 687.35C1617.62 687.265 1620.05 688.175 1622.11 690.079C1624.09 691.921 1625.15 694.245 1625.28 697.05C1625.43 699.876 1624.58 702.316 1622.72 704.369C1621.42 705.726 1619.89 706.644 1618.15 707.124C1616.42 707.625 1614.68 707.691 1612.93 707.322C1611.21 706.952 1609.69 706.149 1608.36 704.914Z" fill="white"/>
|
||||||
|
<path d="M1645.56 739.393C1643.5 737.489 1642.41 735.134 1642.28 732.329C1642.15 729.523 1643.06 727.092 1645.01 725.036C1646.87 722.983 1649.21 721.914 1652.01 721.829C1654.82 721.744 1657.25 722.654 1659.31 724.559C1661.29 726.4 1662.35 728.724 1662.48 731.529C1662.63 734.356 1661.78 736.795 1659.91 738.848C1658.62 740.205 1657.09 741.123 1655.35 741.603C1653.62 742.105 1651.88 742.171 1650.13 741.802C1648.41 741.431 1646.89 740.628 1645.56 739.393Z" fill="white"/>
|
||||||
|
<path d="M1319.35 282.231L1382.54 367.303L1478.66 345.769L1319.35 282.231Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1600 142L1511 288L1600 247.973V142Z" fill="white"/>
|
||||||
|
<path d="M936 156L847 302L936 261.973V156Z" fill="white"/>
|
||||||
|
<path d="M292 717L203 863L292 822.973V717Z" fill="white"/>
|
||||||
|
<path d="M1705 1291.99V1364L1795 1240L1705 1291.99Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1319 377V325.318L1256 288L1319 377Z" fill="white"/>
|
||||||
|
<path d="M999 201V149.318L936 112L999 201Z" fill="white"/>
|
||||||
|
<path d="M1655.88 1417.42L1691.03 1386.16L1678.52 1321L1655.88 1417.42Z" fill="white"/>
|
||||||
|
<path d="M1389 275L1479 223.018L1389 183V275Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1738.95 1236.69L1830.16 1188.69L1752.11 1140L1738.95 1236.69Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M419 186L447 478L619 156L419 186Z" fill="#7799F1"/>
|
||||||
|
<path d="M397.721 371L316.72 581.829L437.186 528.97L397.721 371Z" fill="#4963BE"/>
|
||||||
|
<path d="M503.904 458L631.091 574L579.905 370L503.904 458Z" fill="white"/>
|
||||||
|
<path d="M1722.7 1407.92L1719.13 1448.15L1667.8 1472.88L1722.7 1407.92Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1048_45">
|
||||||
|
<rect width="2000" height="2000" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 55 KiB |
174
assets/svg/themed/oceanBreeze/ethereum.svg
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<svg width="2000" height="2000" viewBox="0 0 2000 2000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_1048_45)">
|
||||||
|
<path d="M85.1779 1368.47C57.1779 1608.47 537.178 1652.47 589.178 1660.47H1441.18C1533.18 1660.47 1761.18 1560.47 1845.18 1432.47C1929.18 1304.47 1809.18 1092.47 1761.18 984.475C1713.18 876.474 1934.56 800.211 1873.18 512.475C1809.18 212.475 1529.18 152.475 1301.18 212.475C1150.27 252.189 1249.18 120.475 905.18 84.4745C561.18 48.4745 493.18 416.475 337.18 460.475C181.18 504.475 85.1779 760.475 177.18 984.475C269.182 1208.47 113.178 1128.47 85.1779 1368.47Z" fill="#BECDF9"/>
|
||||||
|
<ellipse cx="1022" cy="1680.5" rx="687" ry="52.5" fill="#2E3E79"/>
|
||||||
|
<path d="M1049.83 863.456L1049.81 863.385L1049.78 863.314C1046.97 854.72 1044.73 846.664 1043.01 839.098L1038.13 840.205C1033.69 820.63 1032.61 804.099 1034.03 789.869L1039 790.364C1040.83 771.98 1047 757.717 1055.45 745.676L1051.36 742.802C1061.27 728.691 1074.15 717.536 1086.98 706.788L1090.19 710.621C1091.14 709.824 1092.09 709.028 1093.05 708.229C1105.36 697.941 1117.97 687.408 1127.5 674.629L1123.5 671.64C1132.94 658.972 1139.2 644.055 1139.24 624.337L1144.24 624.348C1144.28 609.808 1141.1 593.053 1133.86 573.267L1129.17 574.986C1124.15 561.291 1117.11 545.984 1107.66 528.758L1112.04 526.354C1108.16 519.271 1103.87 511.877 1099.17 504.15C1094.83 497.012 1091.03 489.839 1087.74 482.65L1083.19 484.729C1075.96 468.927 1071.15 453.01 1068.5 437.178L1073.43 436.352C1070.7 420.076 1070.34 403.888 1072.06 388.011L1067.09 387.472C1068.88 370.94 1072.87 354.746 1078.77 339.135L1083.44 340.902C1089.13 325.862 1096.63 311.352 1105.7 297.606L1101.52 294.854C1110.57 281.127 1121.13 268.168 1132.94 256.197L1136.5 259.708C1147.85 248.193 1160.38 237.603 1173.85 228.144L1170.98 224.052C1184.51 214.55 1198.97 206.173 1214.11 199.121L1216.22 203.654C1230.98 196.781 1246.39 191.192 1262.23 187.078L1260.97 182.239C1277 178.074 1293.47 175.389 1310.14 174.375L1310.45 179.365C1326.57 178.384 1342.87 178.997 1359.15 181.378L1359.88 176.431C1376.02 178.793 1392.15 182.859 1408.07 188.798L1406.32 193.482C1421.1 199 1435.71 206.172 1449.96 215.145L1452.63 210.913C1466.15 219.422 1479.35 229.513 1492.09 241.3L1488.7 244.971C1500.16 255.57 1511.26 267.579 1521.9 281.093L1525.83 278.001C1535.61 290.419 1544.99 304.075 1553.89 319.033L1549.59 321.59C1553.73 328.555 1557.78 335.811 1561.71 343.364C1562.42 344.724 1563.06 346.177 1563.62 347.696L1568.31 345.948C1569.54 349.266 1570.44 352.791 1570.98 356.298L1566.04 357.062C1566.29 358.688 1566.46 360.305 1566.54 361.882C1567.04 371.372 1567.64 380.541 1568.34 389.401L1573.33 389.005C1574.85 408.15 1576.85 425.826 1579.29 442.154L1574.35 442.894C1577.29 462.587 1580.87 480.373 1585.03 496.453L1589.87 495.202C1594.88 514.585 1600.72 531.406 1607.25 546.044L1602.68 548.081C1611.12 566.993 1620.74 582.432 1631.3 595.127L1635.14 591.93C1647.7 607.027 1661.53 618.009 1676.15 626.296L1673.68 630.646C1690.17 639.996 1707.53 645.972 1724.97 650.513L1726.23 645.674C1738.52 648.876 1750.97 651.381 1763.32 653.868C1768.54 654.919 1773.74 655.967 1778.91 657.062L1777.87 661.954C1795.64 665.72 1812.69 669.994 1828.53 676.825L1830.51 672.234C1846.5 679.128 1861.39 688.595 1874.51 702.621L1870.85 706.035C1881.26 717.164 1890.58 731.377 1898.4 749.871L1903 747.924C1909.15 762.476 1914.36 779.524 1918.43 799.577L1913.53 800.574C1915.21 808.813 1916.69 817.58 1917.98 826.914C1919.12 835.245 1919.67 843.369 1919.65 851.287L1924.65 851.3C1924.6 868.594 1921.94 884.994 1916.94 900.482L1912.18 898.947C1907.25 914.223 1899.96 928.617 1890.59 942.115L1894.69 944.968C1885.46 958.253 1874.29 970.656 1861.43 982.163L1858.09 978.437C1846.35 988.951 1833.14 998.73 1818.66 1007.75L1821.3 1012C1807.65 1020.51 1792.92 1028.34 1777.28 1035.47L1775.2 1030.92C1760.6 1037.59 1745.19 1043.65 1729.1 1049.1L1730.7 1053.83C1715.26 1059.06 1699.21 1063.73 1682.69 1067.82L1681.49 1062.96C1665.71 1066.87 1649.49 1070.26 1632.93 1073.11L1633.78 1078.04C1617.53 1080.84 1600.97 1083.13 1584.2 1084.9L1583.67 1079.93C1567.31 1081.66 1550.75 1082.9 1534.08 1083.64L1534.3 1088.64C1517.71 1089.38 1501.01 1089.62 1484.31 1089.37L1484.38 1084.37C1467.8 1084.12 1451.21 1083.38 1434.71 1082.15L1434.33 1087.13C1417.64 1085.88 1401.03 1084.12 1384.61 1081.85L1385.29 1076.9C1368.76 1074.62 1352.41 1071.81 1336.36 1068.48L1335.34 1073.38C1318.8 1069.95 1302.56 1065.96 1286.72 1061.41L1288.1 1056.6C1271.95 1051.97 1256.24 1046.74 1241.08 1040.93L1239.29 1045.6C1223.44 1039.52 1208.17 1032.8 1193.62 1025.43L1195.88 1020.97C1180.81 1013.34 1166.55 1005.01 1153.21 995.985L1150.41 1000.13C1136.32 990.587 1123.24 980.265 1111.35 969.152L1114.76 965.498C1102.57 954.105 1091.66 941.887 1082.21 928.838L1078.16 931.77C1068.35 918.23 1060.07 903.791 1053.51 888.441L1058.11 886.476C1054.93 879.023 1052.16 871.35 1049.83 863.456Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<path d="M203.275 733.389L203.327 733.336L203.378 733.281C209.007 727.19 214.504 721.647 219.875 716.612L216.455 712.964C229.7 700.546 242.263 691.095 254.253 684.057L256.784 688.369C271.893 679.5 285.94 674.657 299.181 672.558L298.398 667.62C315.026 664.983 330.606 666.449 345.548 669.924L344.415 674.794C359.055 678.199 373.108 683.594 387.31 689.046L388.797 689.617L390.588 684.949C405.752 690.767 420.67 696.392 435.857 699.199L434.948 704.115C450.757 707.037 467.085 707.062 484.284 701.296L482.695 696.555C495.566 692.24 508.93 684.506 523.041 672.046L526.351 675.794C536.846 666.527 547.66 654.793 558.901 640.141L554.933 637.098C563.547 625.87 572.456 612.851 581.704 597.809L585.964 600.428C589.996 593.869 594.089 586.935 598.247 579.607C602.555 572.014 607.137 564.844 611.97 558.086L607.902 555.178C618.388 540.512 630.047 527.716 642.644 516.702L645.935 520.466C658.945 509.091 672.977 499.664 687.768 492.076L685.486 487.627C700.963 479.688 717.248 473.719 734.048 469.605L735.237 474.461C751.592 470.457 768.465 468.245 785.577 467.726L785.425 462.728C802.557 462.208 819.901 463.354 837.182 466.059L836.408 470.998C853.065 473.606 869.675 477.689 885.981 483.154L887.57 478.413C903.871 483.876 919.863 490.694 935.3 498.774L932.981 503.204C948.024 511.078 962.531 520.167 976.265 530.38L979.249 526.367C993.105 536.67 1006.19 548.101 1018.27 560.569L1014.68 564.048C1026.49 576.247 1037.32 589.449 1046.95 603.565L1051.08 600.748C1060.77 614.965 1069.27 630.1 1076.34 646.069L1071.76 648.093C1078.55 663.426 1084 679.538 1087.91 696.351L1092.78 695.218C1096.61 711.686 1098.99 728.817 1099.74 746.539L1094.74 746.748C1095.43 763.222 1094.69 780.227 1092.34 797.709L1097.3 798.374C1095.09 814.864 1091.48 831.759 1086.35 849.01L1081.56 847.584C1076.88 863.3 1070.92 879.332 1063.57 895.644L1068.13 897.699C1061.34 912.759 1053.39 928.039 1044.2 943.513L1039.9 940.959C1035.56 948.269 1030.93 955.624 1026.02 963.024C1025.17 964.305 1024.21 965.573 1023.15 966.811L1026.95 970.06C1024.64 972.756 1021.99 975.258 1019.19 977.439L1016.12 973.492C1014.82 974.505 1013.48 975.437 1012.15 976.273C1005.07 980.698 998.208 985.081 991.561 989.424L994.296 993.61C980.363 1002.71 967.376 1011.63 955.278 1020.38L952.348 1016.33C938.69 1026.2 926.146 1035.87 914.638 1045.34L917.815 1049.2C904.833 1059.88 893.195 1070.3 882.784 1080.47L879.289 1076.89C866.803 1089.1 856.035 1100.98 846.795 1112.58L850.706 1115.69C839.955 1129.19 831.341 1142.25 824.539 1154.94L820.132 1152.58C811.823 1168.09 806.13 1183.09 802.515 1197.7L807.369 1198.9C803.376 1215.03 802.008 1230.6 802.451 1245.74L797.453 1245.89C797.934 1262.35 800.496 1278.25 804.108 1293.73L808.977 1292.59C812.577 1308.02 817.263 1323.14 822.035 1338.12L817.271 1339.64C817.857 1341.48 818.444 1343.31 819.029 1345.14C823.292 1358.48 827.479 1371.58 830.935 1384.71L835.77 1383.44C839.83 1398.87 842.892 1414.33 843.843 1430.04L838.852 1430.34C839.754 1445.23 838.698 1460.27 834.709 1475.67L839.549 1476.93C835.906 1491 829.896 1505.38 820.812 1520.21L816.548 1517.59C809.315 1529.4 800.04 1541.55 788.309 1554.12L791.965 1557.53C782.169 1568.03 770.725 1578.77 757.419 1589.79L754.23 1585.94C748.363 1590.8 742.125 1595.72 735.494 1600.7C728.818 1605.72 722.048 1610.21 715.194 1614.21L717.71 1618.53C702.98 1627.11 687.837 1633.44 672.387 1637.7L671.058 1632.88C655.505 1637.17 639.618 1639.29 623.5 1639.42L623.541 1644.42C607.371 1644.56 590.996 1642.73 574.523 1639.13L575.592 1634.25C560.261 1630.89 544.807 1625.95 529.322 1619.56L527.414 1624.18C512.616 1618.07 497.822 1610.67 483.11 1602.1L485.627 1597.78C471.969 1589.82 458.365 1580.82 444.88 1570.9L441.915 1574.92C428.946 1565.37 416.099 1554.98 403.431 1543.83L406.735 1540.07C394.682 1529.46 382.785 1518.15 371.093 1506.22L367.522 1509.72C356.146 1498.11 344.97 1485.92 334.037 1473.22L337.826 1469.96C327.254 1457.68 316.908 1444.91 306.827 1431.73L302.856 1434.77C292.93 1421.79 283.263 1408.41 273.894 1394.69L278.023 1391.87C268.826 1378.4 259.915 1364.6 251.328 1350.53L247.06 1353.13C238.493 1339.09 230.247 1324.78 222.358 1310.26L226.752 1307.87C218.918 1293.45 211.438 1278.82 204.347 1264.03L199.839 1266.19C192.686 1251.28 185.926 1236.2 179.597 1221.03L184.212 1219.11C177.859 1203.88 171.943 1188.55 166.499 1173.18L161.786 1174.85C156.232 1159.17 151.165 1143.45 146.626 1127.74L151.43 1126.35C146.828 1110.43 142.773 1094.52 139.305 1078.71L134.421 1079.78C130.839 1063.45 127.876 1047.21 125.578 1031.12L130.528 1030.41C128.178 1013.96 126.529 997.692 125.627 981.673L120.635 981.954C119.691 965.189 119.558 948.685 120.287 932.528L125.282 932.754C126.034 916.11 127.711 899.859 130.371 884.092L125.44 883.26C128.232 866.708 132.094 850.663 137.094 835.232L141.851 836.773C146.906 821.174 153.136 806.234 160.608 792.062L156.185 789.73C163.875 775.146 172.864 761.342 183.229 748.438L187.128 751.57C192.174 745.287 197.554 739.222 203.275 733.389Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<circle cx="1000" cy="1000" r="700" fill="#5670D8"/>
|
||||||
|
<path d="M1000 1605C1334.13 1605 1605 1334.13 1605 1000C1605 665.868 1334.13 395 1000 395C665.868 395 395 665.868 395 1000C395 1334.13 665.868 1605 1000 1605Z" fill="#627EEA" stroke="#A2B6FB" stroke-width="10"/>
|
||||||
|
<path d="M1018.7 549.918V882.559L1299.84 1008.2L1018.7 549.918Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 549.918L737.562 1008.2L1018.7 882.559V549.918Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1223.73V1449.75L1300 1060.52L1018.7 1223.73Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 1449.75V1223.73L737.562 1060.52L1018.7 1449.75Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1171.41L1299.84 1008.2L1018.7 882.559V1171.41Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M737.562 1008.2L1018.7 1171.41V882.559L737.562 1008.2Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<g style="mix-blend-mode:multiply" opacity="0.3">
|
||||||
|
<path d="M1569 1414C1463 1622 1182 1700 1005 1700C504.5 1707.5 108.001 1160 397 646C415.999 672 500.002 1204 821.001 1386C1192 1582 1569 1414 1569 1414Z" fill="#3C4F9A"/>
|
||||||
|
</g>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<mask id="path-33-inside-1_1048_45" fill="white">
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z"/>
|
||||||
|
</mask>
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z" fill="#454545"/>
|
||||||
|
<path d="M1346.5 1100L1330.25 1074.78L1350.22 1129.77L1346.5 1100ZM1391.5 1088L1388.19 1117.82L1391.5 1088ZM1418.5 1096.5L1448.32 1093.19L1447.41 1085.05L1442.5 1078.5L1418.5 1096.5ZM1420 1110L1409.11 1137.95L1455.29 1155.95L1449.82 1106.69L1420 1110ZM1362.75 1125.22C1364.35 1124.19 1368.78 1121.79 1374.42 1119.94C1380.18 1118.05 1384.99 1117.46 1388.19 1117.82L1394.81 1058.18C1380.01 1056.54 1366.07 1059.53 1355.71 1062.93C1345.22 1066.38 1336.15 1070.98 1330.25 1074.78L1362.75 1125.22ZM1388.19 1117.82C1395.29 1118.61 1399.13 1119.77 1400.61 1120.32C1401.36 1120.61 1401.22 1120.63 1400.48 1120.17C1400.1 1119.94 1399.39 1119.48 1398.49 1118.73C1397.7 1118.08 1396.14 1116.69 1394.5 1114.5L1442.5 1078.5C1438.86 1073.65 1434.48 1070.64 1431.88 1069.05C1428.75 1067.12 1425.33 1065.52 1421.77 1064.18C1414.62 1061.48 1405.71 1059.39 1394.81 1058.18L1388.19 1117.82ZM1388.68 1099.81L1390.18 1113.31L1449.82 1106.69L1448.32 1093.19L1388.68 1099.81ZM1430.89 1082.05C1423.37 1079.12 1413.62 1075.93 1404.56 1073.44C1396.71 1071.29 1385.35 1068.5 1376.5 1068.5V1128.5C1375.61 1128.5 1376.26 1128.43 1379.25 1129.02C1381.81 1129.53 1385.05 1130.31 1388.69 1131.31C1396.04 1133.32 1403.79 1135.88 1409.11 1137.95L1430.89 1082.05ZM1376.5 1068.5C1368.12 1068.5 1349.8 1069.35 1342.78 1070.23L1350.22 1129.77C1353.87 1129.31 1369.5 1128.5 1376.5 1128.5V1068.5Z" fill="white" mask="url(#path-33-inside-1_1048_45)"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<mask id="path-36-inside-2_1048_45" fill="white">
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)"/>
|
||||||
|
</mask>
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)" stroke="white" stroke-width="45" mask="url(#path-36-inside-2_1048_45)"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1391.87 1279.66L1390.85 1275.02L1393.28 1277.68L1391.87 1279.66Z" fill="#7D8BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1441.85 1559.26C1442.43 1559.72 1442.93 1560.21 1443.36 1560.69C1442.65 1560.5 1441.96 1560.32 1441.3 1560.16L1441.85 1559.26M1441.85 1559.26V1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1441.85 1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26C1441.53 1559.01 1441.19 1558.76 1440.82 1558.53L1440.28 1559.93C1440.57 1559.99 1440.86 1560.05 1441.16 1560.13L1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1416.99 1557.18L1418.71 1557.64L1416.99 1557.18C1416.83 1557.8 1416.68 1558.44 1416.54 1559.09C1415.97 1559.53 1415.41 1560.01 1414.87 1560.54C1411.74 1563.62 1410.08 1567.36 1409.33 1570.86C1408.78 1573.46 1408.67 1575.95 1408.93 1578.31C1407.42 1580.76 1406.34 1583.73 1406.05 1587.25C1405.84 1589.82 1406 1592.21 1406.44 1594.4C1405.55 1596.4 1404.95 1598.71 1404.9 1601.32C1404.8 1606.38 1406.8 1610.48 1408.87 1613.32C1411.76 1617.31 1415.98 1619.38 1417.61 1620.17C1419.99 1621.32 1422.68 1622.32 1425.29 1623.18C1430.57 1624.9 1436.87 1626.43 1442.86 1627.56C1448.74 1628.66 1455.06 1629.5 1460.22 1629.55C1462.55 1629.58 1466.05 1629.48 1469.41 1628.44C1471.04 1627.94 1474.2 1626.76 1476.98 1623.89C1476.98 1623.89 1476.98 1623.88 1476.99 1623.88C1477.44 1623.82 1477.9 1623.75 1478.36 1623.66C1481.19 1623.11 1486.74 1621.25 1490.08 1615.81C1492.27 1614.98 1494.54 1613.67 1496.61 1611.61C1498.01 1610.2 1499.65 1608.26 1501.03 1605.89C1504.37 1604.31 1508.15 1601.39 1510.29 1596.41C1510.3 1596.38 1510.31 1596.35 1510.33 1596.31C1511.05 1594.62 1512.92 1590.27 1512.67 1585.26C1512.51 1582.2 1511.6 1578.83 1509.42 1575.72C1507.32 1572.73 1504.66 1570.84 1502.34 1569.65C1491.85 1564.28 1475.85 1556.63 1462.01 1551.24C1455.22 1548.59 1448.2 1546.19 1442.36 1545.04C1439.63 1544.5 1435.82 1543.95 1431.97 1544.47C1428.35 1544.96 1419.57 1547.4 1416.99 1557.18ZM1451.7 1614.97C1451.64 1614.57 1451.59 1614.18 1451.56 1613.79C1453.02 1613.99 1454.43 1614.16 1455.76 1614.29C1455.79 1614.29 1455.81 1614.29 1455.84 1614.3L1454.43 1619.14C1453.94 1618.81 1453.42 1618.35 1452.93 1617.72C1452.26 1616.83 1451.85 1615.84 1451.7 1614.97ZM1490.49 1578.08C1490.49 1578.08 1490.46 1578.08 1490.41 1578.08C1490.46 1578.08 1490.49 1578.08 1490.49 1578.08Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1409.5 1173C1402.7 1173.8 1407.67 1179.33 1411 1182C1414.17 1182.67 1421.8 1184.1 1427 1184.5C1433.5 1185 1447.5 1184.5 1447.5 1180C1447.5 1176.8 1418 1172 1409.5 1173Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1376.5 1097.5C1370.34 1097.5 1358.25 1098.03 1350.88 1098.59C1354.64 1096.56 1359.67 1094.26 1365.37 1092.39C1373.36 1089.77 1382.58 1088.02 1391.39 1088.99C1400.33 1089.99 1406.62 1091.6 1410.83 1093.19C1412.94 1093.98 1414.53 1094.77 1415.66 1095.46C1416.62 1096.05 1417.21 1096.55 1417.54 1096.91L1418.82 1108.48C1412.55 1106.11 1404.49 1103.49 1396.89 1101.41C1388.69 1099.16 1380.9 1097.5 1376.5 1097.5Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<rect x="1343.94" y="1098.11" width="77.4768" height="43" rx="14" transform="rotate(6.45837 1343.94 1098.11)" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1380.48 1293.04L1379.91 1290.47L1375.48 1270.29L1373.52 1270.71L1378.44 1293.09L1363.6 1319.51L1364.99 1261.41L1381.49 1243.97L1411.22 1276.58L1384.99 1313.58L1380.48 1293.04Z" fill="#7D8BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1489.83 1594.41C1489.79 1594.29 1489.74 1594.18 1489.68 1594.08C1490.09 1594.09 1490.49 1594.09 1490.88 1594.08C1492.29 1594.03 1493.64 1593.83 1494.77 1593.36C1495.93 1592.88 1496.9 1592.1 1497.42 1590.89C1498.17 1589.15 1498.76 1587.47 1498.69 1585.96C1498.65 1585.18 1498.42 1584.43 1497.95 1583.75C1497.48 1583.09 1496.81 1582.55 1495.95 1582.11C1485.69 1576.85 1470.16 1569.44 1456.92 1564.28C1450.32 1561.71 1444.24 1559.68 1439.65 1558.77C1437.37 1558.32 1435.38 1558.13 1433.85 1558.34C1432.33 1558.55 1430.94 1559.21 1430.53 1560.75C1429.52 1564.59 1429.59 1567.35 1430.22 1569.24C1429.3 1569.07 1428.34 1569.01 1427.42 1569.17C1426.43 1569.34 1425.47 1569.76 1424.68 1570.54C1423.89 1571.31 1423.32 1572.39 1423.02 1573.79C1422.35 1576.91 1423.24 1579.31 1424.66 1580.99C1425.08 1581.49 1425.54 1581.93 1426.02 1582.3C1425.34 1582.46 1424.65 1582.68 1423.98 1582.98C1422.01 1583.88 1420.24 1585.56 1420 1588.42C1419.67 1592.36 1421.37 1595.32 1422.96 1597.04C1421.92 1597.43 1420.85 1598.02 1420.07 1598.85C1419.4 1599.56 1418.92 1600.48 1418.9 1601.6C1418.88 1602.71 1419.31 1603.87 1420.19 1605.09C1420.85 1606 1422.16 1606.82 1423.71 1607.57C1425.31 1608.34 1427.34 1609.12 1429.63 1609.86C1434.21 1611.36 1439.91 1612.76 1445.44 1613.8C1450.97 1614.83 1456.37 1615.51 1460.36 1615.55C1462.34 1615.57 1464.06 1615.44 1465.29 1615.06C1465.9 1614.87 1466.49 1614.59 1466.92 1614.15C1467.39 1613.67 1467.6 1613.04 1467.49 1612.34C1467.24 1610.89 1466.75 1609.67 1466.11 1608.67C1467.93 1609.19 1469.8 1609.64 1471.49 1609.88C1473.01 1610.09 1474.48 1610.15 1475.67 1609.92C1476.86 1609.69 1478.02 1609.1 1478.45 1607.82C1479.16 1605.67 1479.27 1603.9 1479.08 1602.59C1479.88 1602.8 1480.77 1602.98 1481.66 1603.06C1483.36 1603.21 1485.38 1603.04 1486.71 1601.71C1488.03 1600.39 1489.27 1598.63 1489.77 1596.98C1490.02 1596.15 1490.12 1595.24 1489.83 1594.41Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545"/>
|
||||||
|
<path d="M1631.79 1492.83L1625.62 1517.38L1640.42 1530.96L1631.79 1492.83Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1631.79 1492.83L1606.16 1522.35L1625.62 1517.38L1631.79 1492.83Z" fill="white"/>
|
||||||
|
<path d="M1619.29 1542.56L1615.1 1559.24L1639.46 1534.82L1619.29 1542.56Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1615.1 1559.25L1619.29 1542.56L1605.19 1526.21L1615.1 1559.25Z" fill="white"/>
|
||||||
|
<path d="M1620.26 1538.7L1640.42 1530.96L1625.62 1517.38L1620.26 1538.7Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1606.16 1522.35L1620.26 1538.7L1625.62 1517.38L1606.16 1522.35Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1577.06 365.61C1575.01 363.706 1573.92 361.351 1573.79 358.546C1573.66 355.74 1574.57 353.309 1576.52 351.253C1578.38 349.2 1580.71 348.131 1583.52 348.046C1586.33 347.961 1588.76 348.871 1590.81 350.776C1592.8 352.617 1593.86 354.941 1593.99 357.746C1594.14 360.573 1593.28 363.012 1591.42 365.065C1590.12 366.422 1588.6 367.34 1586.85 367.82C1585.13 368.321 1583.39 368.388 1581.63 368.019C1579.92 367.648 1578.39 366.845 1577.06 365.61Z" fill="white"/>
|
||||||
|
<path d="M1614.26 400.09C1612.21 398.185 1611.12 395.83 1610.99 393.025C1610.86 390.22 1611.77 387.789 1613.72 385.732C1615.58 383.679 1617.91 382.61 1620.72 382.526C1623.53 382.441 1625.96 383.351 1628.01 385.255C1630 387.097 1631.06 389.42 1631.18 392.226C1631.34 395.052 1630.48 397.492 1628.62 399.545C1627.32 400.901 1625.8 401.82 1624.05 402.3C1622.33 402.801 1620.59 402.867 1618.83 402.498C1617.12 402.127 1615.59 401.325 1614.26 400.09Z" fill="white"/>
|
||||||
|
<path d="M1651.46 434.569C1649.41 432.665 1648.32 430.31 1648.19 427.504C1648.06 424.699 1648.97 422.268 1650.92 420.212C1652.78 418.159 1655.11 417.09 1657.92 417.005C1660.73 416.92 1663.16 417.83 1665.21 419.735C1667.2 421.576 1668.26 423.9 1668.38 426.705C1668.53 429.531 1667.68 431.971 1665.82 434.024C1664.52 435.381 1663 436.299 1661.25 436.779C1659.53 437.28 1657.79 437.346 1656.03 436.977C1654.32 436.607 1652.79 435.804 1651.46 434.569Z" fill="white"/>
|
||||||
|
<path d="M1688.66 469.049C1686.61 467.144 1685.51 464.789 1685.39 461.984C1685.26 459.178 1686.17 456.747 1688.12 454.691C1689.98 452.638 1692.31 451.569 1695.12 451.484C1697.92 451.4 1700.36 452.309 1702.41 454.214C1704.4 456.056 1705.46 458.379 1705.58 461.184C1705.73 464.011 1704.88 466.451 1703.02 468.504C1701.72 469.86 1700.2 470.778 1698.45 471.258C1696.73 471.76 1694.99 471.826 1693.23 471.457C1691.52 471.086 1689.99 470.283 1688.66 469.049Z" fill="white"/>
|
||||||
|
<path d="M1725.86 503.528C1723.81 501.623 1722.71 499.269 1722.59 496.463C1722.46 493.658 1723.37 491.227 1725.32 489.17C1727.18 487.117 1729.51 486.048 1732.32 485.964C1735.12 485.879 1737.56 486.789 1739.61 488.693C1741.6 490.535 1742.65 492.858 1742.78 495.664C1742.93 498.49 1742.08 500.93 1740.22 502.983C1738.92 504.339 1737.4 505.258 1735.65 505.738C1733.93 506.239 1732.19 506.305 1730.43 505.936C1728.71 505.565 1727.19 504.763 1725.86 503.528Z" fill="white"/>
|
||||||
|
<path d="M1763.06 538.007C1761 536.103 1759.91 533.748 1759.79 530.943C1759.66 528.137 1760.57 525.706 1762.51 523.65C1764.38 521.597 1766.71 520.528 1769.52 520.443C1772.32 520.358 1774.75 521.268 1776.81 523.173C1778.8 525.014 1779.85 527.338 1779.98 530.143C1780.13 532.97 1779.28 535.409 1777.42 537.462C1776.12 538.819 1774.59 539.737 1772.85 540.217C1771.12 540.718 1769.38 540.784 1767.63 540.415C1765.91 540.045 1764.39 539.242 1763.06 538.007Z" fill="white"/>
|
||||||
|
<path d="M1800.26 572.487C1798.2 570.582 1797.11 568.227 1796.98 565.422C1796.86 562.617 1797.77 560.186 1799.71 558.129C1801.58 556.076 1803.91 555.007 1806.72 554.922C1809.52 554.838 1811.95 555.748 1814.01 557.652C1816 559.494 1817.05 561.817 1817.18 564.623C1817.33 567.449 1816.48 569.889 1814.62 571.942C1813.32 573.298 1811.79 574.216 1810.05 574.697C1808.32 575.198 1806.58 575.264 1804.83 574.895C1803.11 574.524 1801.59 573.721 1800.26 572.487Z" fill="white"/>
|
||||||
|
<path d="M1546.12 398.992C1544.07 397.087 1542.98 394.732 1542.85 391.927C1542.72 389.122 1543.63 386.691 1545.58 384.634C1547.44 382.581 1549.77 381.512 1552.58 381.428C1555.39 381.343 1557.82 382.253 1559.87 384.157C1561.86 385.999 1562.92 388.322 1563.04 391.128C1563.2 393.954 1562.34 396.394 1560.48 398.447C1559.18 399.803 1557.66 400.722 1555.91 401.202C1554.19 401.703 1552.45 401.769 1550.69 401.4C1548.98 401.029 1547.45 400.226 1546.12 398.992Z" fill="white"/>
|
||||||
|
<path d="M1583.32 433.471C1581.27 431.567 1580.18 429.212 1580.05 426.406C1579.92 423.601 1580.83 421.17 1582.78 419.114C1584.64 417.061 1586.97 415.992 1589.78 415.907C1592.59 415.822 1595.02 416.732 1597.07 418.636C1599.06 420.478 1600.12 422.802 1600.24 425.607C1600.39 428.433 1599.54 430.873 1597.68 432.926C1596.38 434.283 1594.86 435.201 1593.11 435.681C1591.39 436.182 1589.65 436.248 1587.89 435.879C1586.18 435.509 1584.65 434.706 1583.32 433.471Z" fill="white"/>
|
||||||
|
<path d="M1620.52 467.951C1618.47 466.046 1617.37 463.691 1617.25 460.886C1617.12 458.08 1618.03 455.649 1619.98 453.593C1621.84 451.54 1624.17 450.471 1626.98 450.386C1629.79 450.302 1632.22 451.211 1634.27 453.116C1636.26 454.958 1637.32 457.281 1637.44 460.086C1637.59 462.913 1636.74 465.352 1634.88 467.406C1633.58 468.762 1632.06 469.68 1630.31 470.16C1628.59 470.662 1626.85 470.728 1625.09 470.359C1623.38 469.988 1621.85 469.185 1620.52 467.951Z" fill="white"/>
|
||||||
|
<path d="M1657.72 502.43C1655.67 500.525 1654.57 498.171 1654.45 495.365C1654.32 492.56 1655.23 490.129 1657.18 488.072C1659.04 486.019 1661.37 484.95 1664.18 484.866C1666.98 484.781 1669.42 485.691 1671.47 487.595C1673.46 489.437 1674.51 491.76 1674.64 494.566C1674.79 497.392 1673.94 499.832 1672.08 501.885C1670.78 503.241 1669.26 504.16 1667.51 504.64C1665.79 505.141 1664.05 505.207 1662.29 504.838C1660.58 504.467 1659.05 503.665 1657.72 502.43Z" fill="white"/>
|
||||||
|
<path d="M1694.92 536.909C1692.87 535.005 1691.77 532.65 1691.65 529.844C1691.52 527.039 1692.43 524.608 1694.37 522.552C1696.24 520.499 1698.57 519.43 1701.38 519.345C1704.18 519.26 1706.61 520.17 1708.67 522.075C1710.66 523.916 1711.71 526.24 1711.84 529.045C1711.99 531.872 1711.14 534.311 1709.28 536.364C1707.98 537.721 1706.46 538.639 1704.71 539.119C1702.98 539.62 1701.24 539.686 1699.49 539.317C1697.77 538.947 1696.25 538.144 1694.92 536.909Z" fill="white"/>
|
||||||
|
<path d="M1732.12 571.389C1730.06 569.484 1728.97 567.129 1728.84 564.324C1728.72 561.518 1729.63 559.088 1731.57 557.031C1733.44 554.978 1735.77 553.909 1738.58 553.824C1741.38 553.74 1743.81 554.65 1745.87 556.554C1747.86 558.396 1748.91 560.719 1749.04 563.525C1749.19 566.351 1748.34 568.791 1746.48 570.844C1745.18 572.2 1743.65 573.118 1741.91 573.599C1740.18 574.1 1738.44 574.166 1736.69 573.797C1734.97 573.426 1733.45 572.623 1732.12 571.389Z" fill="white"/>
|
||||||
|
<path d="M1769.32 605.868C1767.26 603.964 1766.17 601.609 1766.04 598.803C1765.92 595.998 1766.83 593.567 1768.77 591.511C1770.63 589.458 1772.97 588.389 1775.78 588.304C1778.58 588.219 1781.01 589.129 1783.07 591.033C1785.06 592.875 1786.11 595.199 1786.24 598.004C1786.39 600.83 1785.54 603.27 1783.68 605.323C1782.38 606.679 1780.85 607.598 1779.11 608.078C1777.38 608.579 1775.64 608.645 1773.89 608.276C1772.17 607.906 1770.65 607.103 1769.32 605.868Z" fill="white"/>
|
||||||
|
<path d="M1515.18 432.373C1513.13 430.469 1512.04 428.114 1511.91 425.308C1511.78 422.503 1512.69 420.072 1514.64 418.016C1516.5 415.963 1518.83 414.894 1521.64 414.809C1524.45 414.724 1526.88 415.634 1528.93 417.538C1530.92 419.38 1531.98 421.704 1532.1 424.509C1532.26 427.335 1531.4 429.775 1529.54 431.828C1528.24 433.185 1526.72 434.103 1524.97 434.583C1523.25 435.084 1521.51 435.15 1519.75 434.781C1518.04 434.411 1516.51 433.608 1515.18 432.373Z" fill="white"/>
|
||||||
|
<path d="M1552.38 466.852C1550.33 464.948 1549.24 462.593 1549.11 459.788C1548.98 456.982 1549.89 454.551 1551.84 452.495C1553.7 450.442 1556.03 449.373 1558.84 449.288C1561.65 449.204 1564.08 450.113 1566.13 452.018C1568.12 453.859 1569.18 456.183 1569.3 458.988C1569.45 461.815 1568.6 464.254 1566.74 466.308C1565.44 467.664 1563.92 468.582 1562.17 469.062C1560.45 469.564 1558.71 469.63 1556.95 469.261C1555.24 468.89 1553.71 468.087 1552.38 466.852Z" fill="white"/>
|
||||||
|
<path d="M1589.58 501.332C1587.53 499.427 1586.43 497.072 1586.31 494.267C1586.18 491.462 1587.09 489.031 1589.04 486.974C1590.9 484.921 1593.23 483.852 1596.04 483.768C1598.84 483.683 1601.28 484.593 1603.33 486.497C1605.32 488.339 1606.37 490.662 1606.5 493.468C1606.65 496.294 1605.8 498.734 1603.94 500.787C1602.64 502.143 1601.12 503.062 1599.37 503.542C1597.65 504.043 1595.91 504.109 1594.15 503.74C1592.44 503.369 1590.91 502.567 1589.58 501.332Z" fill="white"/>
|
||||||
|
<path d="M1626.78 535.811C1624.73 533.907 1623.63 531.552 1623.51 528.746C1623.38 525.941 1624.29 523.51 1626.24 521.454C1628.1 519.401 1630.43 518.332 1633.24 518.247C1636.04 518.162 1638.48 519.072 1640.53 520.977C1642.52 522.818 1643.57 525.142 1643.7 527.947C1643.85 530.774 1643 533.213 1641.14 535.266C1639.84 536.623 1638.32 537.541 1636.57 538.021C1634.85 538.522 1633.1 538.588 1631.35 538.219C1629.63 537.849 1628.11 537.046 1626.78 535.811Z" fill="white"/>
|
||||||
|
<path d="M1663.98 570.291C1661.92 568.386 1660.83 566.031 1660.71 563.226C1660.58 560.42 1661.49 557.99 1663.43 555.933C1665.3 553.88 1667.63 552.811 1670.44 552.726C1673.24 552.642 1675.67 553.552 1677.73 555.456C1679.72 557.298 1680.77 559.621 1680.9 562.427C1681.05 565.253 1680.2 567.693 1678.34 569.746C1677.04 571.102 1675.51 572.02 1673.77 572.501C1672.04 573.002 1670.3 573.068 1668.55 572.699C1666.83 572.328 1665.31 571.525 1663.98 570.291Z" fill="white"/>
|
||||||
|
<path d="M1701.18 604.77C1699.12 602.866 1698.03 600.511 1697.9 597.705C1697.78 594.9 1698.69 592.469 1700.63 590.413C1702.5 588.359 1704.83 587.291 1707.64 587.206C1710.44 587.121 1712.87 588.031 1714.93 589.935C1716.92 591.777 1717.97 594.101 1718.1 596.906C1718.25 599.732 1717.4 602.172 1715.54 604.225C1714.24 605.581 1712.71 606.5 1710.97 606.98C1709.24 607.481 1707.5 607.547 1705.75 607.178C1704.03 606.807 1702.51 606.005 1701.18 604.77Z" fill="white"/>
|
||||||
|
<path d="M1738.38 639.249C1736.32 637.345 1735.23 634.99 1735.1 632.185C1734.98 629.379 1735.89 626.948 1737.83 624.892C1739.69 622.839 1742.03 621.77 1744.84 621.685C1747.64 621.6 1750.07 622.51 1752.13 624.415C1754.12 626.256 1755.17 628.58 1755.3 631.385C1755.45 634.212 1754.6 636.651 1752.74 638.704C1751.44 640.061 1749.91 640.979 1748.17 641.459C1746.44 641.96 1744.7 642.027 1742.95 641.658C1741.23 641.287 1739.71 640.484 1738.38 639.249Z" fill="white"/>
|
||||||
|
<path d="M1484.24 465.754C1482.19 463.85 1481.1 461.495 1480.97 458.69C1480.84 455.884 1481.75 453.453 1483.7 451.397C1485.56 449.344 1487.89 448.275 1490.7 448.19C1493.51 448.106 1495.94 449.015 1497.99 450.92C1499.98 452.761 1501.04 455.085 1501.16 457.89C1501.31 460.717 1500.46 463.156 1498.6 465.209C1497.3 466.566 1495.78 467.484 1494.03 467.964C1492.31 468.466 1490.57 468.532 1488.81 468.163C1487.1 467.792 1485.57 466.989 1484.24 465.754Z" fill="white"/>
|
||||||
|
<path d="M1521.44 500.234C1519.39 498.329 1518.29 495.974 1518.17 493.169C1518.04 490.364 1518.95 487.933 1520.9 485.876C1522.76 483.823 1525.09 482.754 1527.9 482.67C1530.71 482.585 1533.14 483.495 1535.19 485.399C1537.18 487.241 1538.24 489.564 1538.36 492.37C1538.51 495.196 1537.66 497.636 1535.8 499.689C1534.5 501.045 1532.98 501.964 1531.23 502.444C1529.51 502.945 1527.77 503.011 1526.01 502.642C1524.3 502.271 1522.77 501.469 1521.44 500.234Z" fill="white"/>
|
||||||
|
<path d="M1558.64 534.713C1556.59 532.809 1555.49 530.454 1555.37 527.648C1555.24 524.843 1556.15 522.412 1558.1 520.356C1559.96 518.303 1562.29 517.234 1565.1 517.149C1567.9 517.064 1570.34 517.974 1572.39 519.879C1574.38 521.72 1575.43 524.044 1575.56 526.849C1575.71 529.675 1574.86 532.115 1573 534.168C1571.7 535.525 1570.18 536.443 1568.43 536.923C1566.71 537.424 1564.97 537.49 1563.21 537.121C1561.5 536.751 1559.97 535.948 1558.64 534.713Z" fill="white"/>
|
||||||
|
<path d="M1595.84 569.193C1593.78 567.288 1592.69 564.933 1592.57 562.128C1592.44 559.322 1593.35 556.892 1595.29 554.835C1597.16 552.782 1599.49 551.713 1602.3 551.628C1605.1 551.544 1607.53 552.453 1609.59 554.358C1611.58 556.2 1612.63 558.523 1612.76 561.329C1612.91 564.155 1612.06 566.595 1610.2 568.648C1608.9 570.004 1607.38 570.922 1605.63 571.403C1603.9 571.904 1602.16 571.97 1600.41 571.601C1598.69 571.23 1597.17 570.427 1595.84 569.193Z" fill="white"/>
|
||||||
|
<path d="M1633.04 603.672C1630.98 601.768 1629.89 599.413 1629.76 596.607C1629.64 593.802 1630.55 591.371 1632.49 589.315C1634.36 587.261 1636.69 586.193 1639.5 586.108C1642.3 586.023 1644.73 586.933 1646.79 588.837C1648.78 590.679 1649.83 593.003 1649.96 595.808C1650.11 598.634 1649.26 601.074 1647.4 603.127C1646.1 604.483 1644.57 605.402 1642.83 605.882C1641.1 606.383 1639.36 606.449 1637.61 606.08C1635.89 605.709 1634.37 604.907 1633.04 603.672Z" fill="white"/>
|
||||||
|
<path d="M1670.24 638.151C1668.18 636.247 1667.09 633.892 1666.96 631.087C1666.84 628.281 1667.75 625.85 1669.69 623.794C1671.55 621.741 1673.89 620.672 1676.7 620.587C1679.5 620.502 1681.93 621.412 1683.99 623.317C1685.98 625.158 1687.03 627.482 1687.16 630.287C1687.31 633.114 1686.46 635.553 1684.6 637.606C1683.3 638.963 1681.77 639.881 1680.03 640.361C1678.3 640.862 1676.56 640.929 1674.81 640.559C1673.09 640.189 1671.57 639.386 1670.24 638.151Z" fill="white"/>
|
||||||
|
<path d="M1707.44 672.631C1705.38 670.726 1704.29 668.371 1704.16 665.566C1704.04 662.761 1704.95 660.33 1706.89 658.273C1708.75 656.22 1711.09 655.151 1713.9 655.067C1716.7 654.982 1719.13 655.892 1721.19 657.796C1723.17 659.638 1724.23 661.961 1724.36 664.767C1724.51 667.593 1723.66 670.033 1721.8 672.086C1720.5 673.442 1718.97 674.36 1717.23 674.841C1715.5 675.342 1713.76 675.408 1712.01 675.039C1710.29 674.668 1708.77 673.865 1707.44 672.631Z" fill="white"/>
|
||||||
|
<path d="M1453.3 499.136C1451.25 497.231 1450.15 494.876 1450.03 492.071C1449.9 489.266 1450.81 486.835 1452.76 484.778C1454.62 482.725 1456.95 481.656 1459.76 481.572C1462.57 481.487 1465 482.397 1467.05 484.301C1469.04 486.143 1470.1 488.466 1470.22 491.272C1470.37 494.098 1469.52 496.538 1467.66 498.591C1466.36 499.947 1464.84 500.866 1463.09 501.346C1461.37 501.847 1459.63 501.913 1457.87 501.544C1456.16 501.173 1454.63 500.371 1453.3 499.136Z" fill="white"/>
|
||||||
|
<path d="M1490.5 533.615C1488.45 531.711 1487.35 529.356 1487.23 526.55C1487.1 523.745 1488.01 521.314 1489.96 519.258C1491.82 517.205 1494.15 516.136 1496.96 516.051C1499.76 515.966 1502.2 516.876 1504.25 518.781C1506.24 520.622 1507.29 522.946 1507.42 525.751C1507.57 528.577 1506.72 531.017 1504.86 533.07C1503.56 534.427 1502.04 535.345 1500.29 535.825C1498.57 536.326 1496.83 536.392 1495.07 536.023C1493.36 535.653 1491.83 534.85 1490.5 533.615Z" fill="white"/>
|
||||||
|
<path d="M1527.7 568.095C1525.65 566.19 1524.55 563.835 1524.43 561.03C1524.3 558.224 1525.21 555.794 1527.16 553.737C1529.02 551.684 1531.35 550.615 1534.16 550.53C1536.96 550.446 1539.4 551.355 1541.45 553.26C1543.44 555.102 1544.49 557.425 1544.62 560.231C1544.77 563.057 1543.92 565.497 1542.06 567.55C1540.76 568.906 1539.24 569.824 1537.49 570.305C1535.77 570.806 1534.02 570.872 1532.27 570.503C1530.55 570.132 1529.03 569.329 1527.7 568.095Z" fill="white"/>
|
||||||
|
<path d="M1564.9 602.574C1562.84 600.669 1561.75 598.315 1561.62 595.509C1561.5 592.704 1562.41 590.273 1564.35 588.217C1566.22 586.163 1568.55 585.095 1571.36 585.01C1574.16 584.925 1576.59 585.835 1578.65 587.739C1580.64 589.581 1581.69 591.904 1581.82 594.71C1581.97 597.536 1581.12 599.976 1579.26 602.029C1577.96 603.385 1576.43 604.304 1574.69 604.784C1572.96 605.285 1571.22 605.351 1569.47 604.982C1567.75 604.611 1566.23 603.809 1564.9 602.574Z" fill="white"/>
|
||||||
|
<path d="M1602.1 637.053C1600.04 635.149 1598.95 632.794 1598.82 629.989C1598.7 627.183 1599.61 624.752 1601.55 622.696C1603.41 620.643 1605.75 619.574 1608.56 619.489C1611.36 619.404 1613.79 620.314 1615.85 622.219C1617.84 624.06 1618.89 626.384 1619.02 629.189C1619.17 632.016 1618.32 634.455 1616.46 636.508C1615.16 637.865 1613.63 638.783 1611.89 639.263C1610.16 639.764 1608.42 639.83 1606.67 639.461C1604.95 639.091 1603.43 638.288 1602.1 637.053Z" fill="white"/>
|
||||||
|
<path d="M1639.3 671.533C1637.24 669.628 1636.15 667.273 1636.02 664.468C1635.9 661.663 1636.81 659.232 1638.75 657.175C1640.61 655.122 1642.95 654.053 1645.76 653.969C1648.56 653.884 1650.99 654.794 1653.05 656.698C1655.03 658.54 1656.09 660.863 1656.22 663.669C1656.37 666.495 1655.52 668.935 1653.66 670.988C1652.36 672.344 1650.83 673.262 1649.09 673.743C1647.36 674.244 1645.62 674.31 1643.87 673.941C1642.15 673.57 1640.63 672.767 1639.3 671.533Z" fill="white"/>
|
||||||
|
<path d="M1676.5 706.012C1674.44 704.108 1673.35 701.753 1673.22 698.947C1673.09 696.142 1674 693.711 1675.95 691.655C1677.81 689.602 1680.15 688.533 1682.95 688.448C1685.76 688.363 1688.19 689.273 1690.25 691.177C1692.23 693.019 1693.29 695.343 1693.42 698.148C1693.57 700.974 1692.72 703.414 1690.85 705.467C1689.56 706.824 1688.03 707.742 1686.29 708.222C1684.56 708.723 1682.82 708.789 1681.07 708.42C1679.35 708.05 1677.83 707.247 1676.5 706.012Z" fill="white"/>
|
||||||
|
<path d="M1422.36 532.517C1420.31 530.613 1419.21 528.258 1419.09 525.452C1418.96 522.647 1419.87 520.216 1421.82 518.16C1423.68 516.107 1426.01 515.038 1428.82 514.953C1431.63 514.868 1434.06 515.778 1436.11 517.683C1438.1 519.524 1439.16 521.848 1439.28 524.653C1439.43 527.479 1438.58 529.919 1436.72 531.972C1435.42 533.329 1433.9 534.247 1432.15 534.727C1430.43 535.228 1428.69 535.294 1426.93 534.925C1425.22 534.555 1423.69 533.752 1422.36 532.517Z" fill="white"/>
|
||||||
|
<path d="M1459.56 566.997C1457.51 565.092 1456.41 562.737 1456.29 559.932C1456.16 557.126 1457.07 554.695 1459.02 552.639C1460.88 550.586 1463.21 549.517 1466.02 549.432C1468.82 549.348 1471.26 550.257 1473.31 552.162C1475.3 554.004 1476.35 556.327 1476.48 559.132C1476.63 561.959 1475.78 564.399 1473.92 566.452C1472.62 567.808 1471.1 568.726 1469.35 569.207C1467.63 569.708 1465.89 569.774 1464.13 569.405C1462.42 569.034 1460.89 568.231 1459.56 566.997Z" fill="white"/>
|
||||||
|
<path d="M1496.76 601.476C1494.7 599.571 1493.61 597.217 1493.49 594.411C1493.36 591.606 1494.27 589.175 1496.21 587.118C1498.08 585.065 1500.41 583.997 1503.22 583.912C1506.02 583.827 1508.45 584.737 1510.51 586.641C1512.5 588.483 1513.55 590.806 1513.68 593.612C1513.83 596.438 1512.98 598.878 1511.12 600.931C1509.82 602.287 1508.29 603.206 1506.55 603.686C1504.82 604.187 1503.08 604.253 1501.33 603.884C1499.61 603.513 1498.09 602.711 1496.76 601.476Z" fill="white"/>
|
||||||
|
<path d="M1533.96 635.955C1531.9 634.051 1530.81 631.696 1530.68 628.891C1530.56 626.085 1531.47 623.654 1533.41 621.598C1535.28 619.545 1537.61 618.476 1540.42 618.391C1543.22 618.306 1545.65 619.216 1547.71 621.121C1549.7 622.962 1550.75 625.286 1550.88 628.091C1551.03 630.918 1550.18 633.357 1548.32 635.41C1547.02 636.767 1545.49 637.685 1543.75 638.165C1542.02 638.666 1540.28 638.732 1538.53 638.363C1536.81 637.993 1535.29 637.19 1533.96 635.955Z" fill="white"/>
|
||||||
|
<path d="M1571.16 670.435C1569.1 668.53 1568.01 666.175 1567.88 663.37C1567.76 660.565 1568.67 658.134 1570.61 656.077C1572.47 654.024 1574.81 652.955 1577.62 652.87C1580.42 652.786 1582.85 653.696 1584.91 655.6C1586.9 657.442 1587.95 659.765 1588.08 662.571C1588.23 665.397 1587.38 667.837 1585.52 669.89C1584.22 671.246 1582.69 672.164 1580.95 672.645C1579.22 673.146 1577.48 673.212 1575.73 672.843C1574.01 672.472 1572.49 671.669 1571.16 670.435Z" fill="white"/>
|
||||||
|
<path d="M1608.36 704.914C1606.3 703.01 1605.21 700.655 1605.08 697.849C1604.96 695.044 1605.87 692.613 1607.81 690.557C1609.67 688.504 1612.01 687.435 1614.82 687.35C1617.62 687.265 1620.05 688.175 1622.11 690.079C1624.09 691.921 1625.15 694.245 1625.28 697.05C1625.43 699.876 1624.58 702.316 1622.72 704.369C1621.42 705.726 1619.89 706.644 1618.15 707.124C1616.42 707.625 1614.68 707.691 1612.93 707.322C1611.21 706.952 1609.69 706.149 1608.36 704.914Z" fill="white"/>
|
||||||
|
<path d="M1645.56 739.393C1643.5 737.489 1642.41 735.134 1642.28 732.329C1642.15 729.523 1643.06 727.092 1645.01 725.036C1646.87 722.983 1649.21 721.914 1652.01 721.829C1654.82 721.744 1657.25 722.654 1659.31 724.559C1661.29 726.4 1662.35 728.724 1662.48 731.529C1662.63 734.356 1661.78 736.795 1659.91 738.848C1658.62 740.205 1657.09 741.123 1655.35 741.603C1653.62 742.105 1651.88 742.171 1650.13 741.802C1648.41 741.431 1646.89 740.628 1645.56 739.393Z" fill="white"/>
|
||||||
|
<path d="M1319.35 282.231L1382.54 367.303L1478.66 345.769L1319.35 282.231Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1600 142L1511 288L1600 247.973V142Z" fill="white"/>
|
||||||
|
<path d="M936 156L847 302L936 261.973V156Z" fill="white"/>
|
||||||
|
<path d="M292 717L203 863L292 822.973V717Z" fill="white"/>
|
||||||
|
<path d="M1705 1291.99V1364L1795 1240L1705 1291.99Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1319 377V325.318L1256 288L1319 377Z" fill="white"/>
|
||||||
|
<path d="M999 201V149.318L936 112L999 201Z" fill="white"/>
|
||||||
|
<path d="M1655.88 1417.42L1691.03 1386.16L1678.52 1321L1655.88 1417.42Z" fill="white"/>
|
||||||
|
<path d="M1389 275L1479 223.018L1389 183V275Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1738.95 1236.69L1830.16 1188.69L1752.11 1140L1738.95 1236.69Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M419 186L447 478L619 156L419 186Z" fill="#7799F1"/>
|
||||||
|
<path d="M397.721 371L316.72 581.829L437.186 528.97L397.721 371Z" fill="#4963BE"/>
|
||||||
|
<path d="M503.904 458L631.091 574L579.905 370L503.904 458Z" fill="white"/>
|
||||||
|
<path d="M1722.7 1407.92L1719.13 1448.15L1667.8 1472.88L1722.7 1407.92Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1048_45">
|
||||||
|
<rect width="2000" height="2000" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 55 KiB |
174
assets/svg/themed/oledBlack/ethereum.svg
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
<svg width="2000" height="2000" viewBox="0 0 2000 2000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_1048_45)">
|
||||||
|
<path d="M85.1779 1368.47C57.1779 1608.47 537.178 1652.47 589.178 1660.47H1441.18C1533.18 1660.47 1761.18 1560.47 1845.18 1432.47C1929.18 1304.47 1809.18 1092.47 1761.18 984.475C1713.18 876.474 1934.56 800.211 1873.18 512.475C1809.18 212.475 1529.18 152.475 1301.18 212.475C1150.27 252.189 1249.18 120.475 905.18 84.4745C561.18 48.4745 493.18 416.475 337.18 460.475C181.18 504.475 85.1779 760.475 177.18 984.475C269.182 1208.47 113.178 1128.47 85.1779 1368.47Z" fill="#BECDF9"/>
|
||||||
|
<ellipse cx="1022" cy="1680.5" rx="687" ry="52.5" fill="#2E3E79"/>
|
||||||
|
<path d="M1049.83 863.456L1049.81 863.385L1049.78 863.314C1046.97 854.72 1044.73 846.664 1043.01 839.098L1038.13 840.205C1033.69 820.63 1032.61 804.099 1034.03 789.869L1039 790.364C1040.83 771.98 1047 757.717 1055.45 745.676L1051.36 742.802C1061.27 728.691 1074.15 717.536 1086.98 706.788L1090.19 710.621C1091.14 709.824 1092.09 709.028 1093.05 708.229C1105.36 697.941 1117.97 687.408 1127.5 674.629L1123.5 671.64C1132.94 658.972 1139.2 644.055 1139.24 624.337L1144.24 624.348C1144.28 609.808 1141.1 593.053 1133.86 573.267L1129.17 574.986C1124.15 561.291 1117.11 545.984 1107.66 528.758L1112.04 526.354C1108.16 519.271 1103.87 511.877 1099.17 504.15C1094.83 497.012 1091.03 489.839 1087.74 482.65L1083.19 484.729C1075.96 468.927 1071.15 453.01 1068.5 437.178L1073.43 436.352C1070.7 420.076 1070.34 403.888 1072.06 388.011L1067.09 387.472C1068.88 370.94 1072.87 354.746 1078.77 339.135L1083.44 340.902C1089.13 325.862 1096.63 311.352 1105.7 297.606L1101.52 294.854C1110.57 281.127 1121.13 268.168 1132.94 256.197L1136.5 259.708C1147.85 248.193 1160.38 237.603 1173.85 228.144L1170.98 224.052C1184.51 214.55 1198.97 206.173 1214.11 199.121L1216.22 203.654C1230.98 196.781 1246.39 191.192 1262.23 187.078L1260.97 182.239C1277 178.074 1293.47 175.389 1310.14 174.375L1310.45 179.365C1326.57 178.384 1342.87 178.997 1359.15 181.378L1359.88 176.431C1376.02 178.793 1392.15 182.859 1408.07 188.798L1406.32 193.482C1421.1 199 1435.71 206.172 1449.96 215.145L1452.63 210.913C1466.15 219.422 1479.35 229.513 1492.09 241.3L1488.7 244.971C1500.16 255.57 1511.26 267.579 1521.9 281.093L1525.83 278.001C1535.61 290.419 1544.99 304.075 1553.89 319.033L1549.59 321.59C1553.73 328.555 1557.78 335.811 1561.71 343.364C1562.42 344.724 1563.06 346.177 1563.62 347.696L1568.31 345.948C1569.54 349.266 1570.44 352.791 1570.98 356.298L1566.04 357.062C1566.29 358.688 1566.46 360.305 1566.54 361.882C1567.04 371.372 1567.64 380.541 1568.34 389.401L1573.33 389.005C1574.85 408.15 1576.85 425.826 1579.29 442.154L1574.35 442.894C1577.29 462.587 1580.87 480.373 1585.03 496.453L1589.87 495.202C1594.88 514.585 1600.72 531.406 1607.25 546.044L1602.68 548.081C1611.12 566.993 1620.74 582.432 1631.3 595.127L1635.14 591.93C1647.7 607.027 1661.53 618.009 1676.15 626.296L1673.68 630.646C1690.17 639.996 1707.53 645.972 1724.97 650.513L1726.23 645.674C1738.52 648.876 1750.97 651.381 1763.32 653.868C1768.54 654.919 1773.74 655.967 1778.91 657.062L1777.87 661.954C1795.64 665.72 1812.69 669.994 1828.53 676.825L1830.51 672.234C1846.5 679.128 1861.39 688.595 1874.51 702.621L1870.85 706.035C1881.26 717.164 1890.58 731.377 1898.4 749.871L1903 747.924C1909.15 762.476 1914.36 779.524 1918.43 799.577L1913.53 800.574C1915.21 808.813 1916.69 817.58 1917.98 826.914C1919.12 835.245 1919.67 843.369 1919.65 851.287L1924.65 851.3C1924.6 868.594 1921.94 884.994 1916.94 900.482L1912.18 898.947C1907.25 914.223 1899.96 928.617 1890.59 942.115L1894.69 944.968C1885.46 958.253 1874.29 970.656 1861.43 982.163L1858.09 978.437C1846.35 988.951 1833.14 998.73 1818.66 1007.75L1821.3 1012C1807.65 1020.51 1792.92 1028.34 1777.28 1035.47L1775.2 1030.92C1760.6 1037.59 1745.19 1043.65 1729.1 1049.1L1730.7 1053.83C1715.26 1059.06 1699.21 1063.73 1682.69 1067.82L1681.49 1062.96C1665.71 1066.87 1649.49 1070.26 1632.93 1073.11L1633.78 1078.04C1617.53 1080.84 1600.97 1083.13 1584.2 1084.9L1583.67 1079.93C1567.31 1081.66 1550.75 1082.9 1534.08 1083.64L1534.3 1088.64C1517.71 1089.38 1501.01 1089.62 1484.31 1089.37L1484.38 1084.37C1467.8 1084.12 1451.21 1083.38 1434.71 1082.15L1434.33 1087.13C1417.64 1085.88 1401.03 1084.12 1384.61 1081.85L1385.29 1076.9C1368.76 1074.62 1352.41 1071.81 1336.36 1068.48L1335.34 1073.38C1318.8 1069.95 1302.56 1065.96 1286.72 1061.41L1288.1 1056.6C1271.95 1051.97 1256.24 1046.74 1241.08 1040.93L1239.29 1045.6C1223.44 1039.52 1208.17 1032.8 1193.62 1025.43L1195.88 1020.97C1180.81 1013.34 1166.55 1005.01 1153.21 995.985L1150.41 1000.13C1136.32 990.587 1123.24 980.265 1111.35 969.152L1114.76 965.498C1102.57 954.105 1091.66 941.887 1082.21 928.838L1078.16 931.77C1068.35 918.23 1060.07 903.791 1053.51 888.441L1058.11 886.476C1054.93 879.023 1052.16 871.35 1049.83 863.456Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<path d="M203.275 733.389L203.327 733.336L203.378 733.281C209.007 727.19 214.504 721.647 219.875 716.612L216.455 712.964C229.7 700.546 242.263 691.095 254.253 684.057L256.784 688.369C271.893 679.5 285.94 674.657 299.181 672.558L298.398 667.62C315.026 664.983 330.606 666.449 345.548 669.924L344.415 674.794C359.055 678.199 373.108 683.594 387.31 689.046L388.797 689.617L390.588 684.949C405.752 690.767 420.67 696.392 435.857 699.199L434.948 704.115C450.757 707.037 467.085 707.062 484.284 701.296L482.695 696.555C495.566 692.24 508.93 684.506 523.041 672.046L526.351 675.794C536.846 666.527 547.66 654.793 558.901 640.141L554.933 637.098C563.547 625.87 572.456 612.851 581.704 597.809L585.964 600.428C589.996 593.869 594.089 586.935 598.247 579.607C602.555 572.014 607.137 564.844 611.97 558.086L607.902 555.178C618.388 540.512 630.047 527.716 642.644 516.702L645.935 520.466C658.945 509.091 672.977 499.664 687.768 492.076L685.486 487.627C700.963 479.688 717.248 473.719 734.048 469.605L735.237 474.461C751.592 470.457 768.465 468.245 785.577 467.726L785.425 462.728C802.557 462.208 819.901 463.354 837.182 466.059L836.408 470.998C853.065 473.606 869.675 477.689 885.981 483.154L887.57 478.413C903.871 483.876 919.863 490.694 935.3 498.774L932.981 503.204C948.024 511.078 962.531 520.167 976.265 530.38L979.249 526.367C993.105 536.67 1006.19 548.101 1018.27 560.569L1014.68 564.048C1026.49 576.247 1037.32 589.449 1046.95 603.565L1051.08 600.748C1060.77 614.965 1069.27 630.1 1076.34 646.069L1071.76 648.093C1078.55 663.426 1084 679.538 1087.91 696.351L1092.78 695.218C1096.61 711.686 1098.99 728.817 1099.74 746.539L1094.74 746.748C1095.43 763.222 1094.69 780.227 1092.34 797.709L1097.3 798.374C1095.09 814.864 1091.48 831.759 1086.35 849.01L1081.56 847.584C1076.88 863.3 1070.92 879.332 1063.57 895.644L1068.13 897.699C1061.34 912.759 1053.39 928.039 1044.2 943.513L1039.9 940.959C1035.56 948.269 1030.93 955.624 1026.02 963.024C1025.17 964.305 1024.21 965.573 1023.15 966.811L1026.95 970.06C1024.64 972.756 1021.99 975.258 1019.19 977.439L1016.12 973.492C1014.82 974.505 1013.48 975.437 1012.15 976.273C1005.07 980.698 998.208 985.081 991.561 989.424L994.296 993.61C980.363 1002.71 967.376 1011.63 955.278 1020.38L952.348 1016.33C938.69 1026.2 926.146 1035.87 914.638 1045.34L917.815 1049.2C904.833 1059.88 893.195 1070.3 882.784 1080.47L879.289 1076.89C866.803 1089.1 856.035 1100.98 846.795 1112.58L850.706 1115.69C839.955 1129.19 831.341 1142.25 824.539 1154.94L820.132 1152.58C811.823 1168.09 806.13 1183.09 802.515 1197.7L807.369 1198.9C803.376 1215.03 802.008 1230.6 802.451 1245.74L797.453 1245.89C797.934 1262.35 800.496 1278.25 804.108 1293.73L808.977 1292.59C812.577 1308.02 817.263 1323.14 822.035 1338.12L817.271 1339.64C817.857 1341.48 818.444 1343.31 819.029 1345.14C823.292 1358.48 827.479 1371.58 830.935 1384.71L835.77 1383.44C839.83 1398.87 842.892 1414.33 843.843 1430.04L838.852 1430.34C839.754 1445.23 838.698 1460.27 834.709 1475.67L839.549 1476.93C835.906 1491 829.896 1505.38 820.812 1520.21L816.548 1517.59C809.315 1529.4 800.04 1541.55 788.309 1554.12L791.965 1557.53C782.169 1568.03 770.725 1578.77 757.419 1589.79L754.23 1585.94C748.363 1590.8 742.125 1595.72 735.494 1600.7C728.818 1605.72 722.048 1610.21 715.194 1614.21L717.71 1618.53C702.98 1627.11 687.837 1633.44 672.387 1637.7L671.058 1632.88C655.505 1637.17 639.618 1639.29 623.5 1639.42L623.541 1644.42C607.371 1644.56 590.996 1642.73 574.523 1639.13L575.592 1634.25C560.261 1630.89 544.807 1625.95 529.322 1619.56L527.414 1624.18C512.616 1618.07 497.822 1610.67 483.11 1602.1L485.627 1597.78C471.969 1589.82 458.365 1580.82 444.88 1570.9L441.915 1574.92C428.946 1565.37 416.099 1554.98 403.431 1543.83L406.735 1540.07C394.682 1529.46 382.785 1518.15 371.093 1506.22L367.522 1509.72C356.146 1498.11 344.97 1485.92 334.037 1473.22L337.826 1469.96C327.254 1457.68 316.908 1444.91 306.827 1431.73L302.856 1434.77C292.93 1421.79 283.263 1408.41 273.894 1394.69L278.023 1391.87C268.826 1378.4 259.915 1364.6 251.328 1350.53L247.06 1353.13C238.493 1339.09 230.247 1324.78 222.358 1310.26L226.752 1307.87C218.918 1293.45 211.438 1278.82 204.347 1264.03L199.839 1266.19C192.686 1251.28 185.926 1236.2 179.597 1221.03L184.212 1219.11C177.859 1203.88 171.943 1188.55 166.499 1173.18L161.786 1174.85C156.232 1159.17 151.165 1143.45 146.626 1127.74L151.43 1126.35C146.828 1110.43 142.773 1094.52 139.305 1078.71L134.421 1079.78C130.839 1063.45 127.876 1047.21 125.578 1031.12L130.528 1030.41C128.178 1013.96 126.529 997.692 125.627 981.673L120.635 981.954C119.691 965.189 119.558 948.685 120.287 932.528L125.282 932.754C126.034 916.11 127.711 899.859 130.371 884.092L125.44 883.26C128.232 866.708 132.094 850.663 137.094 835.232L141.851 836.773C146.906 821.174 153.136 806.234 160.608 792.062L156.185 789.73C163.875 775.146 172.864 761.342 183.229 748.438L187.128 751.57C192.174 745.287 197.554 739.222 203.275 733.389Z" stroke="#2E3E79" stroke-width="10" stroke-dasharray="50 50"/>
|
||||||
|
<circle cx="1000" cy="1000" r="700" fill="#5670D8"/>
|
||||||
|
<path d="M1000 1605C1334.13 1605 1605 1334.13 1605 1000C1605 665.868 1334.13 395 1000 395C665.868 395 395 665.868 395 1000C395 1334.13 665.868 1605 1000 1605Z" fill="#627EEA" stroke="#A2B6FB" stroke-width="10"/>
|
||||||
|
<path d="M1018.7 549.918V882.559L1299.84 1008.2L1018.7 549.918Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 549.918L737.562 1008.2L1018.7 882.559V549.918Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1223.73V1449.75L1300 1060.52L1018.7 1223.73Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1018.7 1449.75V1223.73L737.562 1060.52L1018.7 1449.75Z" fill="white"/>
|
||||||
|
<path d="M1018.7 1171.41L1299.84 1008.2L1018.7 882.559V1171.41Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M737.562 1008.2L1018.7 1171.41V882.559L737.562 1008.2Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<g style="mix-blend-mode:multiply" opacity="0.3">
|
||||||
|
<path d="M1569 1414C1463 1622 1182 1700 1005 1700C504.5 1707.5 108.001 1160 397 646C415.999 672 500.002 1204 821.001 1386C1192 1582 1569 1414 1569 1414Z" fill="#3C4F9A"/>
|
||||||
|
</g>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="white" stroke-width="30" stroke-linecap="round"/>
|
||||||
|
<mask id="path-33-inside-1_1048_45" fill="white">
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z"/>
|
||||||
|
</mask>
|
||||||
|
<path d="M1391.5 1088C1373.5 1086 1354 1095.17 1346.5 1100C1351.83 1099.33 1368.81 1098.5 1376.5 1098.5C1385 1098.5 1407.17 1105 1420 1110L1418.5 1096.5C1417 1094.5 1409.5 1090 1391.5 1088Z" fill="#454545"/>
|
||||||
|
<path d="M1346.5 1100L1330.25 1074.78L1350.22 1129.77L1346.5 1100ZM1391.5 1088L1388.19 1117.82L1391.5 1088ZM1418.5 1096.5L1448.32 1093.19L1447.41 1085.05L1442.5 1078.5L1418.5 1096.5ZM1420 1110L1409.11 1137.95L1455.29 1155.95L1449.82 1106.69L1420 1110ZM1362.75 1125.22C1364.35 1124.19 1368.78 1121.79 1374.42 1119.94C1380.18 1118.05 1384.99 1117.46 1388.19 1117.82L1394.81 1058.18C1380.01 1056.54 1366.07 1059.53 1355.71 1062.93C1345.22 1066.38 1336.15 1070.98 1330.25 1074.78L1362.75 1125.22ZM1388.19 1117.82C1395.29 1118.61 1399.13 1119.77 1400.61 1120.32C1401.36 1120.61 1401.22 1120.63 1400.48 1120.17C1400.1 1119.94 1399.39 1119.48 1398.49 1118.73C1397.7 1118.08 1396.14 1116.69 1394.5 1114.5L1442.5 1078.5C1438.86 1073.65 1434.48 1070.64 1431.88 1069.05C1428.75 1067.12 1425.33 1065.52 1421.77 1064.18C1414.62 1061.48 1405.71 1059.39 1394.81 1058.18L1388.19 1117.82ZM1388.68 1099.81L1390.18 1113.31L1449.82 1106.69L1448.32 1093.19L1388.68 1099.81ZM1430.89 1082.05C1423.37 1079.12 1413.62 1075.93 1404.56 1073.44C1396.71 1071.29 1385.35 1068.5 1376.5 1068.5V1128.5C1375.61 1128.5 1376.26 1128.43 1379.25 1129.02C1381.81 1129.53 1385.05 1130.31 1388.69 1131.31C1396.04 1133.32 1403.79 1135.88 1409.11 1137.95L1430.89 1082.05ZM1376.5 1068.5C1368.12 1068.5 1349.8 1069.35 1342.78 1070.23L1350.22 1129.77C1353.87 1129.31 1369.5 1128.5 1376.5 1128.5V1068.5Z" fill="white" mask="url(#path-33-inside-1_1048_45)"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<mask id="path-36-inside-2_1048_45" fill="white">
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)"/>
|
||||||
|
</mask>
|
||||||
|
<rect x="1343.06" y="1097" width="79.4768" height="45" rx="15" transform="rotate(6.45837 1343.06 1097)" stroke="white" stroke-width="45" mask="url(#path-36-inside-2_1048_45)"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1391.87 1279.66L1390.85 1275.02L1393.28 1277.68L1391.87 1279.66Z" fill="#7D8BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1454.86 1619.41L1454.86 1619.41L1454.86 1619.41ZM1441.85 1559.26C1442.43 1559.72 1442.93 1560.21 1443.36 1560.69C1442.65 1560.5 1441.96 1560.32 1441.3 1560.16L1441.85 1559.26M1441.85 1559.26V1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1441.85 1559.26C1441.85 1559.26 1441.85 1559.26 1441.85 1559.26M1441.85 1559.26C1441.53 1559.01 1441.19 1558.76 1440.82 1558.53L1440.28 1559.93C1440.57 1559.99 1440.86 1560.05 1441.16 1560.13L1441.85 1559.26M1441.85 1559.26L1441.85 1559.26M1416.99 1557.18L1418.71 1557.64L1416.99 1557.18C1416.83 1557.8 1416.68 1558.44 1416.54 1559.09C1415.97 1559.53 1415.41 1560.01 1414.87 1560.54C1411.74 1563.62 1410.08 1567.36 1409.33 1570.86C1408.78 1573.46 1408.67 1575.95 1408.93 1578.31C1407.42 1580.76 1406.34 1583.73 1406.05 1587.25C1405.84 1589.82 1406 1592.21 1406.44 1594.4C1405.55 1596.4 1404.95 1598.71 1404.9 1601.32C1404.8 1606.38 1406.8 1610.48 1408.87 1613.32C1411.76 1617.31 1415.98 1619.38 1417.61 1620.17C1419.99 1621.32 1422.68 1622.32 1425.29 1623.18C1430.57 1624.9 1436.87 1626.43 1442.86 1627.56C1448.74 1628.66 1455.06 1629.5 1460.22 1629.55C1462.55 1629.58 1466.05 1629.48 1469.41 1628.44C1471.04 1627.94 1474.2 1626.76 1476.98 1623.89C1476.98 1623.89 1476.98 1623.88 1476.99 1623.88C1477.44 1623.82 1477.9 1623.75 1478.36 1623.66C1481.19 1623.11 1486.74 1621.25 1490.08 1615.81C1492.27 1614.98 1494.54 1613.67 1496.61 1611.61C1498.01 1610.2 1499.65 1608.26 1501.03 1605.89C1504.37 1604.31 1508.15 1601.39 1510.29 1596.41C1510.3 1596.38 1510.31 1596.35 1510.33 1596.31C1511.05 1594.62 1512.92 1590.27 1512.67 1585.26C1512.51 1582.2 1511.6 1578.83 1509.42 1575.72C1507.32 1572.73 1504.66 1570.84 1502.34 1569.65C1491.85 1564.28 1475.85 1556.63 1462.01 1551.24C1455.22 1548.59 1448.2 1546.19 1442.36 1545.04C1439.63 1544.5 1435.82 1543.95 1431.97 1544.47C1428.35 1544.96 1419.57 1547.4 1416.99 1557.18ZM1451.7 1614.97C1451.64 1614.57 1451.59 1614.18 1451.56 1613.79C1453.02 1613.99 1454.43 1614.16 1455.76 1614.29C1455.79 1614.29 1455.81 1614.29 1455.84 1614.3L1454.43 1619.14C1453.94 1618.81 1453.42 1618.35 1452.93 1617.72C1452.26 1616.83 1451.85 1615.84 1451.7 1614.97ZM1490.49 1578.08C1490.49 1578.08 1490.46 1578.08 1490.41 1578.08C1490.46 1578.08 1490.49 1578.08 1490.49 1578.08Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545" stroke="white" stroke-width="30"/>
|
||||||
|
<path d="M1946 1689L1941.5 1685C1939.5 1687.67 1934.8 1696.3 1932 1709.5C1929.2 1722.7 1907.17 1761.33 1896.5 1779L1911.5 1780.5C1920.67 1763.67 1942.19 1729.18 1944 1721.5C1946 1713 1947 1697 1946 1689Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1897 1781.5L1868 1768L1887 1722C1895 1712.17 1912.4 1690.6 1918 1683C1923.6 1675.4 1935.67 1677.83 1941 1680C1941.33 1681 1941.8 1687.5 1941 1705.5C1940.2 1723.5 1911.33 1763.67 1897 1781.5Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1779 1961L1774 1953.5L1913 1895L1916.5 1900C1909.5 1909 1886.48 1924.94 1861.5 1937C1832.5 1951 1796.67 1960.17 1779 1961Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1767 1953L1738 1916L1786.5 1873.5C1791.33 1876.17 1802.5 1881.9 1808.5 1883.5C1816 1885.5 1884.5 1879 1895 1879.5C1903.4 1879.9 1911.5 1889 1914.5 1893.5C1906.83 1898.5 1888.5 1916 1858 1930.5C1829.04 1944.27 1786.17 1952.83 1767 1953Z" fill="#3A4775" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1673 1600L1645 1595L1527.5 1606.5L1634 1662.5L1867.5 1775.5C1871.83 1771.33 1881.8 1760.6 1887 1751C1892.2 1741.4 1889.17 1721 1887 1712L1673 1600Z" fill="#2B2B2B" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1781 1904C1797.8 1895.6 1806.33 1875.83 1808.5 1867L1615.5 1624L1538.5 1610H1390.5C1384 1611.17 1366.2 1615.8 1347 1625C1327.8 1634.2 1316 1673.5 1312.5 1692L1538.5 1716.5L1718.5 1918C1732.33 1916.83 1764.2 1912.4 1781 1904Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1325.5 1200C1305.5 1180.4 1307.17 1116.83 1310.5 1087.5C1313 1085.33 1331.1 1077.1 1383.5 1061.5C1435.9 1045.9 1492.33 1079.33 1514 1098C1514.33 1111.17 1513 1142.2 1505 1161C1495 1184.5 1458.61 1231.57 1452.5 1233.5C1444.5 1236.03 1409.77 1236.9 1383.28 1236.71C1374.26 1236.65 1365.45 1233.99 1358.27 1228.52C1349.78 1222.04 1338.1 1212.35 1325.5 1200Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1397 1191C1380.6 1189.8 1368.83 1185.33 1367 1183.5C1371.33 1190.33 1382 1204.5 1399 1210.5C1414.23 1215.88 1427.5 1217.5 1432 1212C1434.96 1208.38 1431.83 1206.33 1429 1204.5L1438 1203.5C1439.33 1202.33 1441.6 1199 1440 1195C1438 1190 1417.5 1192.5 1397 1191Z" fill="white"/>
|
||||||
|
<path d="M1382.5 1104.5C1364 1103 1353.5 1114 1350 1118.5C1350.67 1121.33 1355.3 1129 1368.5 1137C1381.7 1145 1400.67 1139.33 1408.5 1135.5C1406 1125.67 1397.3 1105.7 1382.5 1104.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1479.5 1132.5C1469.1 1123.3 1451.5 1130.67 1444 1135.5V1140.5C1445 1144 1443.83 1145.66 1454.5 1151C1466.5 1157 1480 1155.83 1487 1153.5C1488.83 1150.33 1489.9 1141.7 1479.5 1132.5Z" fill="white" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5L1445.5 1256.5C1454.67 1329 1473 1474.5 1473 1476.5C1473 1478.5 1511.33 1550.33 1530.5 1586C1485.33 1597.83 1389.2 1623.4 1366 1631C1337 1640.5 1317.5 1690.5 1310 1699C1302.5 1707.5 1277.76 1701.27 1274 1686.5C1267 1659 1216.67 1422 1192.5 1295.5L1267 1247Z" fill="#3F5BBE"/>
|
||||||
|
<path d="M1267 1247L1293.5 1230.5C1303.5 1247.83 1323.4 1283 1323 1285C1322.6 1287 1349.17 1311.5 1362.5 1323.5L1386 1279L1383 1247H1400.5M1267 1247L1310.5 1295.5L1365.5 1338L1387.5 1306.5L1405 1273L1400.5 1247M1267 1247L1192.5 1295.5C1216.67 1422 1267 1659 1274 1686.5C1277.76 1701.27 1302.5 1707.5 1310 1699C1317.5 1690.5 1337 1640.5 1366 1631C1389.2 1623.4 1485.33 1597.83 1530.5 1586C1511.33 1550.33 1473 1478.5 1473 1476.5C1473 1474.5 1454.67 1329 1445.5 1256.5L1400.5 1247" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1409.5 1173C1402.7 1173.8 1407.67 1179.33 1411 1182C1414.17 1182.67 1421.8 1184.1 1427 1184.5C1433.5 1185 1447.5 1184.5 1447.5 1180C1447.5 1176.8 1418 1172 1409.5 1173Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1275 1688C1265.33 1645.67 1248 1564.8 1248 1564L1419 1606L1404.5 1619C1395.5 1623 1381 1622.29 1354.5 1636C1339.03 1644 1318.5 1683 1309.5 1698.5C1308.67 1699.33 1307.7 1700.8 1300.5 1702C1293.3 1703.2 1279 1697 1275 1688Z" fill="#253982"/>
|
||||||
|
<path d="M1358.5 1235C1342.9 1229.8 1314 1203 1304 1170V1219L1288.5 1241.5L1362.5 1322.5L1382.5 1287L1378.5 1241.5C1376.5 1241.83 1374.1 1240.2 1358.5 1235Z" fill="#7F7F7F"/>
|
||||||
|
<path d="M1294.5 1093C1303.3 1089.8 1303 1100.5 1303 1110.5L1301.5 1163C1291.5 1155.67 1271.67 1145 1271 1129C1270.5 1117 1283.5 1097 1294.5 1093Z" fill="#AEAEAE"/>
|
||||||
|
<path d="M1441.5 1127C1444.83 1145.33 1451.5 1180.5 1446.5 1182C1442.67 1183.15 1428.5 1185.5 1411 1182" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<ellipse cx="1387.5" cy="1128.5" rx="14.5" ry="12.5" fill="black"/>
|
||||||
|
<ellipse cx="1470.5" cy="1145" rx="11.5" ry="10" fill="black"/>
|
||||||
|
<path d="M1361 1177.5C1369.17 1186.17 1390.79 1202.07 1411.5 1204C1433 1206 1438.5 1202.83 1439 1202" stroke="black" stroke-width="2" stroke-linecap="round"/>
|
||||||
|
<path d="M1376.5 1097.5C1370.34 1097.5 1358.25 1098.03 1350.88 1098.59C1354.64 1096.56 1359.67 1094.26 1365.37 1092.39C1373.36 1089.77 1382.58 1088.02 1391.39 1088.99C1400.33 1089.99 1406.62 1091.6 1410.83 1093.19C1412.94 1093.98 1414.53 1094.77 1415.66 1095.46C1416.62 1096.05 1417.21 1096.55 1417.54 1096.91L1418.82 1108.48C1412.55 1106.11 1404.49 1103.49 1396.89 1101.41C1388.69 1099.16 1380.9 1097.5 1376.5 1097.5Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1447 1116C1443.8 1115.6 1451.67 1107.17 1456 1103C1461.83 1103 1475.6 1104.6 1484 1111C1492.4 1117.4 1494.33 1126.5 1492.5 1129.5C1492 1128.33 1488 1121.5 1478.5 1117C1470.45 1113.19 1451 1116.5 1447 1116Z" fill="#454545" stroke="black" stroke-width="2"/>
|
||||||
|
<rect x="1343.94" y="1098.11" width="77.4768" height="43" rx="14" transform="rotate(6.45837 1343.94 1098.11)" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1448.5 1162.5L1470.56 1167.85C1477.04 1169.42 1483.78 1166.52 1487.1 1160.73L1496.67 1144.04C1499.89 1138.42 1497 1131.26 1490.77 1129.46L1459.42 1120.39C1451.37 1118.07 1443.55 1124.68 1444.5 1133V1133" stroke="white" stroke-width="2"/>
|
||||||
|
<path d="M1435.5 1120.5C1430.5 1119.5 1423.67 1120.5 1420 1121.5L1419.5 1129.5C1420.83 1129 1424.3 1127 1429.5 1127C1434.7 1127 1441 1129.33 1443.5 1130.5L1445.5 1125C1443.33 1124.17 1439.42 1121.28 1435.5 1120.5Z" fill="#454545"/>
|
||||||
|
<path d="M1347.5 1101.5L1303 1104V1112L1341.5 1114C1341.5 1113.17 1341.7 1110.8 1342.5 1108C1343.3 1105.2 1346.17 1102.5 1347.5 1101.5Z" fill="#454545"/>
|
||||||
|
<path d="M1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5Z" fill="#7D8BBE"/>
|
||||||
|
<path d="M1335 1305.5L1361 1321.5L1347 1260.5L1303.5 1209.5L1280 1247L1330.5 1329L1335 1305.5ZM1335 1305.5L1342 1270" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1380.48 1293.04L1379.91 1290.47L1375.48 1270.29L1373.52 1270.71L1378.44 1293.09L1363.6 1319.51L1364.99 1261.41L1381.49 1243.97L1411.22 1276.58L1384.99 1313.58L1380.48 1293.04Z" fill="#7D8BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1336 1306L1362.5 1322.5L1379 1290" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1362.5 1323L1365 1337.5" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1471.5 1261.5L1444.5 1256.5L1468.5 1440.5L1498.5 1475.5L1519.5 1478.5L1565.5 1445.5L1471.5 1261.5Z" fill="#233780" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1521.5 1422C1487 1429 1488.5 1556.5 1488.5 1567.5L1547.5 1575L1566.5 1447C1561.67 1440 1550.81 1416.06 1521.5 1422Z" fill="#243881" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1458.5 1558C1452.9 1555.6 1449.17 1559 1448 1561L1484 1575.5C1484.17 1574.67 1484.4 1572.7 1484 1571.5C1483.5 1570 1465.5 1561 1458.5 1558Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1498 1615L1385.5 1611V1618.5L1498 1623C1553.83 1612.67 1665.5 1592.1 1665.5 1592.5V1586L1498 1615Z" fill="#5C5C5C" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1737 1441.5L1567.5 1463.5L1514 1571L1385 1610L1498.5 1614.5L1665.5 1586L1737 1441.5Z" fill="#5C5C5C"/>
|
||||||
|
<path d="M1495 1605.5L1514 1571M1514 1571L1567.5 1463.5L1737 1441.5L1665.5 1586L1498.5 1614.5L1385 1610L1514 1571Z" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1224 1292C1205.6 1282.8 1191.67 1293.67 1188 1300.5C1184.67 1372.33 1179.7 1519 1178.5 1529C1177.3 1539 1186 1545.83 1190.5 1548L1428.5 1608.5L1437.5 1554L1251 1498L1254 1349C1251.67 1333.83 1242.4 1301.2 1224 1292Z" fill="#3F5BBE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1489.83 1594.41C1489.79 1594.29 1489.74 1594.18 1489.68 1594.08C1490.09 1594.09 1490.49 1594.09 1490.88 1594.08C1492.29 1594.03 1493.64 1593.83 1494.77 1593.36C1495.93 1592.88 1496.9 1592.1 1497.42 1590.89C1498.17 1589.15 1498.76 1587.47 1498.69 1585.96C1498.65 1585.18 1498.42 1584.43 1497.95 1583.75C1497.48 1583.09 1496.81 1582.55 1495.95 1582.11C1485.69 1576.85 1470.16 1569.44 1456.92 1564.28C1450.32 1561.71 1444.24 1559.68 1439.65 1558.77C1437.37 1558.32 1435.38 1558.13 1433.85 1558.34C1432.33 1558.55 1430.94 1559.21 1430.53 1560.75C1429.52 1564.59 1429.59 1567.35 1430.22 1569.24C1429.3 1569.07 1428.34 1569.01 1427.42 1569.17C1426.43 1569.34 1425.47 1569.76 1424.68 1570.54C1423.89 1571.31 1423.32 1572.39 1423.02 1573.79C1422.35 1576.91 1423.24 1579.31 1424.66 1580.99C1425.08 1581.49 1425.54 1581.93 1426.02 1582.3C1425.34 1582.46 1424.65 1582.68 1423.98 1582.98C1422.01 1583.88 1420.24 1585.56 1420 1588.42C1419.67 1592.36 1421.37 1595.32 1422.96 1597.04C1421.92 1597.43 1420.85 1598.02 1420.07 1598.85C1419.4 1599.56 1418.92 1600.48 1418.9 1601.6C1418.88 1602.71 1419.31 1603.87 1420.19 1605.09C1420.85 1606 1422.16 1606.82 1423.71 1607.57C1425.31 1608.34 1427.34 1609.12 1429.63 1609.86C1434.21 1611.36 1439.91 1612.76 1445.44 1613.8C1450.97 1614.83 1456.37 1615.51 1460.36 1615.55C1462.34 1615.57 1464.06 1615.44 1465.29 1615.06C1465.9 1614.87 1466.49 1614.59 1466.92 1614.15C1467.39 1613.67 1467.6 1613.04 1467.49 1612.34C1467.24 1610.89 1466.75 1609.67 1466.11 1608.67C1467.93 1609.19 1469.8 1609.64 1471.49 1609.88C1473.01 1610.09 1474.48 1610.15 1475.67 1609.92C1476.86 1609.69 1478.02 1609.1 1478.45 1607.82C1479.16 1605.67 1479.27 1603.9 1479.08 1602.59C1479.88 1602.8 1480.77 1602.98 1481.66 1603.06C1483.36 1603.21 1485.38 1603.04 1486.71 1601.71C1488.03 1600.39 1489.27 1598.63 1489.77 1596.98C1490.02 1596.15 1490.12 1595.24 1489.83 1594.41Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1499.5 1571C1499.9 1559 1511.67 1559.5 1517.5 1562C1512.5 1570.5 1502.2 1589.4 1501 1591C1499.5 1593 1499 1586 1499.5 1571Z" fill="#AEAEAE" stroke="black" stroke-width="2"/>
|
||||||
|
<path d="M1284 1067V1101C1284.5 1100.5 1286.8 1098.8 1292 1096C1297.2 1093.2 1300.83 1117.5 1302 1130L1312.5 1132.5L1321 1102C1331.33 1096.67 1363.5 1085.5 1409.5 1083.5C1455.5 1081.5 1515.67 1107.33 1540 1120.5C1547 1124.29 1558.5 1123.76 1558.5 1111.5C1558.5 1093 1547.67 1087.33 1535.5 1080.5C1540.5 1080.67 1557 1081.5 1558.5 1069.5C1559.89 1058.38 1538.17 1040.67 1524 1032C1532.5 1033 1560 1029 1548.5 1005.5C1538.12 984.29 1483.83 985.667 1452 990.5C1458.17 987.833 1471.6 981.2 1476 976C1481.5 969.5 1475.5 962.5 1435.5 961C1403.5 959.8 1362.5 982.167 1346 993.5C1338.33 987.5 1317.7 981 1296.5 1003C1275.3 1025 1279.33 1054.83 1284 1067Z" fill="#454545"/>
|
||||||
|
<path d="M1631.79 1492.83L1625.62 1517.38L1640.42 1530.96L1631.79 1492.83Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1631.79 1492.83L1606.16 1522.35L1625.62 1517.38L1631.79 1492.83Z" fill="white"/>
|
||||||
|
<path d="M1619.29 1542.56L1615.1 1559.24L1639.46 1534.82L1619.29 1542.56Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1615.1 1559.25L1619.29 1542.56L1605.19 1526.21L1615.1 1559.25Z" fill="white"/>
|
||||||
|
<path d="M1620.26 1538.7L1640.42 1530.96L1625.62 1517.38L1620.26 1538.7Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1606.16 1522.35L1620.26 1538.7L1625.62 1517.38L1606.16 1522.35Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1577.06 365.61C1575.01 363.706 1573.92 361.351 1573.79 358.546C1573.66 355.74 1574.57 353.309 1576.52 351.253C1578.38 349.2 1580.71 348.131 1583.52 348.046C1586.33 347.961 1588.76 348.871 1590.81 350.776C1592.8 352.617 1593.86 354.941 1593.99 357.746C1594.14 360.573 1593.28 363.012 1591.42 365.065C1590.12 366.422 1588.6 367.34 1586.85 367.82C1585.13 368.321 1583.39 368.388 1581.63 368.019C1579.92 367.648 1578.39 366.845 1577.06 365.61Z" fill="white"/>
|
||||||
|
<path d="M1614.26 400.09C1612.21 398.185 1611.12 395.83 1610.99 393.025C1610.86 390.22 1611.77 387.789 1613.72 385.732C1615.58 383.679 1617.91 382.61 1620.72 382.526C1623.53 382.441 1625.96 383.351 1628.01 385.255C1630 387.097 1631.06 389.42 1631.18 392.226C1631.34 395.052 1630.48 397.492 1628.62 399.545C1627.32 400.901 1625.8 401.82 1624.05 402.3C1622.33 402.801 1620.59 402.867 1618.83 402.498C1617.12 402.127 1615.59 401.325 1614.26 400.09Z" fill="white"/>
|
||||||
|
<path d="M1651.46 434.569C1649.41 432.665 1648.32 430.31 1648.19 427.504C1648.06 424.699 1648.97 422.268 1650.92 420.212C1652.78 418.159 1655.11 417.09 1657.92 417.005C1660.73 416.92 1663.16 417.83 1665.21 419.735C1667.2 421.576 1668.26 423.9 1668.38 426.705C1668.53 429.531 1667.68 431.971 1665.82 434.024C1664.52 435.381 1663 436.299 1661.25 436.779C1659.53 437.28 1657.79 437.346 1656.03 436.977C1654.32 436.607 1652.79 435.804 1651.46 434.569Z" fill="white"/>
|
||||||
|
<path d="M1688.66 469.049C1686.61 467.144 1685.51 464.789 1685.39 461.984C1685.26 459.178 1686.17 456.747 1688.12 454.691C1689.98 452.638 1692.31 451.569 1695.12 451.484C1697.92 451.4 1700.36 452.309 1702.41 454.214C1704.4 456.056 1705.46 458.379 1705.58 461.184C1705.73 464.011 1704.88 466.451 1703.02 468.504C1701.72 469.86 1700.2 470.778 1698.45 471.258C1696.73 471.76 1694.99 471.826 1693.23 471.457C1691.52 471.086 1689.99 470.283 1688.66 469.049Z" fill="white"/>
|
||||||
|
<path d="M1725.86 503.528C1723.81 501.623 1722.71 499.269 1722.59 496.463C1722.46 493.658 1723.37 491.227 1725.32 489.17C1727.18 487.117 1729.51 486.048 1732.32 485.964C1735.12 485.879 1737.56 486.789 1739.61 488.693C1741.6 490.535 1742.65 492.858 1742.78 495.664C1742.93 498.49 1742.08 500.93 1740.22 502.983C1738.92 504.339 1737.4 505.258 1735.65 505.738C1733.93 506.239 1732.19 506.305 1730.43 505.936C1728.71 505.565 1727.19 504.763 1725.86 503.528Z" fill="white"/>
|
||||||
|
<path d="M1763.06 538.007C1761 536.103 1759.91 533.748 1759.79 530.943C1759.66 528.137 1760.57 525.706 1762.51 523.65C1764.38 521.597 1766.71 520.528 1769.52 520.443C1772.32 520.358 1774.75 521.268 1776.81 523.173C1778.8 525.014 1779.85 527.338 1779.98 530.143C1780.13 532.97 1779.28 535.409 1777.42 537.462C1776.12 538.819 1774.59 539.737 1772.85 540.217C1771.12 540.718 1769.38 540.784 1767.63 540.415C1765.91 540.045 1764.39 539.242 1763.06 538.007Z" fill="white"/>
|
||||||
|
<path d="M1800.26 572.487C1798.2 570.582 1797.11 568.227 1796.98 565.422C1796.86 562.617 1797.77 560.186 1799.71 558.129C1801.58 556.076 1803.91 555.007 1806.72 554.922C1809.52 554.838 1811.95 555.748 1814.01 557.652C1816 559.494 1817.05 561.817 1817.18 564.623C1817.33 567.449 1816.48 569.889 1814.62 571.942C1813.32 573.298 1811.79 574.216 1810.05 574.697C1808.32 575.198 1806.58 575.264 1804.83 574.895C1803.11 574.524 1801.59 573.721 1800.26 572.487Z" fill="white"/>
|
||||||
|
<path d="M1546.12 398.992C1544.07 397.087 1542.98 394.732 1542.85 391.927C1542.72 389.122 1543.63 386.691 1545.58 384.634C1547.44 382.581 1549.77 381.512 1552.58 381.428C1555.39 381.343 1557.82 382.253 1559.87 384.157C1561.86 385.999 1562.92 388.322 1563.04 391.128C1563.2 393.954 1562.34 396.394 1560.48 398.447C1559.18 399.803 1557.66 400.722 1555.91 401.202C1554.19 401.703 1552.45 401.769 1550.69 401.4C1548.98 401.029 1547.45 400.226 1546.12 398.992Z" fill="white"/>
|
||||||
|
<path d="M1583.32 433.471C1581.27 431.567 1580.18 429.212 1580.05 426.406C1579.92 423.601 1580.83 421.17 1582.78 419.114C1584.64 417.061 1586.97 415.992 1589.78 415.907C1592.59 415.822 1595.02 416.732 1597.07 418.636C1599.06 420.478 1600.12 422.802 1600.24 425.607C1600.39 428.433 1599.54 430.873 1597.68 432.926C1596.38 434.283 1594.86 435.201 1593.11 435.681C1591.39 436.182 1589.65 436.248 1587.89 435.879C1586.18 435.509 1584.65 434.706 1583.32 433.471Z" fill="white"/>
|
||||||
|
<path d="M1620.52 467.951C1618.47 466.046 1617.37 463.691 1617.25 460.886C1617.12 458.08 1618.03 455.649 1619.98 453.593C1621.84 451.54 1624.17 450.471 1626.98 450.386C1629.79 450.302 1632.22 451.211 1634.27 453.116C1636.26 454.958 1637.32 457.281 1637.44 460.086C1637.59 462.913 1636.74 465.352 1634.88 467.406C1633.58 468.762 1632.06 469.68 1630.31 470.16C1628.59 470.662 1626.85 470.728 1625.09 470.359C1623.38 469.988 1621.85 469.185 1620.52 467.951Z" fill="white"/>
|
||||||
|
<path d="M1657.72 502.43C1655.67 500.525 1654.57 498.171 1654.45 495.365C1654.32 492.56 1655.23 490.129 1657.18 488.072C1659.04 486.019 1661.37 484.95 1664.18 484.866C1666.98 484.781 1669.42 485.691 1671.47 487.595C1673.46 489.437 1674.51 491.76 1674.64 494.566C1674.79 497.392 1673.94 499.832 1672.08 501.885C1670.78 503.241 1669.26 504.16 1667.51 504.64C1665.79 505.141 1664.05 505.207 1662.29 504.838C1660.58 504.467 1659.05 503.665 1657.72 502.43Z" fill="white"/>
|
||||||
|
<path d="M1694.92 536.909C1692.87 535.005 1691.77 532.65 1691.65 529.844C1691.52 527.039 1692.43 524.608 1694.37 522.552C1696.24 520.499 1698.57 519.43 1701.38 519.345C1704.18 519.26 1706.61 520.17 1708.67 522.075C1710.66 523.916 1711.71 526.24 1711.84 529.045C1711.99 531.872 1711.14 534.311 1709.28 536.364C1707.98 537.721 1706.46 538.639 1704.71 539.119C1702.98 539.62 1701.24 539.686 1699.49 539.317C1697.77 538.947 1696.25 538.144 1694.92 536.909Z" fill="white"/>
|
||||||
|
<path d="M1732.12 571.389C1730.06 569.484 1728.97 567.129 1728.84 564.324C1728.72 561.518 1729.63 559.088 1731.57 557.031C1733.44 554.978 1735.77 553.909 1738.58 553.824C1741.38 553.74 1743.81 554.65 1745.87 556.554C1747.86 558.396 1748.91 560.719 1749.04 563.525C1749.19 566.351 1748.34 568.791 1746.48 570.844C1745.18 572.2 1743.65 573.118 1741.91 573.599C1740.18 574.1 1738.44 574.166 1736.69 573.797C1734.97 573.426 1733.45 572.623 1732.12 571.389Z" fill="white"/>
|
||||||
|
<path d="M1769.32 605.868C1767.26 603.964 1766.17 601.609 1766.04 598.803C1765.92 595.998 1766.83 593.567 1768.77 591.511C1770.63 589.458 1772.97 588.389 1775.78 588.304C1778.58 588.219 1781.01 589.129 1783.07 591.033C1785.06 592.875 1786.11 595.199 1786.24 598.004C1786.39 600.83 1785.54 603.27 1783.68 605.323C1782.38 606.679 1780.85 607.598 1779.11 608.078C1777.38 608.579 1775.64 608.645 1773.89 608.276C1772.17 607.906 1770.65 607.103 1769.32 605.868Z" fill="white"/>
|
||||||
|
<path d="M1515.18 432.373C1513.13 430.469 1512.04 428.114 1511.91 425.308C1511.78 422.503 1512.69 420.072 1514.64 418.016C1516.5 415.963 1518.83 414.894 1521.64 414.809C1524.45 414.724 1526.88 415.634 1528.93 417.538C1530.92 419.38 1531.98 421.704 1532.1 424.509C1532.26 427.335 1531.4 429.775 1529.54 431.828C1528.24 433.185 1526.72 434.103 1524.97 434.583C1523.25 435.084 1521.51 435.15 1519.75 434.781C1518.04 434.411 1516.51 433.608 1515.18 432.373Z" fill="white"/>
|
||||||
|
<path d="M1552.38 466.852C1550.33 464.948 1549.24 462.593 1549.11 459.788C1548.98 456.982 1549.89 454.551 1551.84 452.495C1553.7 450.442 1556.03 449.373 1558.84 449.288C1561.65 449.204 1564.08 450.113 1566.13 452.018C1568.12 453.859 1569.18 456.183 1569.3 458.988C1569.45 461.815 1568.6 464.254 1566.74 466.308C1565.44 467.664 1563.92 468.582 1562.17 469.062C1560.45 469.564 1558.71 469.63 1556.95 469.261C1555.24 468.89 1553.71 468.087 1552.38 466.852Z" fill="white"/>
|
||||||
|
<path d="M1589.58 501.332C1587.53 499.427 1586.43 497.072 1586.31 494.267C1586.18 491.462 1587.09 489.031 1589.04 486.974C1590.9 484.921 1593.23 483.852 1596.04 483.768C1598.84 483.683 1601.28 484.593 1603.33 486.497C1605.32 488.339 1606.37 490.662 1606.5 493.468C1606.65 496.294 1605.8 498.734 1603.94 500.787C1602.64 502.143 1601.12 503.062 1599.37 503.542C1597.65 504.043 1595.91 504.109 1594.15 503.74C1592.44 503.369 1590.91 502.567 1589.58 501.332Z" fill="white"/>
|
||||||
|
<path d="M1626.78 535.811C1624.73 533.907 1623.63 531.552 1623.51 528.746C1623.38 525.941 1624.29 523.51 1626.24 521.454C1628.1 519.401 1630.43 518.332 1633.24 518.247C1636.04 518.162 1638.48 519.072 1640.53 520.977C1642.52 522.818 1643.57 525.142 1643.7 527.947C1643.85 530.774 1643 533.213 1641.14 535.266C1639.84 536.623 1638.32 537.541 1636.57 538.021C1634.85 538.522 1633.1 538.588 1631.35 538.219C1629.63 537.849 1628.11 537.046 1626.78 535.811Z" fill="white"/>
|
||||||
|
<path d="M1663.98 570.291C1661.92 568.386 1660.83 566.031 1660.71 563.226C1660.58 560.42 1661.49 557.99 1663.43 555.933C1665.3 553.88 1667.63 552.811 1670.44 552.726C1673.24 552.642 1675.67 553.552 1677.73 555.456C1679.72 557.298 1680.77 559.621 1680.9 562.427C1681.05 565.253 1680.2 567.693 1678.34 569.746C1677.04 571.102 1675.51 572.02 1673.77 572.501C1672.04 573.002 1670.3 573.068 1668.55 572.699C1666.83 572.328 1665.31 571.525 1663.98 570.291Z" fill="white"/>
|
||||||
|
<path d="M1701.18 604.77C1699.12 602.866 1698.03 600.511 1697.9 597.705C1697.78 594.9 1698.69 592.469 1700.63 590.413C1702.5 588.359 1704.83 587.291 1707.64 587.206C1710.44 587.121 1712.87 588.031 1714.93 589.935C1716.92 591.777 1717.97 594.101 1718.1 596.906C1718.25 599.732 1717.4 602.172 1715.54 604.225C1714.24 605.581 1712.71 606.5 1710.97 606.98C1709.24 607.481 1707.5 607.547 1705.75 607.178C1704.03 606.807 1702.51 606.005 1701.18 604.77Z" fill="white"/>
|
||||||
|
<path d="M1738.38 639.249C1736.32 637.345 1735.23 634.99 1735.1 632.185C1734.98 629.379 1735.89 626.948 1737.83 624.892C1739.69 622.839 1742.03 621.77 1744.84 621.685C1747.64 621.6 1750.07 622.51 1752.13 624.415C1754.12 626.256 1755.17 628.58 1755.3 631.385C1755.45 634.212 1754.6 636.651 1752.74 638.704C1751.44 640.061 1749.91 640.979 1748.17 641.459C1746.44 641.96 1744.7 642.027 1742.95 641.658C1741.23 641.287 1739.71 640.484 1738.38 639.249Z" fill="white"/>
|
||||||
|
<path d="M1484.24 465.754C1482.19 463.85 1481.1 461.495 1480.97 458.69C1480.84 455.884 1481.75 453.453 1483.7 451.397C1485.56 449.344 1487.89 448.275 1490.7 448.19C1493.51 448.106 1495.94 449.015 1497.99 450.92C1499.98 452.761 1501.04 455.085 1501.16 457.89C1501.31 460.717 1500.46 463.156 1498.6 465.209C1497.3 466.566 1495.78 467.484 1494.03 467.964C1492.31 468.466 1490.57 468.532 1488.81 468.163C1487.1 467.792 1485.57 466.989 1484.24 465.754Z" fill="white"/>
|
||||||
|
<path d="M1521.44 500.234C1519.39 498.329 1518.29 495.974 1518.17 493.169C1518.04 490.364 1518.95 487.933 1520.9 485.876C1522.76 483.823 1525.09 482.754 1527.9 482.67C1530.71 482.585 1533.14 483.495 1535.19 485.399C1537.18 487.241 1538.24 489.564 1538.36 492.37C1538.51 495.196 1537.66 497.636 1535.8 499.689C1534.5 501.045 1532.98 501.964 1531.23 502.444C1529.51 502.945 1527.77 503.011 1526.01 502.642C1524.3 502.271 1522.77 501.469 1521.44 500.234Z" fill="white"/>
|
||||||
|
<path d="M1558.64 534.713C1556.59 532.809 1555.49 530.454 1555.37 527.648C1555.24 524.843 1556.15 522.412 1558.1 520.356C1559.96 518.303 1562.29 517.234 1565.1 517.149C1567.9 517.064 1570.34 517.974 1572.39 519.879C1574.38 521.72 1575.43 524.044 1575.56 526.849C1575.71 529.675 1574.86 532.115 1573 534.168C1571.7 535.525 1570.18 536.443 1568.43 536.923C1566.71 537.424 1564.97 537.49 1563.21 537.121C1561.5 536.751 1559.97 535.948 1558.64 534.713Z" fill="white"/>
|
||||||
|
<path d="M1595.84 569.193C1593.78 567.288 1592.69 564.933 1592.57 562.128C1592.44 559.322 1593.35 556.892 1595.29 554.835C1597.16 552.782 1599.49 551.713 1602.3 551.628C1605.1 551.544 1607.53 552.453 1609.59 554.358C1611.58 556.2 1612.63 558.523 1612.76 561.329C1612.91 564.155 1612.06 566.595 1610.2 568.648C1608.9 570.004 1607.38 570.922 1605.63 571.403C1603.9 571.904 1602.16 571.97 1600.41 571.601C1598.69 571.23 1597.17 570.427 1595.84 569.193Z" fill="white"/>
|
||||||
|
<path d="M1633.04 603.672C1630.98 601.768 1629.89 599.413 1629.76 596.607C1629.64 593.802 1630.55 591.371 1632.49 589.315C1634.36 587.261 1636.69 586.193 1639.5 586.108C1642.3 586.023 1644.73 586.933 1646.79 588.837C1648.78 590.679 1649.83 593.003 1649.96 595.808C1650.11 598.634 1649.26 601.074 1647.4 603.127C1646.1 604.483 1644.57 605.402 1642.83 605.882C1641.1 606.383 1639.36 606.449 1637.61 606.08C1635.89 605.709 1634.37 604.907 1633.04 603.672Z" fill="white"/>
|
||||||
|
<path d="M1670.24 638.151C1668.18 636.247 1667.09 633.892 1666.96 631.087C1666.84 628.281 1667.75 625.85 1669.69 623.794C1671.55 621.741 1673.89 620.672 1676.7 620.587C1679.5 620.502 1681.93 621.412 1683.99 623.317C1685.98 625.158 1687.03 627.482 1687.16 630.287C1687.31 633.114 1686.46 635.553 1684.6 637.606C1683.3 638.963 1681.77 639.881 1680.03 640.361C1678.3 640.862 1676.56 640.929 1674.81 640.559C1673.09 640.189 1671.57 639.386 1670.24 638.151Z" fill="white"/>
|
||||||
|
<path d="M1707.44 672.631C1705.38 670.726 1704.29 668.371 1704.16 665.566C1704.04 662.761 1704.95 660.33 1706.89 658.273C1708.75 656.22 1711.09 655.151 1713.9 655.067C1716.7 654.982 1719.13 655.892 1721.19 657.796C1723.17 659.638 1724.23 661.961 1724.36 664.767C1724.51 667.593 1723.66 670.033 1721.8 672.086C1720.5 673.442 1718.97 674.36 1717.23 674.841C1715.5 675.342 1713.76 675.408 1712.01 675.039C1710.29 674.668 1708.77 673.865 1707.44 672.631Z" fill="white"/>
|
||||||
|
<path d="M1453.3 499.136C1451.25 497.231 1450.15 494.876 1450.03 492.071C1449.9 489.266 1450.81 486.835 1452.76 484.778C1454.62 482.725 1456.95 481.656 1459.76 481.572C1462.57 481.487 1465 482.397 1467.05 484.301C1469.04 486.143 1470.1 488.466 1470.22 491.272C1470.37 494.098 1469.52 496.538 1467.66 498.591C1466.36 499.947 1464.84 500.866 1463.09 501.346C1461.37 501.847 1459.63 501.913 1457.87 501.544C1456.16 501.173 1454.63 500.371 1453.3 499.136Z" fill="white"/>
|
||||||
|
<path d="M1490.5 533.615C1488.45 531.711 1487.35 529.356 1487.23 526.55C1487.1 523.745 1488.01 521.314 1489.96 519.258C1491.82 517.205 1494.15 516.136 1496.96 516.051C1499.76 515.966 1502.2 516.876 1504.25 518.781C1506.24 520.622 1507.29 522.946 1507.42 525.751C1507.57 528.577 1506.72 531.017 1504.86 533.07C1503.56 534.427 1502.04 535.345 1500.29 535.825C1498.57 536.326 1496.83 536.392 1495.07 536.023C1493.36 535.653 1491.83 534.85 1490.5 533.615Z" fill="white"/>
|
||||||
|
<path d="M1527.7 568.095C1525.65 566.19 1524.55 563.835 1524.43 561.03C1524.3 558.224 1525.21 555.794 1527.16 553.737C1529.02 551.684 1531.35 550.615 1534.16 550.53C1536.96 550.446 1539.4 551.355 1541.45 553.26C1543.44 555.102 1544.49 557.425 1544.62 560.231C1544.77 563.057 1543.92 565.497 1542.06 567.55C1540.76 568.906 1539.24 569.824 1537.49 570.305C1535.77 570.806 1534.02 570.872 1532.27 570.503C1530.55 570.132 1529.03 569.329 1527.7 568.095Z" fill="white"/>
|
||||||
|
<path d="M1564.9 602.574C1562.84 600.669 1561.75 598.315 1561.62 595.509C1561.5 592.704 1562.41 590.273 1564.35 588.217C1566.22 586.163 1568.55 585.095 1571.36 585.01C1574.16 584.925 1576.59 585.835 1578.65 587.739C1580.64 589.581 1581.69 591.904 1581.82 594.71C1581.97 597.536 1581.12 599.976 1579.26 602.029C1577.96 603.385 1576.43 604.304 1574.69 604.784C1572.96 605.285 1571.22 605.351 1569.47 604.982C1567.75 604.611 1566.23 603.809 1564.9 602.574Z" fill="white"/>
|
||||||
|
<path d="M1602.1 637.053C1600.04 635.149 1598.95 632.794 1598.82 629.989C1598.7 627.183 1599.61 624.752 1601.55 622.696C1603.41 620.643 1605.75 619.574 1608.56 619.489C1611.36 619.404 1613.79 620.314 1615.85 622.219C1617.84 624.06 1618.89 626.384 1619.02 629.189C1619.17 632.016 1618.32 634.455 1616.46 636.508C1615.16 637.865 1613.63 638.783 1611.89 639.263C1610.16 639.764 1608.42 639.83 1606.67 639.461C1604.95 639.091 1603.43 638.288 1602.1 637.053Z" fill="white"/>
|
||||||
|
<path d="M1639.3 671.533C1637.24 669.628 1636.15 667.273 1636.02 664.468C1635.9 661.663 1636.81 659.232 1638.75 657.175C1640.61 655.122 1642.95 654.053 1645.76 653.969C1648.56 653.884 1650.99 654.794 1653.05 656.698C1655.03 658.54 1656.09 660.863 1656.22 663.669C1656.37 666.495 1655.52 668.935 1653.66 670.988C1652.36 672.344 1650.83 673.262 1649.09 673.743C1647.36 674.244 1645.62 674.31 1643.87 673.941C1642.15 673.57 1640.63 672.767 1639.3 671.533Z" fill="white"/>
|
||||||
|
<path d="M1676.5 706.012C1674.44 704.108 1673.35 701.753 1673.22 698.947C1673.09 696.142 1674 693.711 1675.95 691.655C1677.81 689.602 1680.15 688.533 1682.95 688.448C1685.76 688.363 1688.19 689.273 1690.25 691.177C1692.23 693.019 1693.29 695.343 1693.42 698.148C1693.57 700.974 1692.72 703.414 1690.85 705.467C1689.56 706.824 1688.03 707.742 1686.29 708.222C1684.56 708.723 1682.82 708.789 1681.07 708.42C1679.35 708.05 1677.83 707.247 1676.5 706.012Z" fill="white"/>
|
||||||
|
<path d="M1422.36 532.517C1420.31 530.613 1419.21 528.258 1419.09 525.452C1418.96 522.647 1419.87 520.216 1421.82 518.16C1423.68 516.107 1426.01 515.038 1428.82 514.953C1431.63 514.868 1434.06 515.778 1436.11 517.683C1438.1 519.524 1439.16 521.848 1439.28 524.653C1439.43 527.479 1438.58 529.919 1436.72 531.972C1435.42 533.329 1433.9 534.247 1432.15 534.727C1430.43 535.228 1428.69 535.294 1426.93 534.925C1425.22 534.555 1423.69 533.752 1422.36 532.517Z" fill="white"/>
|
||||||
|
<path d="M1459.56 566.997C1457.51 565.092 1456.41 562.737 1456.29 559.932C1456.16 557.126 1457.07 554.695 1459.02 552.639C1460.88 550.586 1463.21 549.517 1466.02 549.432C1468.82 549.348 1471.26 550.257 1473.31 552.162C1475.3 554.004 1476.35 556.327 1476.48 559.132C1476.63 561.959 1475.78 564.399 1473.92 566.452C1472.62 567.808 1471.1 568.726 1469.35 569.207C1467.63 569.708 1465.89 569.774 1464.13 569.405C1462.42 569.034 1460.89 568.231 1459.56 566.997Z" fill="white"/>
|
||||||
|
<path d="M1496.76 601.476C1494.7 599.571 1493.61 597.217 1493.49 594.411C1493.36 591.606 1494.27 589.175 1496.21 587.118C1498.08 585.065 1500.41 583.997 1503.22 583.912C1506.02 583.827 1508.45 584.737 1510.51 586.641C1512.5 588.483 1513.55 590.806 1513.68 593.612C1513.83 596.438 1512.98 598.878 1511.12 600.931C1509.82 602.287 1508.29 603.206 1506.55 603.686C1504.82 604.187 1503.08 604.253 1501.33 603.884C1499.61 603.513 1498.09 602.711 1496.76 601.476Z" fill="white"/>
|
||||||
|
<path d="M1533.96 635.955C1531.9 634.051 1530.81 631.696 1530.68 628.891C1530.56 626.085 1531.47 623.654 1533.41 621.598C1535.28 619.545 1537.61 618.476 1540.42 618.391C1543.22 618.306 1545.65 619.216 1547.71 621.121C1549.7 622.962 1550.75 625.286 1550.88 628.091C1551.03 630.918 1550.18 633.357 1548.32 635.41C1547.02 636.767 1545.49 637.685 1543.75 638.165C1542.02 638.666 1540.28 638.732 1538.53 638.363C1536.81 637.993 1535.29 637.19 1533.96 635.955Z" fill="white"/>
|
||||||
|
<path d="M1571.16 670.435C1569.1 668.53 1568.01 666.175 1567.88 663.37C1567.76 660.565 1568.67 658.134 1570.61 656.077C1572.47 654.024 1574.81 652.955 1577.62 652.87C1580.42 652.786 1582.85 653.696 1584.91 655.6C1586.9 657.442 1587.95 659.765 1588.08 662.571C1588.23 665.397 1587.38 667.837 1585.52 669.89C1584.22 671.246 1582.69 672.164 1580.95 672.645C1579.22 673.146 1577.48 673.212 1575.73 672.843C1574.01 672.472 1572.49 671.669 1571.16 670.435Z" fill="white"/>
|
||||||
|
<path d="M1608.36 704.914C1606.3 703.01 1605.21 700.655 1605.08 697.849C1604.96 695.044 1605.87 692.613 1607.81 690.557C1609.67 688.504 1612.01 687.435 1614.82 687.35C1617.62 687.265 1620.05 688.175 1622.11 690.079C1624.09 691.921 1625.15 694.245 1625.28 697.05C1625.43 699.876 1624.58 702.316 1622.72 704.369C1621.42 705.726 1619.89 706.644 1618.15 707.124C1616.42 707.625 1614.68 707.691 1612.93 707.322C1611.21 706.952 1609.69 706.149 1608.36 704.914Z" fill="white"/>
|
||||||
|
<path d="M1645.56 739.393C1643.5 737.489 1642.41 735.134 1642.28 732.329C1642.15 729.523 1643.06 727.092 1645.01 725.036C1646.87 722.983 1649.21 721.914 1652.01 721.829C1654.82 721.744 1657.25 722.654 1659.31 724.559C1661.29 726.4 1662.35 728.724 1662.48 731.529C1662.63 734.356 1661.78 736.795 1659.91 738.848C1658.62 740.205 1657.09 741.123 1655.35 741.603C1653.62 742.105 1651.88 742.171 1650.13 741.802C1648.41 741.431 1646.89 740.628 1645.56 739.393Z" fill="white"/>
|
||||||
|
<path d="M1319.35 282.231L1382.54 367.303L1478.66 345.769L1319.35 282.231Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1600 142L1511 288L1600 247.973V142Z" fill="white"/>
|
||||||
|
<path d="M936 156L847 302L936 261.973V156Z" fill="white"/>
|
||||||
|
<path d="M292 717L203 863L292 822.973V717Z" fill="white"/>
|
||||||
|
<path d="M1705 1291.99V1364L1795 1240L1705 1291.99Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M1319 377V325.318L1256 288L1319 377Z" fill="white"/>
|
||||||
|
<path d="M999 201V149.318L936 112L999 201Z" fill="white"/>
|
||||||
|
<path d="M1655.88 1417.42L1691.03 1386.16L1678.52 1321L1655.88 1417.42Z" fill="white"/>
|
||||||
|
<path d="M1389 275L1479 223.018L1389 183V275Z" fill="white" fill-opacity="0.2"/>
|
||||||
|
<path d="M1738.95 1236.69L1830.16 1188.69L1752.11 1140L1738.95 1236.69Z" fill="white" fill-opacity="0.602"/>
|
||||||
|
<path d="M419 186L447 478L619 156L419 186Z" fill="#7799F1"/>
|
||||||
|
<path d="M397.721 371L316.72 581.829L437.186 528.97L397.721 371Z" fill="#4963BE"/>
|
||||||
|
<path d="M503.904 458L631.091 574L579.905 370L503.904 458Z" fill="white"/>
|
||||||
|
<path d="M1722.7 1407.92L1719.13 1448.15L1667.8 1472.88L1722.7 1407.92Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_1048_45">
|
||||||
|
<rect width="2000" height="2000" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 55 KiB |
11
assets/svg/tokens.svg
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_6872_133577)">
|
||||||
|
<path d="M18 11.25C18 12.0938 17.3297 12.8719 16.2 13.5C14.5594 14.4094 11.9437 15 9 15C6.20625 15 3.70594 14.4703 2.055 13.6359C1.96734 13.5891 1.88203 13.5047 1.79953 13.5C0.669375 12.8719 0 12.0938 0 11.25C0 9.17812 4.02937 7.5 9 7.5C13.9688 7.5 18 9.17812 18 11.25ZM9 16.5C11.6344 16.5 14.0906 16.0594 15.9422 15.2859C16.7063 14.9672 17.4141 14.5734 18 14.0906V15.75C18 16.5938 17.3297 17.3719 16.2 18C16.1156 18.0047 16.0313 18.0891 15.9469 18.1359C14.2922 18.9703 11.7937 19.5 9 19.5C6.05625 19.5 3.44109 18.9094 1.79953 18C0.669375 17.3719 0 16.5938 0 15.75V14.0906C0.583594 14.5734 1.29469 14.9672 2.05922 15.2859C3.91125 16.0594 6.36562 16.5 9 16.5ZM18 18.5906V20.25C18 22.3219 13.9688 24 9 24C4.02937 24 0 22.3219 0 20.25V18.5906C0.583594 19.0734 1.29469 19.4672 2.05922 19.7859C3.91125 20.5594 6.36562 21 9 21C11.6344 21 14.0906 20.5594 15.9422 19.7859C16.7063 19.4672 17.4141 19.0734 18 18.5906Z" fill="black"/>
|
||||||
|
<path opacity="0.4" d="M24 3.75C24 4.59422 23.3297 5.37188 22.2 6C20.8359 6.75469 18.8062 7.28906 16.4672 7.44844C16.2984 7.36875 16.1203 7.28906 15.9422 7.21406C14.0906 6.44062 11.6344 6 9 6C8.61094 6 8.23125 6.00938 7.85156 6.02813C7.83281 6.01875 7.81875 6.00938 7.8 6C6.67031 5.37188 6 4.59422 6 3.75C6 1.67906 9.98906 0 15 0C19.9688 0 24 1.67906 24 3.75ZM19.5 13.0359C20.3484 12.8016 21.2109 12.5906 21.9422 12.2859C22.7063 11.9672 23.4141 11.5734 24 11.0906V12.75C24 14.1375 22.1906 15.3516 19.5 15.9984V13.0359ZM19.5 11.25C19.5 10.2234 19.0031 9.37969 18.3703 8.74688C19.6969 8.54063 20.9109 8.2125 21.9422 7.78594C22.7063 7.46719 23.4141 7.07344 24 6.59063V8.25C24 9.09375 23.3297 9.87188 22.2 10.5C22.1156 10.5047 22.0313 10.5891 21.9469 10.6359C21.2625 10.9781 20.4328 11.2734 19.5 11.4984V11.25Z" fill="black"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_6872_133577">
|
||||||
|
<rect width="24" height="24" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2 KiB |
|
@ -61,6 +61,8 @@ PODS:
|
||||||
- cw_wownero/Wownero (0.0.2):
|
- cw_wownero/Wownero (0.0.2):
|
||||||
- cw_shared_external
|
- cw_shared_external
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- device_info_plus (0.0.1):
|
||||||
|
- Flutter
|
||||||
- devicelocale (0.0.1):
|
- devicelocale (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- DKImagePickerController/Core (4.3.4):
|
- DKImagePickerController/Core (4.3.4):
|
||||||
|
@ -119,8 +121,9 @@ PODS:
|
||||||
- MTBBarcodeScanner (5.0.11)
|
- MTBBarcodeScanner (5.0.11)
|
||||||
- package_info_plus (0.4.5):
|
- package_info_plus (0.4.5):
|
||||||
- Flutter
|
- Flutter
|
||||||
- path_provider_ios (0.0.1):
|
- path_provider_foundation (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- FlutterMacOS
|
||||||
- permission_handler_apple (9.0.4):
|
- permission_handler_apple (9.0.4):
|
||||||
- Flutter
|
- Flutter
|
||||||
- ReachabilitySwift (5.0.0)
|
- ReachabilitySwift (5.0.0)
|
||||||
|
@ -129,8 +132,9 @@ PODS:
|
||||||
- SDWebImage/Core (5.13.2)
|
- SDWebImage/Core (5.13.2)
|
||||||
- share_plus (0.0.1):
|
- share_plus (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- shared_preferences_ios (0.0.1):
|
- shared_preferences_foundation (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
- FlutterMacOS
|
||||||
- stack_wallet_backup (0.0.1):
|
- stack_wallet_backup (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- SwiftProtobuf (1.19.0)
|
- SwiftProtobuf (1.19.0)
|
||||||
|
@ -147,6 +151,7 @@ DEPENDENCIES:
|
||||||
- cw_monero (from `.symlinks/plugins/cw_monero/ios`)
|
- cw_monero (from `.symlinks/plugins/cw_monero/ios`)
|
||||||
- cw_shared_external (from `.symlinks/plugins/cw_shared_external/ios`)
|
- cw_shared_external (from `.symlinks/plugins/cw_shared_external/ios`)
|
||||||
- cw_wownero (from `.symlinks/plugins/cw_wownero/ios`)
|
- cw_wownero (from `.symlinks/plugins/cw_wownero/ios`)
|
||||||
|
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
|
||||||
- devicelocale (from `.symlinks/plugins/devicelocale/ios`)
|
- devicelocale (from `.symlinks/plugins/devicelocale/ios`)
|
||||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||||
- Flutter (from `Flutter`)
|
- Flutter (from `Flutter`)
|
||||||
|
@ -160,10 +165,10 @@ DEPENDENCIES:
|
||||||
- lelantus (from `.symlinks/plugins/lelantus/ios`)
|
- lelantus (from `.symlinks/plugins/lelantus/ios`)
|
||||||
- local_auth (from `.symlinks/plugins/local_auth/ios`)
|
- local_auth (from `.symlinks/plugins/local_auth/ios`)
|
||||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||||
- path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
|
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`)
|
||||||
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
||||||
- share_plus (from `.symlinks/plugins/share_plus/ios`)
|
- share_plus (from `.symlinks/plugins/share_plus/ios`)
|
||||||
- shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`)
|
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`)
|
||||||
- stack_wallet_backup (from `.symlinks/plugins/stack_wallet_backup/ios`)
|
- stack_wallet_backup (from `.symlinks/plugins/stack_wallet_backup/ios`)
|
||||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||||
- wakelock (from `.symlinks/plugins/wakelock/ios`)
|
- wakelock (from `.symlinks/plugins/wakelock/ios`)
|
||||||
|
@ -191,6 +196,8 @@ EXTERNAL SOURCES:
|
||||||
:path: ".symlinks/plugins/cw_shared_external/ios"
|
:path: ".symlinks/plugins/cw_shared_external/ios"
|
||||||
cw_wownero:
|
cw_wownero:
|
||||||
:path: ".symlinks/plugins/cw_wownero/ios"
|
:path: ".symlinks/plugins/cw_wownero/ios"
|
||||||
|
device_info_plus:
|
||||||
|
:path: ".symlinks/plugins/device_info_plus/ios"
|
||||||
devicelocale:
|
devicelocale:
|
||||||
:path: ".symlinks/plugins/devicelocale/ios"
|
:path: ".symlinks/plugins/devicelocale/ios"
|
||||||
file_picker:
|
file_picker:
|
||||||
|
@ -217,14 +224,14 @@ EXTERNAL SOURCES:
|
||||||
:path: ".symlinks/plugins/local_auth/ios"
|
:path: ".symlinks/plugins/local_auth/ios"
|
||||||
package_info_plus:
|
package_info_plus:
|
||||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||||
path_provider_ios:
|
path_provider_foundation:
|
||||||
:path: ".symlinks/plugins/path_provider_ios/ios"
|
:path: ".symlinks/plugins/path_provider_foundation/ios"
|
||||||
permission_handler_apple:
|
permission_handler_apple:
|
||||||
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
||||||
share_plus:
|
share_plus:
|
||||||
:path: ".symlinks/plugins/share_plus/ios"
|
:path: ".symlinks/plugins/share_plus/ios"
|
||||||
shared_preferences_ios:
|
shared_preferences_foundation:
|
||||||
:path: ".symlinks/plugins/shared_preferences_ios/ios"
|
:path: ".symlinks/plugins/shared_preferences_foundation/ios"
|
||||||
stack_wallet_backup:
|
stack_wallet_backup:
|
||||||
:path: ".symlinks/plugins/stack_wallet_backup/ios"
|
:path: ".symlinks/plugins/stack_wallet_backup/ios"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
|
@ -239,10 +246,11 @@ SPEC CHECKSUMS:
|
||||||
cw_monero: 9816991daff0e3ad0a8be140e31933b5526babd4
|
cw_monero: 9816991daff0e3ad0a8be140e31933b5526babd4
|
||||||
cw_shared_external: 2972d872b8917603478117c9957dfca611845a92
|
cw_shared_external: 2972d872b8917603478117c9957dfca611845a92
|
||||||
cw_wownero: 08e5713fe311a3be95efd7f3c1bf9d47d9cfafde
|
cw_wownero: 08e5713fe311a3be95efd7f3c1bf9d47d9cfafde
|
||||||
|
device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed
|
||||||
devicelocale: b22617f40038496deffba44747101255cee005b0
|
devicelocale: b22617f40038496deffba44747101255cee005b0
|
||||||
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
|
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
|
||||||
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
||||||
file_picker: 817ab1d8cd2da9d2da412a417162deee3500fc95
|
file_picker: ce3938a0df3cc1ef404671531facef740d03f920
|
||||||
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
||||||
flutter_libepiccash: 36241aa7d3126f6521529985ccb3dc5eaf7bb317
|
flutter_libepiccash: 36241aa7d3126f6521529985ccb3dc5eaf7bb317
|
||||||
flutter_libmonero: da68a616b73dd0374a8419c684fa6b6df2c44ffe
|
flutter_libmonero: da68a616b73dd0374a8419c684fa6b6df2c44ffe
|
||||||
|
@ -250,23 +258,23 @@ SPEC CHECKSUMS:
|
||||||
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
|
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
|
||||||
flutter_secure_storage: 7953c38a04c3fdbb00571bcd87d8e3b5ceb9daec
|
flutter_secure_storage: 7953c38a04c3fdbb00571bcd87d8e3b5ceb9daec
|
||||||
integration_test: a1e7d09bd98eca2fc37aefd79d4f41ad37bdbbe5
|
integration_test: a1e7d09bd98eca2fc37aefd79d4f41ad37bdbbe5
|
||||||
isar_flutter_libs: bfb66f35a1fa9db9ec96b93539a03329ce147738
|
isar_flutter_libs: b69f437aeab9c521821c3f376198c4371fa21073
|
||||||
lelantus: 97ab4ecc648423278f807e499b3a717dea9268f8
|
lelantus: 97ab4ecc648423278f807e499b3a717dea9268f8
|
||||||
local_auth: 1740f55d7af0a2e2a8684ce225fe79d8931e808c
|
local_auth: 1740f55d7af0a2e2a8684ce225fe79d8931e808c
|
||||||
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
|
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
|
||||||
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
|
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
|
||||||
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
|
path_provider_foundation: 37748e03f12783f9de2cb2c4eadfaa25fe6d4852
|
||||||
permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce
|
permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce
|
||||||
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
|
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
|
||||||
SDWebImage: 72f86271a6f3139cc7e4a89220946489d4b9a866
|
SDWebImage: 72f86271a6f3139cc7e4a89220946489d4b9a866
|
||||||
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
|
share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
|
||||||
shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad
|
shared_preferences_foundation: 297b3ebca31b34ec92be11acd7fb0ba932c822ca
|
||||||
stack_wallet_backup: 5b8563aba5d8ffbf2ce1944331ff7294a0ec7c03
|
stack_wallet_backup: 5b8563aba5d8ffbf2ce1944331ff7294a0ec7c03
|
||||||
SwiftProtobuf: 6ef3f0e422ef90d6605ca20b21a94f6c1324d6b3
|
SwiftProtobuf: 6ef3f0e422ef90d6605ca20b21a94f6c1324d6b3
|
||||||
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
|
SwiftyGif: 6c3eafd0ce693cad58bb63d2b2fb9bacb8552780
|
||||||
url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de
|
url_launcher_ios: fb12c43172927bb5cf75aeebd073f883801f1993
|
||||||
wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
|
wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
|
||||||
|
|
||||||
PODFILE CHECKSUM: fe0e1ee7f3d1f7d00b11b474b62dd62134535aea
|
PODFILE CHECKSUM: 57c8aed26fba39d3ec9424816221f294a07c58eb
|
||||||
|
|
||||||
COCOAPODS: 1.11.3
|
COCOAPODS: 1.11.3
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||||
C64D72F92051288D5CB5033D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08E84808BC00DEE3447AF47E /* Pods_Runner.framework */; };
|
B49D91439948369648AB0603 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 51604430FD0FD1FA5C4767A0 /* Pods_Runner.framework */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXCopyFilesBuildPhase section */
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
|
@ -35,11 +35,12 @@
|
||||||
/* End PBXCopyFilesBuildPhase section */
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
08E84808BC00DEE3447AF47E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
||||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||||
|
15168938F13F6113519C963B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||||
|
1B82E12F9C5D326CBB2ADF7E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||||
689E9A74C0452C94E3479BEA /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
51604430FD0FD1FA5C4767A0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||||
|
@ -53,7 +54,6 @@
|
||||||
7E8A4F15288D645200F18717 /* flutter_libepiccash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = flutter_libepiccash.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
7E8A4F15288D645200F18717 /* flutter_libepiccash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = flutter_libepiccash.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
7E8A4F19288D721300F18717 /* flutter_libepiccash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = flutter_libepiccash.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
7E8A4F19288D721300F18717 /* flutter_libepiccash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = flutter_libepiccash.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
7E8A4F1D288D72D100F18717 /* flutter_libepiccash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = flutter_libepiccash.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
7E8A4F1D288D72D100F18717 /* flutter_libepiccash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = flutter_libepiccash.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
7F0C23A93667326FB8E95604 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
|
||||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
F69E2FD9CB433963DAA9B09E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
E6F536731AC506735EB76340 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
7E1603B5288D73EA002F7A6F /* libepic_cash_wallet.a in Frameworks */,
|
7E1603B5288D73EA002F7A6F /* libepic_cash_wallet.a in Frameworks */,
|
||||||
7E729AE82893C1B1009BBD65 /* flutter_libepiccash.framework in Frameworks */,
|
7E729AE82893C1B1009BBD65 /* flutter_libepiccash.framework in Frameworks */,
|
||||||
7E569F992798D47200056D51 /* mobileliblelantus.framework in Frameworks */,
|
7E569F992798D47200056D51 /* mobileliblelantus.framework in Frameworks */,
|
||||||
C64D72F92051288D5CB5033D /* Pods_Runner.framework in Frameworks */,
|
B49D91439948369648AB0603 /* Pods_Runner.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -82,9 +82,9 @@
|
||||||
4D9BC5822E8E05B80CC958A0 /* Pods */ = {
|
4D9BC5822E8E05B80CC958A0 /* Pods */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
7F0C23A93667326FB8E95604 /* Pods-Runner.debug.xcconfig */,
|
1B82E12F9C5D326CBB2ADF7E /* Pods-Runner.debug.xcconfig */,
|
||||||
F69E2FD9CB433963DAA9B09E /* Pods-Runner.release.xcconfig */,
|
E6F536731AC506735EB76340 /* Pods-Runner.release.xcconfig */,
|
||||||
689E9A74C0452C94E3479BEA /* Pods-Runner.profile.xcconfig */,
|
15168938F13F6113519C963B /* Pods-Runner.profile.xcconfig */,
|
||||||
);
|
);
|
||||||
path = Pods;
|
path = Pods;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -102,7 +102,7 @@
|
||||||
7E8A4F06288D5A9300F18717 /* libepic_cash_wallet.a */,
|
7E8A4F06288D5A9300F18717 /* libepic_cash_wallet.a */,
|
||||||
7E8A4F02288D57DE00F18717 /* flutter_libepiccash.framework */,
|
7E8A4F02288D57DE00F18717 /* flutter_libepiccash.framework */,
|
||||||
7E569F982798D47200056D51 /* mobileliblelantus.framework */,
|
7E569F982798D47200056D51 /* mobileliblelantus.framework */,
|
||||||
08E84808BC00DEE3447AF47E /* Pods_Runner.framework */,
|
51604430FD0FD1FA5C4767A0 /* Pods_Runner.framework */,
|
||||||
);
|
);
|
||||||
name = Frameworks;
|
name = Frameworks;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -167,14 +167,14 @@
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
D7C3965259DE109272702285 /* [CP] Check Pods Manifest.lock */,
|
B108E043921CDEDDCB9E1E86 /* [CP] Check Pods Manifest.lock */,
|
||||||
9740EEB61CF901F6004384FC /* Run Script */,
|
9740EEB61CF901F6004384FC /* Run Script */,
|
||||||
97C146EA1CF9000F007C117D /* Sources */,
|
97C146EA1CF9000F007C117D /* Sources */,
|
||||||
97C146EB1CF9000F007C117D /* Frameworks */,
|
97C146EB1CF9000F007C117D /* Frameworks */,
|
||||||
97C146EC1CF9000F007C117D /* Resources */,
|
97C146EC1CF9000F007C117D /* Resources */,
|
||||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||||
30277110A528C730AF372175 /* [CP] Embed Pods Frameworks */,
|
FD1CA371131604E6658D4146 /* [CP] Embed Pods Frameworks */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
|
@ -235,7 +235,57 @@
|
||||||
/* End PBXResourcesBuildPhase section */
|
/* End PBXResourcesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXShellScriptBuildPhase section */
|
/* Begin PBXShellScriptBuildPhase section */
|
||||||
30277110A528C730AF372175 /* [CP] Embed Pods Frameworks */ = {
|
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "Thin Binary";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin\n";
|
||||||
|
};
|
||||||
|
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
);
|
||||||
|
name = "Run Script";
|
||||||
|
outputPaths = (
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
|
||||||
|
};
|
||||||
|
B108E043921CDEDDCB9E1E86 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
);
|
||||||
|
inputFileListPaths = (
|
||||||
|
);
|
||||||
|
inputPaths = (
|
||||||
|
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||||
|
"${PODS_ROOT}/Manifest.lock",
|
||||||
|
);
|
||||||
|
name = "[CP] Check Pods Manifest.lock";
|
||||||
|
outputFileListPaths = (
|
||||||
|
);
|
||||||
|
outputPaths = (
|
||||||
|
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
shellPath = /bin/sh;
|
||||||
|
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||||
|
showEnvVarsInLog = 0;
|
||||||
|
};
|
||||||
|
FD1CA371131604E6658D4146 /* [CP] Embed Pods Frameworks */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
@ -267,9 +317,9 @@
|
||||||
"${BUILT_PRODUCTS_DIR}/lelantus/lelantus.framework",
|
"${BUILT_PRODUCTS_DIR}/lelantus/lelantus.framework",
|
||||||
"${BUILT_PRODUCTS_DIR}/local_auth/local_auth.framework",
|
"${BUILT_PRODUCTS_DIR}/local_auth/local_auth.framework",
|
||||||
"${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework",
|
"${BUILT_PRODUCTS_DIR}/package_info_plus/package_info_plus.framework",
|
||||||
"${BUILT_PRODUCTS_DIR}/path_provider_ios/path_provider_ios.framework",
|
"${BUILT_PRODUCTS_DIR}/path_provider_foundation/path_provider_foundation.framework",
|
||||||
"${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework",
|
"${BUILT_PRODUCTS_DIR}/share_plus/share_plus.framework",
|
||||||
"${BUILT_PRODUCTS_DIR}/shared_preferences_ios/shared_preferences_ios.framework",
|
"${BUILT_PRODUCTS_DIR}/shared_preferences_foundation/shared_preferences_foundation.framework",
|
||||||
"${BUILT_PRODUCTS_DIR}/stack_wallet_backup/stack_wallet_backup.framework",
|
"${BUILT_PRODUCTS_DIR}/stack_wallet_backup/stack_wallet_backup.framework",
|
||||||
"${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework",
|
"${BUILT_PRODUCTS_DIR}/url_launcher_ios/url_launcher_ios.framework",
|
||||||
"${BUILT_PRODUCTS_DIR}/wakelock/wakelock.framework",
|
"${BUILT_PRODUCTS_DIR}/wakelock/wakelock.framework",
|
||||||
|
@ -301,9 +351,9 @@
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/lelantus.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/lelantus.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/local_auth.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/local_auth.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/package_info_plus.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_ios.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/path_provider_foundation.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/share_plus.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_ios.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences_foundation.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/stack_wallet_backup.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/stack_wallet_backup.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher_ios.framework",
|
||||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/wakelock.framework",
|
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/wakelock.framework",
|
||||||
|
@ -313,56 +363,6 @@
|
||||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||||
showEnvVarsInLog = 0;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "Thin Binary";
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin\n";
|
|
||||||
};
|
|
||||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
);
|
|
||||||
name = "Run Script";
|
|
||||||
outputPaths = (
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n";
|
|
||||||
};
|
|
||||||
D7C3965259DE109272702285 /* [CP] Check Pods Manifest.lock */ = {
|
|
||||||
isa = PBXShellScriptBuildPhase;
|
|
||||||
buildActionMask = 2147483647;
|
|
||||||
files = (
|
|
||||||
);
|
|
||||||
inputFileListPaths = (
|
|
||||||
);
|
|
||||||
inputPaths = (
|
|
||||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
|
||||||
"${PODS_ROOT}/Manifest.lock",
|
|
||||||
);
|
|
||||||
name = "[CP] Check Pods Manifest.lock";
|
|
||||||
outputFileListPaths = (
|
|
||||||
);
|
|
||||||
outputPaths = (
|
|
||||||
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
|
||||||
);
|
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
|
||||||
shellPath = /bin/sh;
|
|
||||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
|
||||||
showEnvVarsInLog = 0;
|
|
||||||
};
|
|
||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
|
|
@ -253,4 +253,5 @@ abstract class DBKeys {
|
||||||
static const String isFavorite = "isFavorite";
|
static const String isFavorite = "isFavorite";
|
||||||
static const String id = "id";
|
static const String id = "id";
|
||||||
static const String storedChainHeight = "storedChainHeight";
|
static const String storedChainHeight = "storedChainHeight";
|
||||||
|
static const String ethTokenContracts = "ethTokenContracts";
|
||||||
}
|
}
|
|
@ -3,12 +3,12 @@ import 'package:flutter_native_splash/cli_commands.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:stackwallet/exceptions/main_db/main_db_exception.dart';
|
import 'package:stackwallet/exceptions/main_db/main_db_exception.dart';
|
||||||
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/stack_file_system.dart';
|
import 'package:stackwallet/utilities/stack_file_system.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
part 'queries/queries.dart';
|
part '../queries/queries.dart';
|
||||||
|
|
||||||
class MainDB {
|
class MainDB {
|
||||||
MainDB._();
|
MainDB._();
|
||||||
|
@ -32,6 +32,7 @@ class MainDB {
|
||||||
UTXOSchema,
|
UTXOSchema,
|
||||||
AddressSchema,
|
AddressSchema,
|
||||||
AddressLabelSchema,
|
AddressLabelSchema,
|
||||||
|
EthContractSchema,
|
||||||
],
|
],
|
||||||
directory: (await StackFileSystem.applicationIsarDirectory()).path,
|
directory: (await StackFileSystem.applicationIsarDirectory()).path,
|
||||||
// inspector: kDebugMode,
|
// inspector: kDebugMode,
|
||||||
|
@ -395,4 +396,26 @@ class MainDB {
|
||||||
throw MainDBException("failed addNewTransactionData", e);
|
throw MainDBException("failed addNewTransactionData", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ========== Ethereum =======================================================
|
||||||
|
|
||||||
|
// eth contracts
|
||||||
|
|
||||||
|
QueryBuilder<EthContract, EthContract, QWhere> getEthContracts() =>
|
||||||
|
isar.ethContracts.where();
|
||||||
|
|
||||||
|
Future<EthContract?> getEthContract(String contractAddress) =>
|
||||||
|
isar.ethContracts.where().addressEqualTo(contractAddress).findFirst();
|
||||||
|
|
||||||
|
EthContract? getEthContractSync(String contractAddress) =>
|
||||||
|
isar.ethContracts.where().addressEqualTo(contractAddress).findFirstSync();
|
||||||
|
|
||||||
|
Future<int> putEthContract(EthContract contract) => isar.writeTxn(() async {
|
||||||
|
return await isar.ethContracts.put(contract);
|
||||||
|
});
|
||||||
|
|
||||||
|
Future<void> putEthContracts(List<EthContract> contracts) =>
|
||||||
|
isar.writeTxn(() async {
|
||||||
|
await isar.ethContracts.putAll(contracts);
|
||||||
|
});
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
part of 'package:stackwallet/db/main_db.dart';
|
part of 'package:stackwallet/db/isar/main_db.dart';
|
||||||
|
|
||||||
enum CCFilter {
|
enum CCFilter {
|
||||||
all,
|
all,
|
||||||
|
@ -67,10 +67,10 @@ extension MainDBQueries on MainDB {
|
||||||
final maybeDecimal = Decimal.tryParse(searchTerm);
|
final maybeDecimal = Decimal.tryParse(searchTerm);
|
||||||
if (maybeDecimal != null) {
|
if (maybeDecimal != null) {
|
||||||
qq = qq.or().valueEqualTo(
|
qq = qq.or().valueEqualTo(
|
||||||
Format.decimalAmountToSatoshis(
|
Amount.fromDecimal(
|
||||||
maybeDecimal,
|
maybeDecimal,
|
||||||
coin,
|
fractionDigits: coin.decimals,
|
||||||
),
|
).raw.toInt(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,10 +139,10 @@ extension MainDBQueries on MainDB {
|
||||||
final maybeDecimal = Decimal.tryParse(searchTerm);
|
final maybeDecimal = Decimal.tryParse(searchTerm);
|
||||||
if (maybeDecimal != null) {
|
if (maybeDecimal != null) {
|
||||||
qq = qq.or().valueEqualTo(
|
qq = qq.or().valueEqualTo(
|
||||||
Format.decimalAmountToSatoshis(
|
Amount.fromDecimal(
|
||||||
maybeDecimal,
|
maybeDecimal,
|
||||||
coin,
|
fractionDigits: coin.decimals,
|
||||||
),
|
).raw.toInt(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
169
lib/dto/ethereum/eth_token_tx_dto.dart
Normal file
|
@ -0,0 +1,169 @@
|
||||||
|
/// address : "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984"
|
||||||
|
/// blockNumber : 16484149
|
||||||
|
/// logIndex : 61
|
||||||
|
/// topics : ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x0000000000000000000000003a5cc8689d1b0cef2c317bc5c0ad6ce88b27d597","0x000000000000000000000000c5e81fc2401b8104966637d5334cbce92f01dbf7"]
|
||||||
|
/// data : "0x0000000000000000000000000000000000000000000000002dac1c4be587d800"
|
||||||
|
/// articulatedLog : {"name":"Transfer","inputs":{"_amount":"3291036540000000000","_from":"0x3a5cc8689d1b0cef2c317bc5c0ad6ce88b27d597","_to":"0xc5e81fc2401b8104966637d5334cbce92f01dbf7"}}
|
||||||
|
/// compressedLog : "{name:Transfer|inputs:{_amount:3291036540000000000|_from:0x3a5cc8689d1b0cef2c317bc5c0ad6ce88b27d597|_to:0xc5e81fc2401b8104966637d5334cbce92f01dbf7}}"
|
||||||
|
/// transactionHash : "0x5b59559a77fa5f1c70528d41f4fa2e5fa5a00b21fc2f3bc26b208b3062e46333"
|
||||||
|
/// transactionIndex : 25
|
||||||
|
|
||||||
|
class EthTokenTxDto {
|
||||||
|
EthTokenTxDto({
|
||||||
|
required this.address,
|
||||||
|
required this.blockNumber,
|
||||||
|
required this.logIndex,
|
||||||
|
required this.topics,
|
||||||
|
required this.data,
|
||||||
|
required this.articulatedLog,
|
||||||
|
required this.compressedLog,
|
||||||
|
required this.transactionHash,
|
||||||
|
required this.transactionIndex,
|
||||||
|
});
|
||||||
|
|
||||||
|
EthTokenTxDto.fromMap(Map<String, dynamic> map)
|
||||||
|
: address = map['address'] as String,
|
||||||
|
blockNumber = map['blockNumber'] as int,
|
||||||
|
logIndex = map['logIndex'] as int,
|
||||||
|
topics = List<String>.from(map['topics'] as List),
|
||||||
|
data = map['data'] as String,
|
||||||
|
articulatedLog = map['articulatedLog'] == null
|
||||||
|
? null
|
||||||
|
: ArticulatedLog.fromMap(
|
||||||
|
Map<String, dynamic>.from(
|
||||||
|
map['articulatedLog'] as Map,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
compressedLog = map['compressedLog'] as String,
|
||||||
|
transactionHash = map['transactionHash'] as String,
|
||||||
|
transactionIndex = map['transactionIndex'] as int;
|
||||||
|
|
||||||
|
final String address;
|
||||||
|
final int blockNumber;
|
||||||
|
final int logIndex;
|
||||||
|
final List<String> topics;
|
||||||
|
final String data;
|
||||||
|
final ArticulatedLog? articulatedLog;
|
||||||
|
final String compressedLog;
|
||||||
|
final String transactionHash;
|
||||||
|
final int transactionIndex;
|
||||||
|
|
||||||
|
EthTokenTxDto copyWith({
|
||||||
|
String? address,
|
||||||
|
int? blockNumber,
|
||||||
|
int? logIndex,
|
||||||
|
List<String>? topics,
|
||||||
|
String? data,
|
||||||
|
ArticulatedLog? articulatedLog,
|
||||||
|
String? compressedLog,
|
||||||
|
String? transactionHash,
|
||||||
|
int? transactionIndex,
|
||||||
|
}) =>
|
||||||
|
EthTokenTxDto(
|
||||||
|
address: address ?? this.address,
|
||||||
|
blockNumber: blockNumber ?? this.blockNumber,
|
||||||
|
logIndex: logIndex ?? this.logIndex,
|
||||||
|
topics: topics ?? this.topics,
|
||||||
|
data: data ?? this.data,
|
||||||
|
articulatedLog: articulatedLog ?? this.articulatedLog,
|
||||||
|
compressedLog: compressedLog ?? this.compressedLog,
|
||||||
|
transactionHash: transactionHash ?? this.transactionHash,
|
||||||
|
transactionIndex: transactionIndex ?? this.transactionIndex,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
final map = <String, dynamic>{};
|
||||||
|
map['address'] = address;
|
||||||
|
map['blockNumber'] = blockNumber;
|
||||||
|
map['logIndex'] = logIndex;
|
||||||
|
map['topics'] = topics;
|
||||||
|
map['data'] = data;
|
||||||
|
map['articulatedLog'] = articulatedLog?.toMap();
|
||||||
|
map['compressedLog'] = compressedLog;
|
||||||
|
map['transactionHash'] = transactionHash;
|
||||||
|
map['transactionIndex'] = transactionIndex;
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return toMap().toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// name : "Transfer"
|
||||||
|
/// inputs : {"_amount":"3291036540000000000","_from":"0x3a5cc8689d1b0cef2c317bc5c0ad6ce88b27d597","_to":"0xc5e81fc2401b8104966637d5334cbce92f01dbf7"}
|
||||||
|
|
||||||
|
class ArticulatedLog {
|
||||||
|
ArticulatedLog({
|
||||||
|
required this.name,
|
||||||
|
required this.inputs,
|
||||||
|
});
|
||||||
|
|
||||||
|
ArticulatedLog.fromMap(Map<String, dynamic> map)
|
||||||
|
: name = map['name'] as String,
|
||||||
|
inputs = Inputs.fromMap(
|
||||||
|
Map<String, dynamic>.from(
|
||||||
|
map['inputs'] as Map,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
final String name;
|
||||||
|
final Inputs inputs;
|
||||||
|
|
||||||
|
ArticulatedLog copyWith({
|
||||||
|
String? name,
|
||||||
|
Inputs? inputs,
|
||||||
|
}) =>
|
||||||
|
ArticulatedLog(
|
||||||
|
name: name ?? this.name,
|
||||||
|
inputs: inputs ?? this.inputs,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
final map = <String, dynamic>{};
|
||||||
|
map['name'] = name;
|
||||||
|
map['inputs'] = inputs.toMap();
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// _amount : "3291036540000000000"
|
||||||
|
/// _from : "0x3a5cc8689d1b0cef2c317bc5c0ad6ce88b27d597"
|
||||||
|
/// _to : "0xc5e81fc2401b8104966637d5334cbce92f01dbf7"
|
||||||
|
///
|
||||||
|
class Inputs {
|
||||||
|
Inputs({
|
||||||
|
required this.amount,
|
||||||
|
required this.from,
|
||||||
|
required this.to,
|
||||||
|
});
|
||||||
|
|
||||||
|
Inputs.fromMap(Map<String, dynamic> map)
|
||||||
|
: amount = map['_amount'] as String,
|
||||||
|
from = map['_from'] as String,
|
||||||
|
to = map['_to'] as String;
|
||||||
|
|
||||||
|
final String amount;
|
||||||
|
final String from;
|
||||||
|
final String to;
|
||||||
|
|
||||||
|
Inputs copyWith({
|
||||||
|
String? amount,
|
||||||
|
String? from,
|
||||||
|
String? to,
|
||||||
|
}) =>
|
||||||
|
Inputs(
|
||||||
|
amount: amount ?? this.amount,
|
||||||
|
from: from ?? this.from,
|
||||||
|
to: to ?? this.to,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
final map = <String, dynamic>{};
|
||||||
|
map['_amount'] = amount;
|
||||||
|
map['_from'] = from;
|
||||||
|
map['_to'] = to;
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
}
|
121
lib/dto/ethereum/eth_token_tx_extra_dto.dart
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
|
|
||||||
|
class EthTokenTxExtraDTO {
|
||||||
|
EthTokenTxExtraDTO({
|
||||||
|
required this.blockHash,
|
||||||
|
required this.blockNumber,
|
||||||
|
required this.from,
|
||||||
|
required this.gas,
|
||||||
|
required this.gasCost,
|
||||||
|
required this.gasPrice,
|
||||||
|
required this.gasUsed,
|
||||||
|
required this.hash,
|
||||||
|
required this.input,
|
||||||
|
required this.nonce,
|
||||||
|
required this.timestamp,
|
||||||
|
required this.to,
|
||||||
|
required this.transactionIndex,
|
||||||
|
required this.value,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory EthTokenTxExtraDTO.fromMap(Map<String, dynamic> map) =>
|
||||||
|
EthTokenTxExtraDTO(
|
||||||
|
hash: map['hash'] as String,
|
||||||
|
blockHash: map['blockHash'] as String,
|
||||||
|
blockNumber: map['blockNumber'] as int,
|
||||||
|
transactionIndex: map['transactionIndex'] as int,
|
||||||
|
timestamp: map['timestamp'] as int,
|
||||||
|
from: map['from'] as String,
|
||||||
|
to: map['to'] as String,
|
||||||
|
value: Amount(
|
||||||
|
rawValue: BigInt.parse(map['value'] as String),
|
||||||
|
fractionDigits: Coin.ethereum.decimals,
|
||||||
|
),
|
||||||
|
gas: _amountFromJsonNum(map['gas']),
|
||||||
|
gasPrice: _amountFromJsonNum(map['gasPrice']),
|
||||||
|
nonce: map['nonce'] as int,
|
||||||
|
input: map['input'] as String,
|
||||||
|
gasCost: _amountFromJsonNum(map['gasCost']),
|
||||||
|
gasUsed: _amountFromJsonNum(map['gasUsed']),
|
||||||
|
);
|
||||||
|
|
||||||
|
final String hash;
|
||||||
|
final String blockHash;
|
||||||
|
final int blockNumber;
|
||||||
|
final int transactionIndex;
|
||||||
|
final int timestamp;
|
||||||
|
final String from;
|
||||||
|
final String to;
|
||||||
|
final Amount value;
|
||||||
|
final Amount gas;
|
||||||
|
final Amount gasPrice;
|
||||||
|
final String input;
|
||||||
|
final int nonce;
|
||||||
|
final Amount gasCost;
|
||||||
|
final Amount gasUsed;
|
||||||
|
|
||||||
|
static Amount _amountFromJsonNum(dynamic json) {
|
||||||
|
return Amount(
|
||||||
|
rawValue: BigInt.from(json as num),
|
||||||
|
fractionDigits: Coin.ethereum.decimals,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
EthTokenTxExtraDTO copyWith({
|
||||||
|
String? hash,
|
||||||
|
String? blockHash,
|
||||||
|
int? blockNumber,
|
||||||
|
int? transactionIndex,
|
||||||
|
int? timestamp,
|
||||||
|
String? from,
|
||||||
|
String? to,
|
||||||
|
Amount? value,
|
||||||
|
Amount? gas,
|
||||||
|
Amount? gasPrice,
|
||||||
|
int? nonce,
|
||||||
|
String? input,
|
||||||
|
Amount? gasCost,
|
||||||
|
Amount? gasUsed,
|
||||||
|
}) =>
|
||||||
|
EthTokenTxExtraDTO(
|
||||||
|
hash: hash ?? this.hash,
|
||||||
|
blockHash: blockHash ?? this.blockHash,
|
||||||
|
blockNumber: blockNumber ?? this.blockNumber,
|
||||||
|
transactionIndex: transactionIndex ?? this.transactionIndex,
|
||||||
|
timestamp: timestamp ?? this.timestamp,
|
||||||
|
from: from ?? this.from,
|
||||||
|
to: to ?? this.to,
|
||||||
|
value: value ?? this.value,
|
||||||
|
gas: gas ?? this.gas,
|
||||||
|
gasPrice: gasPrice ?? this.gasPrice,
|
||||||
|
nonce: nonce ?? this.nonce,
|
||||||
|
input: input ?? this.input,
|
||||||
|
gasCost: gasCost ?? this.gasCost,
|
||||||
|
gasUsed: gasUsed ?? this.gasUsed,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
final map = <String, dynamic>{};
|
||||||
|
map['hash'] = hash;
|
||||||
|
map['blockHash'] = blockHash;
|
||||||
|
map['blockNumber'] = blockNumber;
|
||||||
|
map['transactionIndex'] = transactionIndex;
|
||||||
|
map['timestamp'] = timestamp;
|
||||||
|
map['from'] = from;
|
||||||
|
map['to'] = to;
|
||||||
|
map['value'] = value;
|
||||||
|
map['gas'] = gas;
|
||||||
|
map['gasPrice'] = gasPrice;
|
||||||
|
map['input'] = input;
|
||||||
|
map['nonce'] = nonce;
|
||||||
|
map['gasCost'] = gasCost;
|
||||||
|
map['gasUsed'] = gasUsed;
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => jsonEncode(toMap());
|
||||||
|
}
|
135
lib/dto/ethereum/eth_tx_dto.dart
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
|
|
||||||
|
class EthTxDTO {
|
||||||
|
EthTxDTO({
|
||||||
|
required this.hash,
|
||||||
|
required this.blockHash,
|
||||||
|
required this.blockNumber,
|
||||||
|
required this.transactionIndex,
|
||||||
|
required this.timestamp,
|
||||||
|
required this.from,
|
||||||
|
required this.to,
|
||||||
|
required this.value,
|
||||||
|
required this.gas,
|
||||||
|
required this.gasPrice,
|
||||||
|
required this.maxFeePerGas,
|
||||||
|
required this.maxPriorityFeePerGas,
|
||||||
|
required this.isError,
|
||||||
|
required this.hasToken,
|
||||||
|
required this.compressedTx,
|
||||||
|
required this.gasCost,
|
||||||
|
required this.gasUsed,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory EthTxDTO.fromMap(Map<String, dynamic> map) => EthTxDTO(
|
||||||
|
hash: map['hash'] as String,
|
||||||
|
blockHash: map['blockHash'] as String,
|
||||||
|
blockNumber: map['blockNumber'] as int,
|
||||||
|
transactionIndex: map['transactionIndex'] as int,
|
||||||
|
timestamp: map['timestamp'] as int,
|
||||||
|
from: map['from'] as String,
|
||||||
|
to: map['to'] as String,
|
||||||
|
value: _amountFromJsonNum(map['value']),
|
||||||
|
gas: _amountFromJsonNum(map['gas']),
|
||||||
|
gasPrice: _amountFromJsonNum(map['gasPrice']),
|
||||||
|
maxFeePerGas: _amountFromJsonNum(map['maxFeePerGas']),
|
||||||
|
maxPriorityFeePerGas: _amountFromJsonNum(map['maxPriorityFeePerGas']),
|
||||||
|
isError: map['isError'] as int,
|
||||||
|
hasToken: map['hasToken'] as int,
|
||||||
|
compressedTx: map['compressedTx'] as String,
|
||||||
|
gasCost: _amountFromJsonNum(map['gasCost']),
|
||||||
|
gasUsed: _amountFromJsonNum(map['gasUsed']),
|
||||||
|
);
|
||||||
|
|
||||||
|
final String hash;
|
||||||
|
final String blockHash;
|
||||||
|
final int blockNumber;
|
||||||
|
final int transactionIndex;
|
||||||
|
final int timestamp;
|
||||||
|
final String from;
|
||||||
|
final String to;
|
||||||
|
final Amount value;
|
||||||
|
final Amount gas;
|
||||||
|
final Amount gasPrice;
|
||||||
|
final Amount maxFeePerGas;
|
||||||
|
final Amount maxPriorityFeePerGas;
|
||||||
|
final int isError;
|
||||||
|
final int hasToken;
|
||||||
|
final String compressedTx;
|
||||||
|
final Amount gasCost;
|
||||||
|
final Amount gasUsed;
|
||||||
|
|
||||||
|
static Amount _amountFromJsonNum(dynamic json) {
|
||||||
|
return Amount(
|
||||||
|
rawValue: BigInt.from(json as num),
|
||||||
|
fractionDigits: Coin.ethereum.decimals,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
EthTxDTO copyWith({
|
||||||
|
String? hash,
|
||||||
|
String? blockHash,
|
||||||
|
int? blockNumber,
|
||||||
|
int? transactionIndex,
|
||||||
|
int? timestamp,
|
||||||
|
String? from,
|
||||||
|
String? to,
|
||||||
|
Amount? value,
|
||||||
|
Amount? gas,
|
||||||
|
Amount? gasPrice,
|
||||||
|
Amount? maxFeePerGas,
|
||||||
|
Amount? maxPriorityFeePerGas,
|
||||||
|
int? isError,
|
||||||
|
int? hasToken,
|
||||||
|
String? compressedTx,
|
||||||
|
Amount? gasCost,
|
||||||
|
Amount? gasUsed,
|
||||||
|
}) =>
|
||||||
|
EthTxDTO(
|
||||||
|
hash: hash ?? this.hash,
|
||||||
|
blockHash: blockHash ?? this.blockHash,
|
||||||
|
blockNumber: blockNumber ?? this.blockNumber,
|
||||||
|
transactionIndex: transactionIndex ?? this.transactionIndex,
|
||||||
|
timestamp: timestamp ?? this.timestamp,
|
||||||
|
from: from ?? this.from,
|
||||||
|
to: to ?? this.to,
|
||||||
|
value: value ?? this.value,
|
||||||
|
gas: gas ?? this.gas,
|
||||||
|
gasPrice: gasPrice ?? this.gasPrice,
|
||||||
|
maxFeePerGas: maxFeePerGas ?? this.maxFeePerGas,
|
||||||
|
maxPriorityFeePerGas: maxPriorityFeePerGas ?? this.maxPriorityFeePerGas,
|
||||||
|
isError: isError ?? this.isError,
|
||||||
|
hasToken: hasToken ?? this.hasToken,
|
||||||
|
compressedTx: compressedTx ?? this.compressedTx,
|
||||||
|
gasCost: gasCost ?? this.gasCost,
|
||||||
|
gasUsed: gasUsed ?? this.gasUsed,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
final map = <String, dynamic>{};
|
||||||
|
map['hash'] = hash;
|
||||||
|
map['blockHash'] = blockHash;
|
||||||
|
map['blockNumber'] = blockNumber;
|
||||||
|
map['transactionIndex'] = transactionIndex;
|
||||||
|
map['timestamp'] = timestamp;
|
||||||
|
map['from'] = from;
|
||||||
|
map['to'] = to;
|
||||||
|
map['value'] = value;
|
||||||
|
map['gas'] = gas;
|
||||||
|
map['gasPrice'] = gasPrice;
|
||||||
|
map['maxFeePerGas'] = maxFeePerGas;
|
||||||
|
map['maxPriorityFeePerGas'] = maxPriorityFeePerGas;
|
||||||
|
map['isError'] = isError;
|
||||||
|
map['hasToken'] = hasToken;
|
||||||
|
map['compressedTx'] = compressedTx;
|
||||||
|
map['gasCost'] = gasCost;
|
||||||
|
map['gasUsed'] = gasUsed;
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => jsonEncode(toMap());
|
||||||
|
}
|
150
lib/dto/ethereum/pending_eth_tx_dto.dart
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
/// blockHash : null
|
||||||
|
/// blockNumber : null
|
||||||
|
/// from : "0x..."
|
||||||
|
/// gas : "0x7e562"
|
||||||
|
/// maxPriorityFeePerGas : "0x444380"
|
||||||
|
/// maxFeePerGas : "0x342570c00"
|
||||||
|
/// hash : "0x...da64e4"
|
||||||
|
/// input : "....."
|
||||||
|
/// nonce : "0x70"
|
||||||
|
/// to : "0x00....."
|
||||||
|
/// transactionIndex : null
|
||||||
|
/// value : "0x0"
|
||||||
|
/// type : "0x2"
|
||||||
|
/// accessList : []
|
||||||
|
/// chainId : "0x1"
|
||||||
|
/// v : "0x0"
|
||||||
|
/// r : "0xd..."
|
||||||
|
/// s : "0x17d...6e6"
|
||||||
|
|
||||||
|
class PendingEthTxDto {
|
||||||
|
PendingEthTxDto({
|
||||||
|
required this.blockHash,
|
||||||
|
required this.blockNumber,
|
||||||
|
required this.from,
|
||||||
|
required this.gas,
|
||||||
|
required this.maxPriorityFeePerGas,
|
||||||
|
required this.maxFeePerGas,
|
||||||
|
required this.hash,
|
||||||
|
required this.input,
|
||||||
|
required this.nonce,
|
||||||
|
required this.to,
|
||||||
|
required this.transactionIndex,
|
||||||
|
required this.value,
|
||||||
|
required this.type,
|
||||||
|
required this.accessList,
|
||||||
|
required this.chainId,
|
||||||
|
required this.v,
|
||||||
|
required this.r,
|
||||||
|
required this.s,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory PendingEthTxDto.fromMap(Map<String, dynamic> map) => PendingEthTxDto(
|
||||||
|
blockHash: map['blockHash'] as String?,
|
||||||
|
blockNumber: map['blockNumber'] as int?,
|
||||||
|
from: map['from'] as String,
|
||||||
|
gas: map['gas'] as String,
|
||||||
|
maxPriorityFeePerGas: map['maxPriorityFeePerGas'] as String,
|
||||||
|
maxFeePerGas: map['maxFeePerGas'] as String,
|
||||||
|
hash: map['hash'] as String,
|
||||||
|
input: map['input'] as String,
|
||||||
|
nonce: map['nonce'] as String,
|
||||||
|
to: map['to'] as String,
|
||||||
|
transactionIndex: map['transactionIndex'] as int?,
|
||||||
|
value: map['value'] as String,
|
||||||
|
type: map['type'] as String,
|
||||||
|
accessList: map['accessList'] as List? ?? [],
|
||||||
|
chainId: map['chainId'] as String,
|
||||||
|
v: map['v'] as String,
|
||||||
|
r: map['r'] as String,
|
||||||
|
s: map['s'] as String,
|
||||||
|
);
|
||||||
|
|
||||||
|
final String? blockHash;
|
||||||
|
final int? blockNumber;
|
||||||
|
final String from;
|
||||||
|
final String gas;
|
||||||
|
final String maxPriorityFeePerGas;
|
||||||
|
final String maxFeePerGas;
|
||||||
|
final String hash;
|
||||||
|
final String input;
|
||||||
|
final String nonce;
|
||||||
|
final String to;
|
||||||
|
final int? transactionIndex;
|
||||||
|
final String value;
|
||||||
|
final String type;
|
||||||
|
final List<dynamic> accessList;
|
||||||
|
final String chainId;
|
||||||
|
final String v;
|
||||||
|
final String r;
|
||||||
|
final String s;
|
||||||
|
|
||||||
|
PendingEthTxDto copyWith({
|
||||||
|
String? blockHash,
|
||||||
|
int? blockNumber,
|
||||||
|
String? from,
|
||||||
|
String? gas,
|
||||||
|
String? maxPriorityFeePerGas,
|
||||||
|
String? maxFeePerGas,
|
||||||
|
String? hash,
|
||||||
|
String? input,
|
||||||
|
String? nonce,
|
||||||
|
String? to,
|
||||||
|
int? transactionIndex,
|
||||||
|
String? value,
|
||||||
|
String? type,
|
||||||
|
List<dynamic>? accessList,
|
||||||
|
String? chainId,
|
||||||
|
String? v,
|
||||||
|
String? r,
|
||||||
|
String? s,
|
||||||
|
}) =>
|
||||||
|
PendingEthTxDto(
|
||||||
|
blockHash: blockHash ?? this.blockHash,
|
||||||
|
blockNumber: blockNumber ?? this.blockNumber,
|
||||||
|
from: from ?? this.from,
|
||||||
|
gas: gas ?? this.gas,
|
||||||
|
maxPriorityFeePerGas: maxPriorityFeePerGas ?? this.maxPriorityFeePerGas,
|
||||||
|
maxFeePerGas: maxFeePerGas ?? this.maxFeePerGas,
|
||||||
|
hash: hash ?? this.hash,
|
||||||
|
input: input ?? this.input,
|
||||||
|
nonce: nonce ?? this.nonce,
|
||||||
|
to: to ?? this.to,
|
||||||
|
transactionIndex: transactionIndex ?? this.transactionIndex,
|
||||||
|
value: value ?? this.value,
|
||||||
|
type: type ?? this.type,
|
||||||
|
accessList: accessList ?? this.accessList,
|
||||||
|
chainId: chainId ?? this.chainId,
|
||||||
|
v: v ?? this.v,
|
||||||
|
r: r ?? this.r,
|
||||||
|
s: s ?? this.s,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
final map = <String, dynamic>{};
|
||||||
|
map['blockHash'] = blockHash;
|
||||||
|
map['blockNumber'] = blockNumber;
|
||||||
|
map['from'] = from;
|
||||||
|
map['gas'] = gas;
|
||||||
|
map['maxPriorityFeePerGas'] = maxPriorityFeePerGas;
|
||||||
|
map['maxFeePerGas'] = maxFeePerGas;
|
||||||
|
map['hash'] = hash;
|
||||||
|
map['input'] = input;
|
||||||
|
map['nonce'] = nonce;
|
||||||
|
map['to'] = to;
|
||||||
|
map['transactionIndex'] = transactionIndex;
|
||||||
|
map['value'] = value;
|
||||||
|
map['type'] = type;
|
||||||
|
map['accessList'] = accessList;
|
||||||
|
map['chainId'] = chainId;
|
||||||
|
map['v'] = v;
|
||||||
|
map['r'] = r;
|
||||||
|
map['s'] = s;
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() {
|
||||||
|
return toMap().toString();
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:stackwallet/db/hive/db.dart';
|
||||||
import 'package:stackwallet/electrumx_rpc/electrumx.dart';
|
import 'package:stackwallet/electrumx_rpc/electrumx.dart';
|
||||||
import 'package:stackwallet/hive/db.dart';
|
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/logger.dart';
|
import 'package:stackwallet/utilities/logger.dart';
|
||||||
import 'package:stackwallet/utilities/prefs.dart';
|
import 'package:stackwallet/utilities/prefs.dart';
|
||||||
|
|
|
@ -18,12 +18,12 @@ import 'package:hive_flutter/hive_flutter.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:keyboard_dismisser/keyboard_dismisser.dart';
|
import 'package:keyboard_dismisser/keyboard_dismisser.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:stackwallet/db/main_db.dart';
|
import 'package:stackwallet/db/hive/db.dart';
|
||||||
import 'package:stackwallet/hive/db.dart';
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart';
|
import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart';
|
||||||
import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart';
|
import 'package:stackwallet/models/exchange/change_now/exchange_transaction_status.dart';
|
||||||
import 'package:stackwallet/models/exchange/response_objects/trade.dart';
|
import 'package:stackwallet/models/exchange/response_objects/trade.dart';
|
||||||
import 'package:stackwallet/models/isar/models/log.dart';
|
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
||||||
import 'package:stackwallet/models/models.dart';
|
import 'package:stackwallet/models/models.dart';
|
||||||
import 'package:stackwallet/models/node_model.dart';
|
import 'package:stackwallet/models/node_model.dart';
|
||||||
import 'package:stackwallet/models/notification_model.dart';
|
import 'package:stackwallet/models/notification_model.dart';
|
||||||
|
@ -251,6 +251,12 @@ class _MaterialAppWithThemeState extends ConsumerState<MaterialAppWithTheme>
|
||||||
await ref.read(storageCryptoHandlerProvider).hasPassword();
|
await ref.read(storageCryptoHandlerProvider).hasPassword();
|
||||||
}
|
}
|
||||||
await MainDB.instance.initMainDB();
|
await MainDB.instance.initMainDB();
|
||||||
|
ref
|
||||||
|
.read(priceAnd24hChangeNotifierProvider)
|
||||||
|
.tokenContractAddressesToCheck
|
||||||
|
.addAll(
|
||||||
|
await MainDB.instance.getEthContracts().addressProperty().findAll(),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> load() async {
|
Future<void> load() async {
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
import 'package:equatable/equatable.dart';
|
||||||
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
|
|
||||||
|
abstract class AddWalletListEntity extends Equatable {
|
||||||
|
Coin get coin;
|
||||||
|
String get name;
|
||||||
|
String get ticker;
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart';
|
||||||
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
|
|
||||||
|
class CoinEntity extends AddWalletListEntity {
|
||||||
|
CoinEntity(this._coin);
|
||||||
|
|
||||||
|
final Coin _coin;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Coin get coin => _coin;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get name => coin.prettyName;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get ticker => coin.ticker;
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object?> get props => [coin, name, ticker];
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
|
|
||||||
|
class EthTokenEntity extends AddWalletListEntity {
|
||||||
|
EthTokenEntity(this.token);
|
||||||
|
|
||||||
|
final EthContract token;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Coin get coin => Coin.ethereum;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get name => token.name;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get ticker => token.symbol;
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object?> get props => [coin, name, ticker, token.address];
|
||||||
|
}
|
|
@ -1,15 +1,21 @@
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:decimal/decimal.dart';
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
|
enum Unit {
|
||||||
|
base,
|
||||||
|
u,
|
||||||
|
m,
|
||||||
|
normal;
|
||||||
|
}
|
||||||
|
|
||||||
class Balance {
|
class Balance {
|
||||||
final Coin coin;
|
final Coin coin;
|
||||||
final int total;
|
final Amount total;
|
||||||
final int spendable;
|
final Amount spendable;
|
||||||
final int blockedTotal;
|
final Amount blockedTotal;
|
||||||
final int pendingSpendable;
|
final Amount pendingSpendable;
|
||||||
|
|
||||||
Balance({
|
Balance({
|
||||||
required this.coin,
|
required this.coin,
|
||||||
|
@ -19,36 +25,64 @@ class Balance {
|
||||||
required this.pendingSpendable,
|
required this.pendingSpendable,
|
||||||
});
|
});
|
||||||
|
|
||||||
Decimal getTotal({bool includeBlocked = true}) => Format.satoshisToAmount(
|
// Decimal getTotal({bool includeBlocked = true}) => Format.satoshisToAmount(
|
||||||
includeBlocked ? total : total - blockedTotal,
|
// includeBlocked ? total : total - blockedTotal,
|
||||||
coin: coin,
|
// coin: coin,
|
||||||
);
|
// );
|
||||||
|
//
|
||||||
|
// Decimal getSpendable() => Format.satoshisToAmount(
|
||||||
|
// spendable,
|
||||||
|
// coin: coin,
|
||||||
|
// );
|
||||||
|
//
|
||||||
|
// Decimal getPending() => Format.satoshisToAmount(
|
||||||
|
// pendingSpendable,
|
||||||
|
// coin: coin,
|
||||||
|
// );
|
||||||
|
//
|
||||||
|
// Decimal getBlocked() => Format.satoshisToAmount(
|
||||||
|
// blockedTotal,
|
||||||
|
// coin: coin,
|
||||||
|
// );
|
||||||
|
|
||||||
Decimal getSpendable() => Format.satoshisToAmount(
|
String toJsonIgnoreCoin() => jsonEncode({
|
||||||
spendable,
|
"total": total.toJsonString(),
|
||||||
coin: coin,
|
"spendable": spendable.toJsonString(),
|
||||||
);
|
"blockedTotal": blockedTotal.toJsonString(),
|
||||||
|
"pendingSpendable": pendingSpendable.toJsonString(),
|
||||||
Decimal getPending() => Format.satoshisToAmount(
|
});
|
||||||
pendingSpendable,
|
|
||||||
coin: coin,
|
|
||||||
);
|
|
||||||
|
|
||||||
Decimal getBlocked() => Format.satoshisToAmount(
|
|
||||||
blockedTotal,
|
|
||||||
coin: coin,
|
|
||||||
);
|
|
||||||
|
|
||||||
String toJsonIgnoreCoin() => jsonEncode(toMap()..remove("coin"));
|
|
||||||
|
|
||||||
|
// need to fall back to parsing from in due to cached balances being previously
|
||||||
|
// stored as int values instead of Amounts
|
||||||
factory Balance.fromJson(String json, Coin coin) {
|
factory Balance.fromJson(String json, Coin coin) {
|
||||||
final decoded = jsonDecode(json);
|
final decoded = jsonDecode(json);
|
||||||
return Balance(
|
return Balance(
|
||||||
coin: coin,
|
coin: coin,
|
||||||
total: decoded["total"] as int,
|
total: decoded["total"] is String
|
||||||
spendable: decoded["spendable"] as int,
|
? Amount.fromSerializedJsonString(decoded["total"] as String)
|
||||||
blockedTotal: decoded["blockedTotal"] as int,
|
: Amount(
|
||||||
pendingSpendable: decoded["pendingSpendable"] as int,
|
rawValue: BigInt.from(decoded["total"] as int),
|
||||||
|
fractionDigits: coin.decimals,
|
||||||
|
),
|
||||||
|
spendable: decoded["spendable"] is String
|
||||||
|
? Amount.fromSerializedJsonString(decoded["spendable"] as String)
|
||||||
|
: Amount(
|
||||||
|
rawValue: BigInt.from(decoded["spendable"] as int),
|
||||||
|
fractionDigits: coin.decimals,
|
||||||
|
),
|
||||||
|
blockedTotal: decoded["blockedTotal"] is String
|
||||||
|
? Amount.fromSerializedJsonString(decoded["blockedTotal"] as String)
|
||||||
|
: Amount(
|
||||||
|
rawValue: BigInt.from(decoded["blockedTotal"] as int),
|
||||||
|
fractionDigits: coin.decimals,
|
||||||
|
),
|
||||||
|
pendingSpendable: decoded["pendingSpendable"] is String
|
||||||
|
? Amount.fromSerializedJsonString(
|
||||||
|
decoded["pendingSpendable"] as String)
|
||||||
|
: Amount(
|
||||||
|
rawValue: BigInt.from(decoded["pendingSpendable"] as int),
|
||||||
|
fractionDigits: coin.decimals,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,11 +44,16 @@ class Currency {
|
||||||
@Index()
|
@Index()
|
||||||
final bool isStackCoin;
|
final bool isStackCoin;
|
||||||
|
|
||||||
@ignore
|
final String? tokenContract;
|
||||||
bool get supportsFixedRate => rateType == SupportedRateType.fixed || rateType == SupportedRateType.both;
|
|
||||||
|
|
||||||
@ignore
|
@ignore
|
||||||
bool get supportsEstimatedRate => rateType == SupportedRateType.estimated || rateType == SupportedRateType.both;
|
bool get supportsFixedRate =>
|
||||||
|
rateType == SupportedRateType.fixed || rateType == SupportedRateType.both;
|
||||||
|
|
||||||
|
@ignore
|
||||||
|
bool get supportsEstimatedRate =>
|
||||||
|
rateType == SupportedRateType.estimated ||
|
||||||
|
rateType == SupportedRateType.both;
|
||||||
|
|
||||||
Currency({
|
Currency({
|
||||||
required this.exchangeName,
|
required this.exchangeName,
|
||||||
|
@ -61,6 +66,7 @@ class Currency {
|
||||||
required this.rateType,
|
required this.rateType,
|
||||||
this.isAvailable,
|
this.isAvailable,
|
||||||
required this.isStackCoin,
|
required this.isStackCoin,
|
||||||
|
required this.tokenContract,
|
||||||
});
|
});
|
||||||
|
|
||||||
factory Currency.fromJson(
|
factory Currency.fromJson(
|
||||||
|
@ -83,6 +89,7 @@ class Currency {
|
||||||
isAvailable: json["isAvailable"] as bool?,
|
isAvailable: json["isAvailable"] as bool?,
|
||||||
isStackCoin:
|
isStackCoin:
|
||||||
json["isStackCoin"] as bool? ?? Currency.checkIsStackCoin(ticker),
|
json["isStackCoin"] as bool? ?? Currency.checkIsStackCoin(ticker),
|
||||||
|
tokenContract: json["tokenContract"] as String?,
|
||||||
)..id = json["id"] as int?;
|
)..id = json["id"] as int?;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
rethrow;
|
rethrow;
|
||||||
|
@ -102,6 +109,7 @@ class Currency {
|
||||||
"rateType": rateType,
|
"rateType": rateType,
|
||||||
"isAvailable": isAvailable,
|
"isAvailable": isAvailable,
|
||||||
"isStackCoin": isStackCoin,
|
"isStackCoin": isStackCoin,
|
||||||
|
"tokenContract": tokenContract,
|
||||||
};
|
};
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
|
@ -119,6 +127,7 @@ class Currency {
|
||||||
SupportedRateType? rateType,
|
SupportedRateType? rateType,
|
||||||
bool? isAvailable,
|
bool? isAvailable,
|
||||||
bool? isStackCoin,
|
bool? isStackCoin,
|
||||||
|
String? tokenContract,
|
||||||
}) {
|
}) {
|
||||||
return Currency(
|
return Currency(
|
||||||
exchangeName: exchangeName ?? this.exchangeName,
|
exchangeName: exchangeName ?? this.exchangeName,
|
||||||
|
@ -131,6 +140,7 @@ class Currency {
|
||||||
rateType: rateType ?? this.rateType,
|
rateType: rateType ?? this.rateType,
|
||||||
isAvailable: isAvailable ?? this.isAvailable,
|
isAvailable: isAvailable ?? this.isAvailable,
|
||||||
isStackCoin: isStackCoin ?? this.isStackCoin,
|
isStackCoin: isStackCoin ?? this.isStackCoin,
|
||||||
|
tokenContract: tokenContract ?? this.tokenContract,
|
||||||
)..id = id ?? this.id;
|
)..id = id ?? this.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,11 @@ const CurrencySchema = CollectionSchema(
|
||||||
id: 9,
|
id: 9,
|
||||||
name: r'ticker',
|
name: r'ticker',
|
||||||
type: IsarType.string,
|
type: IsarType.string,
|
||||||
|
),
|
||||||
|
r'tokenContract': PropertySchema(
|
||||||
|
id: 10,
|
||||||
|
name: r'tokenContract',
|
||||||
|
type: IsarType.string,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
estimateSize: _currencyEstimateSize,
|
estimateSize: _currencyEstimateSize,
|
||||||
|
@ -150,6 +155,12 @@ int _currencyEstimateSize(
|
||||||
bytesCount += 3 + object.name.length * 3;
|
bytesCount += 3 + object.name.length * 3;
|
||||||
bytesCount += 3 + object.network.length * 3;
|
bytesCount += 3 + object.network.length * 3;
|
||||||
bytesCount += 3 + object.ticker.length * 3;
|
bytesCount += 3 + object.ticker.length * 3;
|
||||||
|
{
|
||||||
|
final value = object.tokenContract;
|
||||||
|
if (value != null) {
|
||||||
|
bytesCount += 3 + value.length * 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
return bytesCount;
|
return bytesCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,6 +180,7 @@ void _currencySerialize(
|
||||||
writer.writeString(offsets[7], object.network);
|
writer.writeString(offsets[7], object.network);
|
||||||
writer.writeByte(offsets[8], object.rateType.index);
|
writer.writeByte(offsets[8], object.rateType.index);
|
||||||
writer.writeString(offsets[9], object.ticker);
|
writer.writeString(offsets[9], object.ticker);
|
||||||
|
writer.writeString(offsets[10], object.tokenContract);
|
||||||
}
|
}
|
||||||
|
|
||||||
Currency _currencyDeserialize(
|
Currency _currencyDeserialize(
|
||||||
|
@ -190,6 +202,7 @@ Currency _currencyDeserialize(
|
||||||
_CurrencyrateTypeValueEnumMap[reader.readByteOrNull(offsets[8])] ??
|
_CurrencyrateTypeValueEnumMap[reader.readByteOrNull(offsets[8])] ??
|
||||||
SupportedRateType.fixed,
|
SupportedRateType.fixed,
|
||||||
ticker: reader.readString(offsets[9]),
|
ticker: reader.readString(offsets[9]),
|
||||||
|
tokenContract: reader.readStringOrNull(offsets[10]),
|
||||||
);
|
);
|
||||||
object.id = id;
|
object.id = id;
|
||||||
return object;
|
return object;
|
||||||
|
@ -223,6 +236,8 @@ P _currencyDeserializeProp<P>(
|
||||||
SupportedRateType.fixed) as P;
|
SupportedRateType.fixed) as P;
|
||||||
case 9:
|
case 9:
|
||||||
return (reader.readString(offset)) as P;
|
return (reader.readString(offset)) as P;
|
||||||
|
case 10:
|
||||||
|
return (reader.readStringOrNull(offset)) as P;
|
||||||
default:
|
default:
|
||||||
throw IsarError('Unknown property with id $propertyId');
|
throw IsarError('Unknown property with id $propertyId');
|
||||||
}
|
}
|
||||||
|
@ -1533,6 +1548,158 @@ extension CurrencyQueryFilter
|
||||||
));
|
));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition>
|
||||||
|
tokenContractIsNull() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(const FilterCondition.isNull(
|
||||||
|
property: r'tokenContract',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition>
|
||||||
|
tokenContractIsNotNull() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(const FilterCondition.isNotNull(
|
||||||
|
property: r'tokenContract',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition> tokenContractEqualTo(
|
||||||
|
String? value, {
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
|
property: r'tokenContract',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition>
|
||||||
|
tokenContractGreaterThan(
|
||||||
|
String? value, {
|
||||||
|
bool include = false,
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||||
|
include: include,
|
||||||
|
property: r'tokenContract',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition> tokenContractLessThan(
|
||||||
|
String? value, {
|
||||||
|
bool include = false,
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.lessThan(
|
||||||
|
include: include,
|
||||||
|
property: r'tokenContract',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition> tokenContractBetween(
|
||||||
|
String? lower,
|
||||||
|
String? upper, {
|
||||||
|
bool includeLower = true,
|
||||||
|
bool includeUpper = true,
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.between(
|
||||||
|
property: r'tokenContract',
|
||||||
|
lower: lower,
|
||||||
|
includeLower: includeLower,
|
||||||
|
upper: upper,
|
||||||
|
includeUpper: includeUpper,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition>
|
||||||
|
tokenContractStartsWith(
|
||||||
|
String value, {
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.startsWith(
|
||||||
|
property: r'tokenContract',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition> tokenContractEndsWith(
|
||||||
|
String value, {
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.endsWith(
|
||||||
|
property: r'tokenContract',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition> tokenContractContains(
|
||||||
|
String value,
|
||||||
|
{bool caseSensitive = true}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.contains(
|
||||||
|
property: r'tokenContract',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition> tokenContractMatches(
|
||||||
|
String pattern,
|
||||||
|
{bool caseSensitive = true}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.matches(
|
||||||
|
property: r'tokenContract',
|
||||||
|
wildcard: pattern,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition>
|
||||||
|
tokenContractIsEmpty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
|
property: r'tokenContract',
|
||||||
|
value: '',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterFilterCondition>
|
||||||
|
tokenContractIsNotEmpty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||||
|
property: r'tokenContract',
|
||||||
|
value: '',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension CurrencyQueryObject
|
extension CurrencyQueryObject
|
||||||
|
@ -1661,6 +1828,18 @@ extension CurrencyQuerySortBy on QueryBuilder<Currency, Currency, QSortBy> {
|
||||||
return query.addSortBy(r'ticker', Sort.desc);
|
return query.addSortBy(r'ticker', Sort.desc);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterSortBy> sortByTokenContract() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'tokenContract', Sort.asc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterSortBy> sortByTokenContractDesc() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'tokenContract', Sort.desc);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension CurrencyQuerySortThenBy
|
extension CurrencyQuerySortThenBy
|
||||||
|
@ -1796,6 +1975,18 @@ extension CurrencyQuerySortThenBy
|
||||||
return query.addSortBy(r'ticker', Sort.desc);
|
return query.addSortBy(r'ticker', Sort.desc);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterSortBy> thenByTokenContract() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'tokenContract', Sort.asc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QAfterSortBy> thenByTokenContractDesc() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'tokenContract', Sort.desc);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension CurrencyQueryWhereDistinct
|
extension CurrencyQueryWhereDistinct
|
||||||
|
@ -1865,6 +2056,14 @@ extension CurrencyQueryWhereDistinct
|
||||||
return query.addDistinctBy(r'ticker', caseSensitive: caseSensitive);
|
return query.addDistinctBy(r'ticker', caseSensitive: caseSensitive);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, Currency, QDistinct> distinctByTokenContract(
|
||||||
|
{bool caseSensitive = true}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addDistinctBy(r'tokenContract',
|
||||||
|
caseSensitive: caseSensitive);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension CurrencyQueryProperty
|
extension CurrencyQueryProperty
|
||||||
|
@ -1935,4 +2134,10 @@ extension CurrencyQueryProperty
|
||||||
return query.addPropertyName(r'ticker');
|
return query.addPropertyName(r'ticker');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Currency, String?, QQueryOperations> tokenContractProperty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addPropertyName(r'tokenContract');
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,7 +122,8 @@ enum AddressType {
|
||||||
cryptonote,
|
cryptonote,
|
||||||
mimbleWimble,
|
mimbleWimble,
|
||||||
unknown,
|
unknown,
|
||||||
nonWallet;
|
nonWallet,
|
||||||
|
ethereum;
|
||||||
|
|
||||||
String get readableName {
|
String get readableName {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
|
@ -140,6 +141,8 @@ enum AddressType {
|
||||||
return "Unknown";
|
return "Unknown";
|
||||||
case AddressType.nonWallet:
|
case AddressType.nonWallet:
|
||||||
return "Non wallet/unknown";
|
return "Non wallet/unknown";
|
||||||
|
case AddressType.ethereum:
|
||||||
|
return "Ethereum";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -260,6 +260,7 @@ const _AddresstypeEnumValueMap = {
|
||||||
'mimbleWimble': 4,
|
'mimbleWimble': 4,
|
||||||
'unknown': 5,
|
'unknown': 5,
|
||||||
'nonWallet': 6,
|
'nonWallet': 6,
|
||||||
|
'ethereum': 7,
|
||||||
};
|
};
|
||||||
const _AddresstypeValueEnumMap = {
|
const _AddresstypeValueEnumMap = {
|
||||||
0: AddressType.p2pkh,
|
0: AddressType.p2pkh,
|
||||||
|
@ -269,6 +270,7 @@ const _AddresstypeValueEnumMap = {
|
||||||
4: AddressType.mimbleWimble,
|
4: AddressType.mimbleWimble,
|
||||||
5: AddressType.unknown,
|
5: AddressType.unknown,
|
||||||
6: AddressType.nonWallet,
|
6: AddressType.nonWallet,
|
||||||
|
7: AddressType.ethereum,
|
||||||
};
|
};
|
||||||
|
|
||||||
Id _addressGetId(Address object) {
|
Id _addressGetId(Address object) {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import 'package:isar/isar.dart';
|
||||||
import 'package:stackwallet/models/isar/models/blockchain_data/address.dart';
|
import 'package:stackwallet/models/isar/models/blockchain_data/address.dart';
|
||||||
import 'package:stackwallet/models/isar/models/blockchain_data/input.dart';
|
import 'package:stackwallet/models/isar/models/blockchain_data/input.dart';
|
||||||
import 'package:stackwallet/models/isar/models/blockchain_data/output.dart';
|
import 'package:stackwallet/models/isar/models/blockchain_data/output.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
part 'transaction.g.dart';
|
part 'transaction.g.dart';
|
||||||
|
@ -18,6 +19,7 @@ class Transaction {
|
||||||
required this.type,
|
required this.type,
|
||||||
required this.subType,
|
required this.subType,
|
||||||
required this.amount,
|
required this.amount,
|
||||||
|
required this.amountString,
|
||||||
required this.fee,
|
required this.fee,
|
||||||
required this.height,
|
required this.height,
|
||||||
required this.isCancelled,
|
required this.isCancelled,
|
||||||
|
@ -26,6 +28,7 @@ class Transaction {
|
||||||
required this.otherData,
|
required this.otherData,
|
||||||
required this.inputs,
|
required this.inputs,
|
||||||
required this.outputs,
|
required this.outputs,
|
||||||
|
required this.nonce,
|
||||||
});
|
});
|
||||||
|
|
||||||
Tuple2<Transaction, Address?> copyWith({
|
Tuple2<Transaction, Address?> copyWith({
|
||||||
|
@ -35,6 +38,7 @@ class Transaction {
|
||||||
TransactionType? type,
|
TransactionType? type,
|
||||||
TransactionSubType? subType,
|
TransactionSubType? subType,
|
||||||
int? amount,
|
int? amount,
|
||||||
|
String? amountString,
|
||||||
int? fee,
|
int? fee,
|
||||||
int? height,
|
int? height,
|
||||||
bool? isCancelled,
|
bool? isCancelled,
|
||||||
|
@ -43,6 +47,7 @@ class Transaction {
|
||||||
String? otherData,
|
String? otherData,
|
||||||
List<Input>? inputs,
|
List<Input>? inputs,
|
||||||
List<Output>? outputs,
|
List<Output>? outputs,
|
||||||
|
int? nonce,
|
||||||
Id? id,
|
Id? id,
|
||||||
Address? address,
|
Address? address,
|
||||||
}) {
|
}) {
|
||||||
|
@ -54,12 +59,14 @@ class Transaction {
|
||||||
type: type ?? this.type,
|
type: type ?? this.type,
|
||||||
subType: subType ?? this.subType,
|
subType: subType ?? this.subType,
|
||||||
amount: amount ?? this.amount,
|
amount: amount ?? this.amount,
|
||||||
|
amountString: amountString ?? this.amountString,
|
||||||
fee: fee ?? this.fee,
|
fee: fee ?? this.fee,
|
||||||
height: height ?? this.height,
|
height: height ?? this.height,
|
||||||
isCancelled: isCancelled ?? this.isCancelled,
|
isCancelled: isCancelled ?? this.isCancelled,
|
||||||
isLelantus: isLelantus ?? this.isLelantus,
|
isLelantus: isLelantus ?? this.isLelantus,
|
||||||
slateId: slateId ?? this.slateId,
|
slateId: slateId ?? this.slateId,
|
||||||
otherData: otherData ?? this.otherData,
|
otherData: otherData ?? this.otherData,
|
||||||
|
nonce: nonce ?? this.nonce,
|
||||||
inputs: inputs ?? this.inputs,
|
inputs: inputs ?? this.inputs,
|
||||||
outputs: outputs ?? this.outputs)
|
outputs: outputs ?? this.outputs)
|
||||||
..id = id ?? this.id,
|
..id = id ?? this.id,
|
||||||
|
@ -84,8 +91,11 @@ class Transaction {
|
||||||
@enumerated
|
@enumerated
|
||||||
late final TransactionSubType subType;
|
late final TransactionSubType subType;
|
||||||
|
|
||||||
|
@Deprecated("May be inaccurate for large amounts (eth for example)")
|
||||||
late final int amount;
|
late final int amount;
|
||||||
|
|
||||||
|
late String? amountString;
|
||||||
|
|
||||||
late final int fee;
|
late final int fee;
|
||||||
|
|
||||||
late final int? height;
|
late final int? height;
|
||||||
|
@ -98,6 +108,8 @@ class Transaction {
|
||||||
|
|
||||||
late final String? otherData;
|
late final String? otherData;
|
||||||
|
|
||||||
|
late final int? nonce;
|
||||||
|
|
||||||
late final List<Input> inputs;
|
late final List<Input> inputs;
|
||||||
|
|
||||||
late final List<Output> outputs;
|
late final List<Output> outputs;
|
||||||
|
@ -105,6 +117,13 @@ class Transaction {
|
||||||
@Backlink(to: "transactions")
|
@Backlink(to: "transactions")
|
||||||
final address = IsarLink<Address>();
|
final address = IsarLink<Address>();
|
||||||
|
|
||||||
|
@ignore
|
||||||
|
Amount? _cachedAmount;
|
||||||
|
|
||||||
|
@ignore
|
||||||
|
Amount get realAmount =>
|
||||||
|
_cachedAmount ??= Amount.fromSerializedJsonString(amountString!);
|
||||||
|
|
||||||
int getConfirmations(int currentChainHeight) {
|
int getConfirmations(int currentChainHeight) {
|
||||||
if (height == null || height! <= 0) return 0;
|
if (height == null || height! <= 0) return 0;
|
||||||
return max(0, currentChainHeight - (height! - 1));
|
return max(0, currentChainHeight - (height! - 1));
|
||||||
|
@ -124,12 +143,14 @@ class Transaction {
|
||||||
"type: ${type.name}, "
|
"type: ${type.name}, "
|
||||||
"subType: ${subType.name}, "
|
"subType: ${subType.name}, "
|
||||||
"amount: $amount, "
|
"amount: $amount, "
|
||||||
|
"amountString: $amountString, "
|
||||||
"fee: $fee, "
|
"fee: $fee, "
|
||||||
"height: $height, "
|
"height: $height, "
|
||||||
"isCancelled: $isCancelled, "
|
"isCancelled: $isCancelled, "
|
||||||
"isLelantus: $isLelantus, "
|
"isLelantus: $isLelantus, "
|
||||||
"slateId: $slateId, "
|
"slateId: $slateId, "
|
||||||
"otherData: $otherData, "
|
"otherData: $otherData, "
|
||||||
|
"nonce: $nonce, "
|
||||||
"address: ${address.value}, "
|
"address: ${address.value}, "
|
||||||
"inputsLength: ${inputs.length}, "
|
"inputsLength: ${inputs.length}, "
|
||||||
"outputsLength: ${outputs.length}, "
|
"outputsLength: ${outputs.length}, "
|
||||||
|
@ -143,12 +164,14 @@ class Transaction {
|
||||||
"type": type.name,
|
"type": type.name,
|
||||||
"subType": subType.name,
|
"subType": subType.name,
|
||||||
"amount": amount,
|
"amount": amount,
|
||||||
|
"amountString": amountString,
|
||||||
"fee": fee,
|
"fee": fee,
|
||||||
"height": height,
|
"height": height,
|
||||||
"isCancelled": isCancelled,
|
"isCancelled": isCancelled,
|
||||||
"isLelantus": isLelantus,
|
"isLelantus": isLelantus,
|
||||||
"slateId": slateId,
|
"slateId": slateId,
|
||||||
"otherData": otherData,
|
"otherData": otherData,
|
||||||
|
"nonce": nonce,
|
||||||
"address": address.value?.toJsonString(),
|
"address": address.value?.toJsonString(),
|
||||||
"inputs": inputs.map((e) => e.toJsonString()).toList(),
|
"inputs": inputs.map((e) => e.toJsonString()).toList(),
|
||||||
"outputs": outputs.map((e) => e.toJsonString()).toList(),
|
"outputs": outputs.map((e) => e.toJsonString()).toList(),
|
||||||
|
@ -168,12 +191,14 @@ class Transaction {
|
||||||
type: TransactionType.values.byName(json["type"] as String),
|
type: TransactionType.values.byName(json["type"] as String),
|
||||||
subType: TransactionSubType.values.byName(json["subType"] as String),
|
subType: TransactionSubType.values.byName(json["subType"] as String),
|
||||||
amount: json["amount"] as int,
|
amount: json["amount"] as int,
|
||||||
|
amountString: json["amountString"] as String,
|
||||||
fee: json["fee"] as int,
|
fee: json["fee"] as int,
|
||||||
height: json["height"] as int?,
|
height: json["height"] as int?,
|
||||||
isCancelled: json["isCancelled"] as bool,
|
isCancelled: json["isCancelled"] as bool,
|
||||||
isLelantus: json["isLelantus"] as bool?,
|
isLelantus: json["isLelantus"] as bool?,
|
||||||
slateId: json["slateId"] as String?,
|
slateId: json["slateId"] as String?,
|
||||||
otherData: json["otherData"] as String?,
|
otherData: json["otherData"] as String?,
|
||||||
|
nonce: json["nonce"] as int?,
|
||||||
inputs: List<String>.from(json["inputs"] as List)
|
inputs: List<String>.from(json["inputs"] as List)
|
||||||
.map((e) => Input.fromJsonString(e))
|
.map((e) => Input.fromJsonString(e))
|
||||||
.toList(),
|
.toList(),
|
||||||
|
@ -207,5 +232,6 @@ enum TransactionSubType {
|
||||||
none,
|
none,
|
||||||
bip47Notification, // bip47 payment code notification transaction flag
|
bip47Notification, // bip47 payment code notification transaction flag
|
||||||
mint, // firo specific
|
mint, // firo specific
|
||||||
join; // firo specific
|
join, // firo specific
|
||||||
|
ethToken; // eth token
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,72 +22,82 @@ const TransactionSchema = CollectionSchema(
|
||||||
name: r'amount',
|
name: r'amount',
|
||||||
type: IsarType.long,
|
type: IsarType.long,
|
||||||
),
|
),
|
||||||
r'fee': PropertySchema(
|
r'amountString': PropertySchema(
|
||||||
id: 1,
|
id: 1,
|
||||||
|
name: r'amountString',
|
||||||
|
type: IsarType.string,
|
||||||
|
),
|
||||||
|
r'fee': PropertySchema(
|
||||||
|
id: 2,
|
||||||
name: r'fee',
|
name: r'fee',
|
||||||
type: IsarType.long,
|
type: IsarType.long,
|
||||||
),
|
),
|
||||||
r'height': PropertySchema(
|
r'height': PropertySchema(
|
||||||
id: 2,
|
id: 3,
|
||||||
name: r'height',
|
name: r'height',
|
||||||
type: IsarType.long,
|
type: IsarType.long,
|
||||||
),
|
),
|
||||||
r'inputs': PropertySchema(
|
r'inputs': PropertySchema(
|
||||||
id: 3,
|
id: 4,
|
||||||
name: r'inputs',
|
name: r'inputs',
|
||||||
type: IsarType.objectList,
|
type: IsarType.objectList,
|
||||||
target: r'Input',
|
target: r'Input',
|
||||||
),
|
),
|
||||||
r'isCancelled': PropertySchema(
|
r'isCancelled': PropertySchema(
|
||||||
id: 4,
|
id: 5,
|
||||||
name: r'isCancelled',
|
name: r'isCancelled',
|
||||||
type: IsarType.bool,
|
type: IsarType.bool,
|
||||||
),
|
),
|
||||||
r'isLelantus': PropertySchema(
|
r'isLelantus': PropertySchema(
|
||||||
id: 5,
|
id: 6,
|
||||||
name: r'isLelantus',
|
name: r'isLelantus',
|
||||||
type: IsarType.bool,
|
type: IsarType.bool,
|
||||||
),
|
),
|
||||||
|
r'nonce': PropertySchema(
|
||||||
|
id: 7,
|
||||||
|
name: r'nonce',
|
||||||
|
type: IsarType.long,
|
||||||
|
),
|
||||||
r'otherData': PropertySchema(
|
r'otherData': PropertySchema(
|
||||||
id: 6,
|
id: 8,
|
||||||
name: r'otherData',
|
name: r'otherData',
|
||||||
type: IsarType.string,
|
type: IsarType.string,
|
||||||
),
|
),
|
||||||
r'outputs': PropertySchema(
|
r'outputs': PropertySchema(
|
||||||
id: 7,
|
id: 9,
|
||||||
name: r'outputs',
|
name: r'outputs',
|
||||||
type: IsarType.objectList,
|
type: IsarType.objectList,
|
||||||
target: r'Output',
|
target: r'Output',
|
||||||
),
|
),
|
||||||
r'slateId': PropertySchema(
|
r'slateId': PropertySchema(
|
||||||
id: 8,
|
id: 10,
|
||||||
name: r'slateId',
|
name: r'slateId',
|
||||||
type: IsarType.string,
|
type: IsarType.string,
|
||||||
),
|
),
|
||||||
r'subType': PropertySchema(
|
r'subType': PropertySchema(
|
||||||
id: 9,
|
id: 11,
|
||||||
name: r'subType',
|
name: r'subType',
|
||||||
type: IsarType.byte,
|
type: IsarType.byte,
|
||||||
enumMap: _TransactionsubTypeEnumValueMap,
|
enumMap: _TransactionsubTypeEnumValueMap,
|
||||||
),
|
),
|
||||||
r'timestamp': PropertySchema(
|
r'timestamp': PropertySchema(
|
||||||
id: 10,
|
id: 12,
|
||||||
name: r'timestamp',
|
name: r'timestamp',
|
||||||
type: IsarType.long,
|
type: IsarType.long,
|
||||||
),
|
),
|
||||||
r'txid': PropertySchema(
|
r'txid': PropertySchema(
|
||||||
id: 11,
|
id: 13,
|
||||||
name: r'txid',
|
name: r'txid',
|
||||||
type: IsarType.string,
|
type: IsarType.string,
|
||||||
),
|
),
|
||||||
r'type': PropertySchema(
|
r'type': PropertySchema(
|
||||||
id: 12,
|
id: 14,
|
||||||
name: r'type',
|
name: r'type',
|
||||||
type: IsarType.byte,
|
type: IsarType.byte,
|
||||||
enumMap: _TransactiontypeEnumValueMap,
|
enumMap: _TransactiontypeEnumValueMap,
|
||||||
),
|
),
|
||||||
r'walletId': PropertySchema(
|
r'walletId': PropertySchema(
|
||||||
id: 13,
|
id: 15,
|
||||||
name: r'walletId',
|
name: r'walletId',
|
||||||
type: IsarType.string,
|
type: IsarType.string,
|
||||||
)
|
)
|
||||||
|
@ -165,6 +175,12 @@ int _transactionEstimateSize(
|
||||||
Map<Type, List<int>> allOffsets,
|
Map<Type, List<int>> allOffsets,
|
||||||
) {
|
) {
|
||||||
var bytesCount = offsets.last;
|
var bytesCount = offsets.last;
|
||||||
|
{
|
||||||
|
final value = object.amountString;
|
||||||
|
if (value != null) {
|
||||||
|
bytesCount += 3 + value.length * 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
bytesCount += 3 + object.inputs.length * 3;
|
bytesCount += 3 + object.inputs.length * 3;
|
||||||
{
|
{
|
||||||
final offsets = allOffsets[Input]!;
|
final offsets = allOffsets[Input]!;
|
||||||
|
@ -205,29 +221,31 @@ void _transactionSerialize(
|
||||||
Map<Type, List<int>> allOffsets,
|
Map<Type, List<int>> allOffsets,
|
||||||
) {
|
) {
|
||||||
writer.writeLong(offsets[0], object.amount);
|
writer.writeLong(offsets[0], object.amount);
|
||||||
writer.writeLong(offsets[1], object.fee);
|
writer.writeString(offsets[1], object.amountString);
|
||||||
writer.writeLong(offsets[2], object.height);
|
writer.writeLong(offsets[2], object.fee);
|
||||||
|
writer.writeLong(offsets[3], object.height);
|
||||||
writer.writeObjectList<Input>(
|
writer.writeObjectList<Input>(
|
||||||
offsets[3],
|
offsets[4],
|
||||||
allOffsets,
|
allOffsets,
|
||||||
InputSchema.serialize,
|
InputSchema.serialize,
|
||||||
object.inputs,
|
object.inputs,
|
||||||
);
|
);
|
||||||
writer.writeBool(offsets[4], object.isCancelled);
|
writer.writeBool(offsets[5], object.isCancelled);
|
||||||
writer.writeBool(offsets[5], object.isLelantus);
|
writer.writeBool(offsets[6], object.isLelantus);
|
||||||
writer.writeString(offsets[6], object.otherData);
|
writer.writeLong(offsets[7], object.nonce);
|
||||||
|
writer.writeString(offsets[8], object.otherData);
|
||||||
writer.writeObjectList<Output>(
|
writer.writeObjectList<Output>(
|
||||||
offsets[7],
|
offsets[9],
|
||||||
allOffsets,
|
allOffsets,
|
||||||
OutputSchema.serialize,
|
OutputSchema.serialize,
|
||||||
object.outputs,
|
object.outputs,
|
||||||
);
|
);
|
||||||
writer.writeString(offsets[8], object.slateId);
|
writer.writeString(offsets[10], object.slateId);
|
||||||
writer.writeByte(offsets[9], object.subType.index);
|
writer.writeByte(offsets[11], object.subType.index);
|
||||||
writer.writeLong(offsets[10], object.timestamp);
|
writer.writeLong(offsets[12], object.timestamp);
|
||||||
writer.writeString(offsets[11], object.txid);
|
writer.writeString(offsets[13], object.txid);
|
||||||
writer.writeByte(offsets[12], object.type.index);
|
writer.writeByte(offsets[14], object.type.index);
|
||||||
writer.writeString(offsets[13], object.walletId);
|
writer.writeString(offsets[15], object.walletId);
|
||||||
}
|
}
|
||||||
|
|
||||||
Transaction _transactionDeserialize(
|
Transaction _transactionDeserialize(
|
||||||
|
@ -238,34 +256,36 @@ Transaction _transactionDeserialize(
|
||||||
) {
|
) {
|
||||||
final object = Transaction(
|
final object = Transaction(
|
||||||
amount: reader.readLong(offsets[0]),
|
amount: reader.readLong(offsets[0]),
|
||||||
fee: reader.readLong(offsets[1]),
|
amountString: reader.readStringOrNull(offsets[1]),
|
||||||
height: reader.readLongOrNull(offsets[2]),
|
fee: reader.readLong(offsets[2]),
|
||||||
|
height: reader.readLongOrNull(offsets[3]),
|
||||||
inputs: reader.readObjectList<Input>(
|
inputs: reader.readObjectList<Input>(
|
||||||
offsets[3],
|
offsets[4],
|
||||||
InputSchema.deserialize,
|
InputSchema.deserialize,
|
||||||
allOffsets,
|
allOffsets,
|
||||||
Input(),
|
Input(),
|
||||||
) ??
|
) ??
|
||||||
[],
|
[],
|
||||||
isCancelled: reader.readBool(offsets[4]),
|
isCancelled: reader.readBool(offsets[5]),
|
||||||
isLelantus: reader.readBoolOrNull(offsets[5]),
|
isLelantus: reader.readBoolOrNull(offsets[6]),
|
||||||
otherData: reader.readStringOrNull(offsets[6]),
|
nonce: reader.readLongOrNull(offsets[7]),
|
||||||
|
otherData: reader.readStringOrNull(offsets[8]),
|
||||||
outputs: reader.readObjectList<Output>(
|
outputs: reader.readObjectList<Output>(
|
||||||
offsets[7],
|
offsets[9],
|
||||||
OutputSchema.deserialize,
|
OutputSchema.deserialize,
|
||||||
allOffsets,
|
allOffsets,
|
||||||
Output(),
|
Output(),
|
||||||
) ??
|
) ??
|
||||||
[],
|
[],
|
||||||
slateId: reader.readStringOrNull(offsets[8]),
|
slateId: reader.readStringOrNull(offsets[10]),
|
||||||
subType:
|
subType:
|
||||||
_TransactionsubTypeValueEnumMap[reader.readByteOrNull(offsets[9])] ??
|
_TransactionsubTypeValueEnumMap[reader.readByteOrNull(offsets[11])] ??
|
||||||
TransactionSubType.none,
|
TransactionSubType.none,
|
||||||
timestamp: reader.readLong(offsets[10]),
|
timestamp: reader.readLong(offsets[12]),
|
||||||
txid: reader.readString(offsets[11]),
|
txid: reader.readString(offsets[13]),
|
||||||
type: _TransactiontypeValueEnumMap[reader.readByteOrNull(offsets[12])] ??
|
type: _TransactiontypeValueEnumMap[reader.readByteOrNull(offsets[14])] ??
|
||||||
TransactionType.outgoing,
|
TransactionType.outgoing,
|
||||||
walletId: reader.readString(offsets[13]),
|
walletId: reader.readString(offsets[15]),
|
||||||
);
|
);
|
||||||
object.id = id;
|
object.id = id;
|
||||||
return object;
|
return object;
|
||||||
|
@ -281,10 +301,12 @@ P _transactionDeserializeProp<P>(
|
||||||
case 0:
|
case 0:
|
||||||
return (reader.readLong(offset)) as P;
|
return (reader.readLong(offset)) as P;
|
||||||
case 1:
|
case 1:
|
||||||
return (reader.readLong(offset)) as P;
|
return (reader.readStringOrNull(offset)) as P;
|
||||||
case 2:
|
case 2:
|
||||||
return (reader.readLongOrNull(offset)) as P;
|
return (reader.readLong(offset)) as P;
|
||||||
case 3:
|
case 3:
|
||||||
|
return (reader.readLongOrNull(offset)) as P;
|
||||||
|
case 4:
|
||||||
return (reader.readObjectList<Input>(
|
return (reader.readObjectList<Input>(
|
||||||
offset,
|
offset,
|
||||||
InputSchema.deserialize,
|
InputSchema.deserialize,
|
||||||
|
@ -292,13 +314,15 @@ P _transactionDeserializeProp<P>(
|
||||||
Input(),
|
Input(),
|
||||||
) ??
|
) ??
|
||||||
[]) as P;
|
[]) as P;
|
||||||
case 4:
|
|
||||||
return (reader.readBool(offset)) as P;
|
|
||||||
case 5:
|
case 5:
|
||||||
return (reader.readBoolOrNull(offset)) as P;
|
return (reader.readBool(offset)) as P;
|
||||||
case 6:
|
case 6:
|
||||||
return (reader.readStringOrNull(offset)) as P;
|
return (reader.readBoolOrNull(offset)) as P;
|
||||||
case 7:
|
case 7:
|
||||||
|
return (reader.readLongOrNull(offset)) as P;
|
||||||
|
case 8:
|
||||||
|
return (reader.readStringOrNull(offset)) as P;
|
||||||
|
case 9:
|
||||||
return (reader.readObjectList<Output>(
|
return (reader.readObjectList<Output>(
|
||||||
offset,
|
offset,
|
||||||
OutputSchema.deserialize,
|
OutputSchema.deserialize,
|
||||||
|
@ -306,19 +330,19 @@ P _transactionDeserializeProp<P>(
|
||||||
Output(),
|
Output(),
|
||||||
) ??
|
) ??
|
||||||
[]) as P;
|
[]) as P;
|
||||||
case 8:
|
case 10:
|
||||||
return (reader.readStringOrNull(offset)) as P;
|
return (reader.readStringOrNull(offset)) as P;
|
||||||
case 9:
|
case 11:
|
||||||
return (_TransactionsubTypeValueEnumMap[reader.readByteOrNull(offset)] ??
|
return (_TransactionsubTypeValueEnumMap[reader.readByteOrNull(offset)] ??
|
||||||
TransactionSubType.none) as P;
|
TransactionSubType.none) as P;
|
||||||
case 10:
|
|
||||||
return (reader.readLong(offset)) as P;
|
|
||||||
case 11:
|
|
||||||
return (reader.readString(offset)) as P;
|
|
||||||
case 12:
|
case 12:
|
||||||
|
return (reader.readLong(offset)) as P;
|
||||||
|
case 13:
|
||||||
|
return (reader.readString(offset)) as P;
|
||||||
|
case 14:
|
||||||
return (_TransactiontypeValueEnumMap[reader.readByteOrNull(offset)] ??
|
return (_TransactiontypeValueEnumMap[reader.readByteOrNull(offset)] ??
|
||||||
TransactionType.outgoing) as P;
|
TransactionType.outgoing) as P;
|
||||||
case 13:
|
case 15:
|
||||||
return (reader.readString(offset)) as P;
|
return (reader.readString(offset)) as P;
|
||||||
default:
|
default:
|
||||||
throw IsarError('Unknown property with id $propertyId');
|
throw IsarError('Unknown property with id $propertyId');
|
||||||
|
@ -330,12 +354,14 @@ const _TransactionsubTypeEnumValueMap = {
|
||||||
'bip47Notification': 1,
|
'bip47Notification': 1,
|
||||||
'mint': 2,
|
'mint': 2,
|
||||||
'join': 3,
|
'join': 3,
|
||||||
|
'ethToken': 4,
|
||||||
};
|
};
|
||||||
const _TransactionsubTypeValueEnumMap = {
|
const _TransactionsubTypeValueEnumMap = {
|
||||||
0: TransactionSubType.none,
|
0: TransactionSubType.none,
|
||||||
1: TransactionSubType.bip47Notification,
|
1: TransactionSubType.bip47Notification,
|
||||||
2: TransactionSubType.mint,
|
2: TransactionSubType.mint,
|
||||||
3: TransactionSubType.join,
|
3: TransactionSubType.join,
|
||||||
|
4: TransactionSubType.ethToken,
|
||||||
};
|
};
|
||||||
const _TransactiontypeEnumValueMap = {
|
const _TransactiontypeEnumValueMap = {
|
||||||
'outgoing': 0,
|
'outgoing': 0,
|
||||||
|
@ -819,6 +845,160 @@ extension TransactionQueryFilter
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringIsNull() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(const FilterCondition.isNull(
|
||||||
|
property: r'amountString',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringIsNotNull() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(const FilterCondition.isNotNull(
|
||||||
|
property: r'amountString',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringEqualTo(
|
||||||
|
String? value, {
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
|
property: r'amountString',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringGreaterThan(
|
||||||
|
String? value, {
|
||||||
|
bool include = false,
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||||
|
include: include,
|
||||||
|
property: r'amountString',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringLessThan(
|
||||||
|
String? value, {
|
||||||
|
bool include = false,
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.lessThan(
|
||||||
|
include: include,
|
||||||
|
property: r'amountString',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringBetween(
|
||||||
|
String? lower,
|
||||||
|
String? upper, {
|
||||||
|
bool includeLower = true,
|
||||||
|
bool includeUpper = true,
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.between(
|
||||||
|
property: r'amountString',
|
||||||
|
lower: lower,
|
||||||
|
includeLower: includeLower,
|
||||||
|
upper: upper,
|
||||||
|
includeUpper: includeUpper,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringStartsWith(
|
||||||
|
String value, {
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.startsWith(
|
||||||
|
property: r'amountString',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringEndsWith(
|
||||||
|
String value, {
|
||||||
|
bool caseSensitive = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.endsWith(
|
||||||
|
property: r'amountString',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringContains(String value, {bool caseSensitive = true}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.contains(
|
||||||
|
property: r'amountString',
|
||||||
|
value: value,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringMatches(String pattern, {bool caseSensitive = true}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.matches(
|
||||||
|
property: r'amountString',
|
||||||
|
wildcard: pattern,
|
||||||
|
caseSensitive: caseSensitive,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringIsEmpty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
|
property: r'amountString',
|
||||||
|
value: '',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
amountStringIsNotEmpty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||||
|
property: r'amountString',
|
||||||
|
value: '',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> feeEqualTo(
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> feeEqualTo(
|
||||||
int value) {
|
int value) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
@ -1123,6 +1303,77 @@ extension TransactionQueryFilter
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> nonceIsNull() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(const FilterCondition.isNull(
|
||||||
|
property: r'nonce',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
nonceIsNotNull() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(const FilterCondition.isNotNull(
|
||||||
|
property: r'nonce',
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> nonceEqualTo(
|
||||||
|
int? value) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.equalTo(
|
||||||
|
property: r'nonce',
|
||||||
|
value: value,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
|
nonceGreaterThan(
|
||||||
|
int? value, {
|
||||||
|
bool include = false,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||||
|
include: include,
|
||||||
|
property: r'nonce',
|
||||||
|
value: value,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> nonceLessThan(
|
||||||
|
int? value, {
|
||||||
|
bool include = false,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.lessThan(
|
||||||
|
include: include,
|
||||||
|
property: r'nonce',
|
||||||
|
value: value,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition> nonceBetween(
|
||||||
|
int? lower,
|
||||||
|
int? upper, {
|
||||||
|
bool includeLower = true,
|
||||||
|
bool includeUpper = true,
|
||||||
|
}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addFilterCondition(FilterCondition.between(
|
||||||
|
property: r'nonce',
|
||||||
|
lower: lower,
|
||||||
|
includeLower: includeLower,
|
||||||
|
upper: upper,
|
||||||
|
includeUpper: includeUpper,
|
||||||
|
));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
QueryBuilder<Transaction, Transaction, QAfterFilterCondition>
|
||||||
otherDataIsNull() {
|
otherDataIsNull() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
@ -1996,6 +2247,19 @@ extension TransactionQuerySortBy
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByAmountString() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'amountString', Sort.asc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterSortBy>
|
||||||
|
sortByAmountStringDesc() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'amountString', Sort.desc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByFee() {
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByFee() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addSortBy(r'fee', Sort.asc);
|
return query.addSortBy(r'fee', Sort.asc);
|
||||||
|
@ -2044,6 +2308,18 @@ extension TransactionQuerySortBy
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByNonce() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'nonce', Sort.asc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByNonceDesc() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'nonce', Sort.desc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByOtherData() {
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> sortByOtherData() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addSortBy(r'otherData', Sort.asc);
|
return query.addSortBy(r'otherData', Sort.asc);
|
||||||
|
@ -2143,6 +2419,19 @@ extension TransactionQuerySortThenBy
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByAmountString() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'amountString', Sort.asc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterSortBy>
|
||||||
|
thenByAmountStringDesc() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'amountString', Sort.desc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByFee() {
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByFee() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addSortBy(r'fee', Sort.asc);
|
return query.addSortBy(r'fee', Sort.asc);
|
||||||
|
@ -2203,6 +2492,18 @@ extension TransactionQuerySortThenBy
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByNonce() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'nonce', Sort.asc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByNonceDesc() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addSortBy(r'nonce', Sort.desc);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByOtherData() {
|
QueryBuilder<Transaction, Transaction, QAfterSortBy> thenByOtherData() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addSortBy(r'otherData', Sort.asc);
|
return query.addSortBy(r'otherData', Sort.asc);
|
||||||
|
@ -2296,6 +2597,13 @@ extension TransactionQueryWhereDistinct
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QDistinct> distinctByAmountString(
|
||||||
|
{bool caseSensitive = true}) {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addDistinctBy(r'amountString', caseSensitive: caseSensitive);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, Transaction, QDistinct> distinctByFee() {
|
QueryBuilder<Transaction, Transaction, QDistinct> distinctByFee() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addDistinctBy(r'fee');
|
return query.addDistinctBy(r'fee');
|
||||||
|
@ -2320,6 +2628,12 @@ extension TransactionQueryWhereDistinct
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, Transaction, QDistinct> distinctByNonce() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addDistinctBy(r'nonce');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, Transaction, QDistinct> distinctByOtherData(
|
QueryBuilder<Transaction, Transaction, QDistinct> distinctByOtherData(
|
||||||
{bool caseSensitive = true}) {
|
{bool caseSensitive = true}) {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
@ -2381,6 +2695,12 @@ extension TransactionQueryProperty
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, String?, QQueryOperations> amountStringProperty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addPropertyName(r'amountString');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, int, QQueryOperations> feeProperty() {
|
QueryBuilder<Transaction, int, QQueryOperations> feeProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'fee');
|
return query.addPropertyName(r'fee');
|
||||||
|
@ -2411,6 +2731,12 @@ extension TransactionQueryProperty
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryBuilder<Transaction, int?, QQueryOperations> nonceProperty() {
|
||||||
|
return QueryBuilder.apply(this, (query) {
|
||||||
|
return query.addPropertyName(r'nonce');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
QueryBuilder<Transaction, String?, QQueryOperations> otherDataProperty() {
|
QueryBuilder<Transaction, String?, QQueryOperations> otherDataProperty() {
|
||||||
return QueryBuilder.apply(this, (query) {
|
return QueryBuilder.apply(this, (query) {
|
||||||
return query.addPropertyName(r'otherData');
|
return query.addPropertyName(r'otherData');
|
||||||
|
|
3
lib/models/isar/models/contract.dart
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
abstract class Contract {
|
||||||
|
// for possible future use
|
||||||
|
}
|
60
lib/models/isar/models/ethereum/eth_contract.dart
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
import 'package:isar/isar.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/contract.dart';
|
||||||
|
|
||||||
|
part 'eth_contract.g.dart';
|
||||||
|
|
||||||
|
@collection
|
||||||
|
class EthContract extends Contract {
|
||||||
|
EthContract({
|
||||||
|
required this.address,
|
||||||
|
required this.name,
|
||||||
|
required this.symbol,
|
||||||
|
required this.decimals,
|
||||||
|
required this.type,
|
||||||
|
this.abi,
|
||||||
|
});
|
||||||
|
|
||||||
|
Id id = Isar.autoIncrement;
|
||||||
|
|
||||||
|
@Index(unique: true, replace: true)
|
||||||
|
late final String address;
|
||||||
|
|
||||||
|
late final String name;
|
||||||
|
|
||||||
|
late final String symbol;
|
||||||
|
|
||||||
|
late final int decimals;
|
||||||
|
|
||||||
|
late final String? abi;
|
||||||
|
|
||||||
|
@enumerated
|
||||||
|
late final EthContractType type;
|
||||||
|
|
||||||
|
EthContract copyWith({
|
||||||
|
Id? id,
|
||||||
|
String? address,
|
||||||
|
String? name,
|
||||||
|
String? symbol,
|
||||||
|
int? decimals,
|
||||||
|
EthContractType? type,
|
||||||
|
List<String>? walletIds,
|
||||||
|
String? abi,
|
||||||
|
String? otherData,
|
||||||
|
}) =>
|
||||||
|
EthContract(
|
||||||
|
address: address ?? this.address,
|
||||||
|
name: name ?? this.name,
|
||||||
|
symbol: symbol ?? this.symbol,
|
||||||
|
decimals: decimals ?? this.decimals,
|
||||||
|
type: type ?? this.type,
|
||||||
|
abi: abi ?? this.abi,
|
||||||
|
)..id = id ?? this.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Used in Isar db and stored there as int indexes so adding/removing values
|
||||||
|
// in this definition should be done extremely carefully in production
|
||||||
|
enum EthContractType {
|
||||||
|
unknown,
|
||||||
|
erc20,
|
||||||
|
erc721;
|
||||||
|
}
|
1322
lib/models/isar/models/ethereum/eth_contract.g.dart
Normal file
|
@ -4,5 +4,6 @@ export 'blockchain_data/input.dart';
|
||||||
export 'blockchain_data/output.dart';
|
export 'blockchain_data/output.dart';
|
||||||
export 'blockchain_data/transaction.dart';
|
export 'blockchain_data/transaction.dart';
|
||||||
export 'blockchain_data/utxo.dart';
|
export 'blockchain_data/utxo.dart';
|
||||||
|
export 'ethereum/eth_contract.dart';
|
||||||
export 'log.dart';
|
export 'log.dart';
|
||||||
export 'transaction_note.dart';
|
export 'transaction_note.dart';
|
||||||
|
|
|
@ -96,7 +96,8 @@ class TransactionChunk {
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
return TransactionChunk(
|
return TransactionChunk(
|
||||||
timestamp: json['timestamp'] as int, transactions: txList);
|
timestamp: int.parse(json['timestamp'].toString()),
|
||||||
|
transactions: txList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -192,13 +193,13 @@ class Transaction {
|
||||||
return Transaction(
|
return Transaction(
|
||||||
txid: json['txid'] as String,
|
txid: json['txid'] as String,
|
||||||
confirmedStatus: json['confirmed_status'] as bool,
|
confirmedStatus: json['confirmed_status'] as bool,
|
||||||
timestamp: json['timestamp'] as int,
|
timestamp: int.parse(json['timestamp'].toString()),
|
||||||
txType: json['txType'] as String,
|
txType: json['txType'] as String,
|
||||||
amount: json['amount'] as int,
|
amount: json['amount'] as int,
|
||||||
aliens: json['aliens'] as List,
|
aliens: json['aliens'] as List,
|
||||||
worthNow: json['worthNow'] as String? ?? "",
|
worthNow: json['worthNow'] as String? ?? "",
|
||||||
worthAtBlockTimestamp: json['worthAtBlockTimestamp'] as String? ?? "",
|
worthAtBlockTimestamp: json['worthAtBlockTimestamp'] as String? ?? "",
|
||||||
fees: json['fees'] as int,
|
fees: int.parse(json['fees'].toString()),
|
||||||
inputSize: json['inputSize'] as int,
|
inputSize: json['inputSize'] as int,
|
||||||
outputSize: json['outputSize'] as int,
|
outputSize: json['outputSize'] as int,
|
||||||
inputs: inputList,
|
inputs: inputList,
|
||||||
|
|
62
lib/models/token_balance.dart
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:stackwallet/models/balance.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
|
|
||||||
|
class TokenBalance extends Balance {
|
||||||
|
TokenBalance({
|
||||||
|
required this.contractAddress,
|
||||||
|
required super.total,
|
||||||
|
required super.spendable,
|
||||||
|
required super.blockedTotal,
|
||||||
|
required super.pendingSpendable,
|
||||||
|
super.coin = Coin.ethereum,
|
||||||
|
});
|
||||||
|
|
||||||
|
final String contractAddress;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toJsonIgnoreCoin() => jsonEncode({
|
||||||
|
"contractAddress": contractAddress,
|
||||||
|
"total": total.toJsonString(),
|
||||||
|
"spendable": spendable.toJsonString(),
|
||||||
|
"blockedTotal": blockedTotal.toJsonString(),
|
||||||
|
"pendingSpendable": pendingSpendable.toJsonString(),
|
||||||
|
});
|
||||||
|
|
||||||
|
factory TokenBalance.fromJson(
|
||||||
|
String json,
|
||||||
|
int fractionDigits,
|
||||||
|
) {
|
||||||
|
final decoded = jsonDecode(json);
|
||||||
|
return TokenBalance(
|
||||||
|
contractAddress: decoded["contractAddress"] as String,
|
||||||
|
total: decoded["total"] is String
|
||||||
|
? Amount.fromSerializedJsonString(decoded["total"] as String)
|
||||||
|
: Amount(
|
||||||
|
rawValue: BigInt.from(decoded["total"] as int),
|
||||||
|
fractionDigits: fractionDigits,
|
||||||
|
),
|
||||||
|
spendable: decoded["spendable"] is String
|
||||||
|
? Amount.fromSerializedJsonString(decoded["spendable"] as String)
|
||||||
|
: Amount(
|
||||||
|
rawValue: BigInt.from(decoded["spendable"] as int),
|
||||||
|
fractionDigits: fractionDigits,
|
||||||
|
),
|
||||||
|
blockedTotal: decoded["blockedTotal"] is String
|
||||||
|
? Amount.fromSerializedJsonString(decoded["blockedTotal"] as String)
|
||||||
|
: Amount(
|
||||||
|
rawValue: BigInt.from(decoded["blockedTotal"] as int),
|
||||||
|
fractionDigits: fractionDigits,
|
||||||
|
),
|
||||||
|
pendingSpendable: decoded["pendingSpendable"] is String
|
||||||
|
? Amount.fromSerializedJsonString(
|
||||||
|
decoded["pendingSpendable"] as String)
|
||||||
|
: Amount(
|
||||||
|
rawValue: BigInt.from(decoded["pendingSpendable"] as int),
|
||||||
|
fractionDigits: fractionDigits,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,10 +1,12 @@
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
|
|
||||||
class TransactionFilter {
|
class TransactionFilter {
|
||||||
final bool sent;
|
final bool sent;
|
||||||
final bool received;
|
final bool received;
|
||||||
final bool trade;
|
final bool trade;
|
||||||
final DateTime? from;
|
final DateTime? from;
|
||||||
final DateTime? to;
|
final DateTime? to;
|
||||||
final int? amount;
|
final Amount? amount;
|
||||||
final String keyword;
|
final String keyword;
|
||||||
|
|
||||||
TransactionFilter({
|
TransactionFilter({
|
||||||
|
@ -23,7 +25,7 @@ class TransactionFilter {
|
||||||
bool? trade,
|
bool? trade,
|
||||||
DateTime? from,
|
DateTime? from,
|
||||||
DateTime? to,
|
DateTime? to,
|
||||||
int? amount,
|
Amount? amount,
|
||||||
String? keyword,
|
String? keyword,
|
||||||
}) {
|
}) {
|
||||||
return TransactionFilter(
|
return TransactionFilter(
|
||||||
|
|
|
@ -0,0 +1,293 @@
|
||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
|
import 'package:stackwallet/services/ethereum/ethereum_api.dart';
|
||||||
|
import 'package:stackwallet/utilities/show_loading.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
import 'package:stackwallet/widgets/background.dart';
|
||||||
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
|
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/primary_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/secondary_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/stack_dialog.dart';
|
||||||
|
|
||||||
|
class AddCustomTokenView extends ConsumerStatefulWidget {
|
||||||
|
const AddCustomTokenView({
|
||||||
|
Key? key,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
static const routeName = "/addCustomToken";
|
||||||
|
|
||||||
|
@override
|
||||||
|
ConsumerState<AddCustomTokenView> createState() => _AddCustomTokenViewState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _AddCustomTokenViewState extends ConsumerState<AddCustomTokenView> {
|
||||||
|
final isDesktop = Util.isDesktop;
|
||||||
|
|
||||||
|
final contractController = TextEditingController();
|
||||||
|
final nameController = TextEditingController();
|
||||||
|
final symbolController = TextEditingController();
|
||||||
|
final decimalsController = TextEditingController();
|
||||||
|
|
||||||
|
bool enableSubFields = false;
|
||||||
|
bool addTokenButtonEnabled = false;
|
||||||
|
|
||||||
|
EthContract? currentToken;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return ConditionalParent(
|
||||||
|
condition: !isDesktop,
|
||||||
|
builder: (child) => Background(
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor:
|
||||||
|
Theme.of(context).extension<StackColors>()!.background,
|
||||||
|
appBar: AppBar(
|
||||||
|
leading: AppBarBackButton(
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
top: 10,
|
||||||
|
left: 16,
|
||||||
|
right: 16,
|
||||||
|
bottom: 16,
|
||||||
|
),
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: ConditionalParent(
|
||||||
|
condition: isDesktop,
|
||||||
|
builder: (child) => Column(
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
left: 32,
|
||||||
|
),
|
||||||
|
child: Text(
|
||||||
|
"Add custom ETH token",
|
||||||
|
style: STextStyles.desktopH3(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const DesktopDialogCloseButton(),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Flexible(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
left: 32,
|
||||||
|
right: 32,
|
||||||
|
bottom: 32,
|
||||||
|
top: 16,
|
||||||
|
),
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
if (!isDesktop)
|
||||||
|
Text(
|
||||||
|
"Add custom ETH token",
|
||||||
|
style: STextStyles.pageTitleH1(context),
|
||||||
|
),
|
||||||
|
if (!isDesktop)
|
||||||
|
const SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
TextField(
|
||||||
|
autocorrect: !isDesktop,
|
||||||
|
enableSuggestions: !isDesktop,
|
||||||
|
controller: contractController,
|
||||||
|
style: STextStyles.field(context),
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: "Contract address",
|
||||||
|
hintStyle: STextStyles.fieldLabel(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: isDesktop ? 16 : 8,
|
||||||
|
),
|
||||||
|
PrimaryButton(
|
||||||
|
label: "Search",
|
||||||
|
onPressed: () async {
|
||||||
|
final response = await showLoading(
|
||||||
|
whileFuture: EthereumAPI.getTokenContractInfoByAddress(
|
||||||
|
contractController.text),
|
||||||
|
context: context,
|
||||||
|
message: "Looking up contract",
|
||||||
|
);
|
||||||
|
currentToken = response.value;
|
||||||
|
if (currentToken != null) {
|
||||||
|
nameController.text = currentToken!.name;
|
||||||
|
symbolController.text = currentToken!.symbol;
|
||||||
|
decimalsController.text = currentToken!.decimals.toString();
|
||||||
|
} else {
|
||||||
|
nameController.text = "";
|
||||||
|
symbolController.text = "";
|
||||||
|
decimalsController.text = "";
|
||||||
|
if (mounted) {
|
||||||
|
unawaited(
|
||||||
|
showDialog<void>(
|
||||||
|
context: context,
|
||||||
|
builder: (context) => StackOkDialog(
|
||||||
|
title: "Failed to look up token",
|
||||||
|
message: response.exception?.message,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setState(() {
|
||||||
|
addTokenButtonEnabled = currentToken != null;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: isDesktop ? 16 : 8,
|
||||||
|
),
|
||||||
|
TextField(
|
||||||
|
enabled: enableSubFields,
|
||||||
|
autocorrect: !isDesktop,
|
||||||
|
enableSuggestions: !isDesktop,
|
||||||
|
controller: nameController,
|
||||||
|
style: STextStyles.field(context),
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: "Token name",
|
||||||
|
hintStyle: STextStyles.fieldLabel(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: isDesktop ? 16 : 8,
|
||||||
|
),
|
||||||
|
if (isDesktop)
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: TextField(
|
||||||
|
enabled: enableSubFields,
|
||||||
|
autocorrect: !isDesktop,
|
||||||
|
enableSuggestions: !isDesktop,
|
||||||
|
controller: symbolController,
|
||||||
|
style: STextStyles.field(context),
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: "Ticker",
|
||||||
|
hintStyle: STextStyles.fieldLabel(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
width: 16,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: TextField(
|
||||||
|
enabled: enableSubFields,
|
||||||
|
autocorrect: !isDesktop,
|
||||||
|
enableSuggestions: !isDesktop,
|
||||||
|
controller: decimalsController,
|
||||||
|
style: STextStyles.field(context),
|
||||||
|
inputFormatters: [
|
||||||
|
TextInputFormatter.withFunction((oldValue, newValue) =>
|
||||||
|
RegExp(r'^([0-9]*)$').hasMatch(newValue.text)
|
||||||
|
? newValue
|
||||||
|
: oldValue),
|
||||||
|
],
|
||||||
|
keyboardType: const TextInputType.numberWithOptions(
|
||||||
|
signed: false,
|
||||||
|
decimal: false,
|
||||||
|
),
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: "Decimals",
|
||||||
|
hintStyle: STextStyles.fieldLabel(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
if (!isDesktop)
|
||||||
|
TextField(
|
||||||
|
enabled: enableSubFields,
|
||||||
|
autocorrect: !isDesktop,
|
||||||
|
enableSuggestions: !isDesktop,
|
||||||
|
controller: symbolController,
|
||||||
|
style: STextStyles.field(context),
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: "Ticker",
|
||||||
|
hintStyle: STextStyles.fieldLabel(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
if (!isDesktop)
|
||||||
|
const SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
|
if (!isDesktop)
|
||||||
|
TextField(
|
||||||
|
enabled: enableSubFields,
|
||||||
|
autocorrect: !isDesktop,
|
||||||
|
enableSuggestions: !isDesktop,
|
||||||
|
controller: decimalsController,
|
||||||
|
style: STextStyles.field(context),
|
||||||
|
inputFormatters: [
|
||||||
|
TextInputFormatter.withFunction((oldValue, newValue) =>
|
||||||
|
RegExp(r'^([0-9]*)$').hasMatch(newValue.text)
|
||||||
|
? newValue
|
||||||
|
: oldValue),
|
||||||
|
],
|
||||||
|
keyboardType: const TextInputType.numberWithOptions(
|
||||||
|
signed: false,
|
||||||
|
decimal: false,
|
||||||
|
),
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: "Decimals",
|
||||||
|
hintStyle: STextStyles.fieldLabel(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
const Spacer(),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
if (isDesktop)
|
||||||
|
Expanded(
|
||||||
|
child: SecondaryButton(
|
||||||
|
label: "Cancel",
|
||||||
|
onPressed: Navigator.of(context).pop,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
if (isDesktop)
|
||||||
|
const SizedBox(
|
||||||
|
width: 16,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: PrimaryButton(
|
||||||
|
label: "Add token",
|
||||||
|
enabled: addTokenButtonEnabled,
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop(currentToken!);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,545 @@
|
||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
import 'package:isar/isar.dart';
|
||||||
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
|
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/add_custom_token_view.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/sub_widgets/add_token_list.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/sub_widgets/add_token_list_element.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/sub_widgets/add_token_text.dart';
|
||||||
|
import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart';
|
||||||
|
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
||||||
|
import 'package:stackwallet/services/coins/ethereum/ethereum_wallet.dart';
|
||||||
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
|
import 'package:stackwallet/utilities/default_eth_tokens.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
import 'package:stackwallet/widgets/background.dart';
|
||||||
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
|
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_dialog.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/primary_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/secondary_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/icon_widgets/x_icon.dart';
|
||||||
|
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
||||||
|
import 'package:stackwallet/widgets/stack_text_field.dart';
|
||||||
|
import 'package:stackwallet/widgets/textfield_icon_button.dart';
|
||||||
|
|
||||||
|
class EditWalletTokensView extends ConsumerStatefulWidget {
|
||||||
|
const EditWalletTokensView({
|
||||||
|
Key? key,
|
||||||
|
required this.walletId,
|
||||||
|
this.contractsToMarkSelected,
|
||||||
|
this.isDesktopPopup = false,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
final String walletId;
|
||||||
|
final List<String>? contractsToMarkSelected;
|
||||||
|
final bool isDesktopPopup;
|
||||||
|
|
||||||
|
static const routeName = "/editWalletTokens";
|
||||||
|
|
||||||
|
@override
|
||||||
|
ConsumerState<EditWalletTokensView> createState() =>
|
||||||
|
_EditWalletTokensViewState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _EditWalletTokensViewState extends ConsumerState<EditWalletTokensView> {
|
||||||
|
late final TextEditingController _searchFieldController;
|
||||||
|
late final FocusNode _searchFocusNode;
|
||||||
|
|
||||||
|
String _searchTerm = "";
|
||||||
|
|
||||||
|
final List<AddTokenListElementData> tokenEntities = [];
|
||||||
|
|
||||||
|
final bool isDesktop = Util.isDesktop;
|
||||||
|
|
||||||
|
List<AddTokenListElementData> filter(
|
||||||
|
String text,
|
||||||
|
List<AddTokenListElementData> entities,
|
||||||
|
) {
|
||||||
|
final _entities = [...entities];
|
||||||
|
if (text.isNotEmpty) {
|
||||||
|
final lowercaseTerm = text.toLowerCase();
|
||||||
|
_entities.retainWhere(
|
||||||
|
(e) =>
|
||||||
|
e.token.name.toLowerCase().contains(lowercaseTerm) ||
|
||||||
|
e.token.symbol.toLowerCase().contains(lowercaseTerm) ||
|
||||||
|
e.token.address.toLowerCase().contains(lowercaseTerm),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return _entities;
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> onNextPressed() async {
|
||||||
|
final selectedTokens = tokenEntities
|
||||||
|
.where((e) => e.selected)
|
||||||
|
.map((e) => e.token.address)
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
final ethWallet = ref
|
||||||
|
.read(walletsChangeNotifierProvider)
|
||||||
|
.getManager(widget.walletId)
|
||||||
|
.wallet as EthereumWallet;
|
||||||
|
|
||||||
|
await ethWallet.updateTokenContracts(selectedTokens);
|
||||||
|
if (mounted) {
|
||||||
|
if (widget.contractsToMarkSelected == null) {
|
||||||
|
Navigator.of(context).pop(42);
|
||||||
|
} else {
|
||||||
|
Navigator.of(context).popUntil(
|
||||||
|
ModalRoute.withName(DesktopHomeView.routeName),
|
||||||
|
);
|
||||||
|
unawaited(
|
||||||
|
showFloatingFlushBar(
|
||||||
|
type: FlushBarType.success,
|
||||||
|
message: "${ethWallet.walletName} tokens saved",
|
||||||
|
context: context,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _addToken() async {
|
||||||
|
EthContract? contract;
|
||||||
|
|
||||||
|
if (isDesktop) {
|
||||||
|
contract = await showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (context) => const DesktopDialog(
|
||||||
|
maxWidth: 580,
|
||||||
|
maxHeight: 500,
|
||||||
|
child: AddCustomTokenView(),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
contract = await Navigator.of(context).pushNamed(
|
||||||
|
AddCustomTokenView.routeName,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (contract != null) {
|
||||||
|
await MainDB.instance.putEthContract(contract);
|
||||||
|
if (mounted) {
|
||||||
|
setState(() {
|
||||||
|
if (tokenEntities
|
||||||
|
.where((e) => e.token.address == contract!.address)
|
||||||
|
.isEmpty) {
|
||||||
|
tokenEntities
|
||||||
|
.add(AddTokenListElementData(contract!)..selected = true);
|
||||||
|
tokenEntities.sort((a, b) => a.token.name.compareTo(b.token.name));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
_searchFieldController = TextEditingController();
|
||||||
|
_searchFocusNode = FocusNode();
|
||||||
|
|
||||||
|
final contracts =
|
||||||
|
MainDB.instance.getEthContracts().sortByName().findAllSync();
|
||||||
|
|
||||||
|
if (contracts.isEmpty) {
|
||||||
|
contracts.addAll(DefaultTokens.list);
|
||||||
|
MainDB.instance.putEthContracts(contracts);
|
||||||
|
}
|
||||||
|
|
||||||
|
tokenEntities.addAll(contracts.map((e) => AddTokenListElementData(e)));
|
||||||
|
|
||||||
|
final walletContracts = (ref
|
||||||
|
.read(walletsChangeNotifierProvider)
|
||||||
|
.getManager(widget.walletId)
|
||||||
|
.wallet as EthereumWallet)
|
||||||
|
.getWalletTokenContractAddresses();
|
||||||
|
|
||||||
|
final shouldMarkAsSelectedContracts = [
|
||||||
|
...walletContracts,
|
||||||
|
...(widget.contractsToMarkSelected ?? []),
|
||||||
|
];
|
||||||
|
|
||||||
|
for (final e in tokenEntities) {
|
||||||
|
e.selected = shouldMarkAsSelectedContracts.contains(e.token.address);
|
||||||
|
}
|
||||||
|
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
_searchFieldController.dispose();
|
||||||
|
_searchFocusNode.dispose();
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
debugPrint("BUILD: $runtimeType");
|
||||||
|
final walletName = ref.watch(walletsChangeNotifierProvider
|
||||||
|
.select((value) => value.getManager(widget.walletId).walletName));
|
||||||
|
|
||||||
|
if (isDesktop) {
|
||||||
|
return ConditionalParent(
|
||||||
|
condition: !widget.isDesktopPopup,
|
||||||
|
builder: (child) => DesktopScaffold(
|
||||||
|
appBar: DesktopAppBar(
|
||||||
|
isCompactHeight: false,
|
||||||
|
useSpacers: false,
|
||||||
|
leading: const AppBarBackButton(),
|
||||||
|
overlayCenter: Text(
|
||||||
|
walletName,
|
||||||
|
style: STextStyles.desktopSubtitleH2(context),
|
||||||
|
),
|
||||||
|
trailing: widget.contractsToMarkSelected == null
|
||||||
|
? Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
right: 24,
|
||||||
|
),
|
||||||
|
child: SizedBox(
|
||||||
|
height: 56,
|
||||||
|
child: TextButton(
|
||||||
|
style: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.getSmallSecondaryEnabledButtonStyle(context),
|
||||||
|
onPressed: _addToken,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 30,
|
||||||
|
),
|
||||||
|
child: Text(
|
||||||
|
"Add custom token",
|
||||||
|
style:
|
||||||
|
STextStyles.desktopButtonSmallSecondaryEnabled(
|
||||||
|
context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: null,
|
||||||
|
),
|
||||||
|
body: SizedBox(
|
||||||
|
width: 480,
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
const AddTokenText(
|
||||||
|
isDesktop: true,
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: RoundedWhiteContainer(
|
||||||
|
radiusMultiplier: 2,
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
left: 20,
|
||||||
|
top: 20,
|
||||||
|
right: 20,
|
||||||
|
bottom: 0,
|
||||||
|
),
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 26,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 70,
|
||||||
|
width: 480,
|
||||||
|
child: PrimaryButton(
|
||||||
|
label: widget.contractsToMarkSelected != null
|
||||||
|
? "Save"
|
||||||
|
: "Next",
|
||||||
|
onPressed: onNextPressed,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 32,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: ConditionalParent(
|
||||||
|
condition: widget.isDesktopPopup,
|
||||||
|
builder: (child) => DesktopDialog(
|
||||||
|
maxHeight: 670,
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
left: 32,
|
||||||
|
),
|
||||||
|
child: Text(
|
||||||
|
"Edit tokens",
|
||||||
|
style: STextStyles.desktopH3(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const DesktopDialogCloseButton(),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 32,
|
||||||
|
vertical: 16,
|
||||||
|
),
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 32,
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: SecondaryButton(
|
||||||
|
label: "Add custom token",
|
||||||
|
buttonHeight: ButtonHeight.l,
|
||||||
|
onPressed: _addToken,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
width: 16,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: PrimaryButton(
|
||||||
|
label: "Done",
|
||||||
|
buttonHeight: ButtonHeight.l,
|
||||||
|
onPressed: onNextPressed,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 32,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
ClipRRect(
|
||||||
|
borderRadius: BorderRadius.circular(
|
||||||
|
Constants.size.circularBorderRadius,
|
||||||
|
),
|
||||||
|
child: TextField(
|
||||||
|
autocorrect: Util.isDesktop ? false : true,
|
||||||
|
enableSuggestions: Util.isDesktop ? false : true,
|
||||||
|
controller: _searchFieldController,
|
||||||
|
focusNode: _searchFocusNode,
|
||||||
|
onChanged: (value) {
|
||||||
|
setState(() {
|
||||||
|
_searchTerm = value;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
style: STextStyles.desktopTextMedium(context).copyWith(
|
||||||
|
height: 2,
|
||||||
|
),
|
||||||
|
decoration: standardInputDecoration(
|
||||||
|
"Search",
|
||||||
|
_searchFocusNode,
|
||||||
|
context,
|
||||||
|
).copyWith(
|
||||||
|
contentPadding: const EdgeInsets.symmetric(
|
||||||
|
vertical: 10,
|
||||||
|
),
|
||||||
|
prefixIcon: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 16,
|
||||||
|
// vertical: 20,
|
||||||
|
),
|
||||||
|
child: SvgPicture.asset(
|
||||||
|
Assets.svg.search,
|
||||||
|
width: 24,
|
||||||
|
height: 24,
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textFieldDefaultSearchIconLeft,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
suffixIcon: _searchFieldController.text.isNotEmpty
|
||||||
|
? Padding(
|
||||||
|
padding: const EdgeInsets.only(right: 10),
|
||||||
|
child: UnconstrainedBox(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
TextFieldIconButton(
|
||||||
|
child: const XIcon(
|
||||||
|
width: 24,
|
||||||
|
height: 24,
|
||||||
|
),
|
||||||
|
onTap: () async {
|
||||||
|
setState(() {
|
||||||
|
_searchFieldController.text = "";
|
||||||
|
_searchTerm = "";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: null,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 12,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: AddTokenList(
|
||||||
|
walletId: widget.walletId,
|
||||||
|
items: filter(_searchTerm, tokenEntities),
|
||||||
|
addFunction: isDesktop ? null : _addToken,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 12,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return Background(
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor:
|
||||||
|
Theme.of(context).extension<StackColors>()!.background,
|
||||||
|
appBar: AppBar(
|
||||||
|
leading: AppBarBackButton(
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
actions: [
|
||||||
|
AspectRatio(
|
||||||
|
aspectRatio: 1,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: AppBarIconButton(
|
||||||
|
icon: SvgPicture.asset(
|
||||||
|
Assets.svg.circlePlusFilled,
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.topNavIconPrimary,
|
||||||
|
),
|
||||||
|
onPressed: _addToken,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
body: Container(
|
||||||
|
color: Theme.of(context).extension<StackColors>()!.background,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
|
children: [
|
||||||
|
AddTokenText(
|
||||||
|
isDesktop: false,
|
||||||
|
walletName: walletName,
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
ClipRRect(
|
||||||
|
borderRadius: BorderRadius.circular(
|
||||||
|
Constants.size.circularBorderRadius,
|
||||||
|
),
|
||||||
|
child: TextField(
|
||||||
|
autofocus: isDesktop,
|
||||||
|
autocorrect: !isDesktop,
|
||||||
|
enableSuggestions: !isDesktop,
|
||||||
|
controller: _searchFieldController,
|
||||||
|
focusNode: _searchFocusNode,
|
||||||
|
onChanged: (value) => setState(() => _searchTerm = value),
|
||||||
|
style: STextStyles.field(context),
|
||||||
|
decoration: standardInputDecoration(
|
||||||
|
"Search",
|
||||||
|
_searchFocusNode,
|
||||||
|
context,
|
||||||
|
desktopMed: isDesktop,
|
||||||
|
).copyWith(
|
||||||
|
prefixIcon: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 10,
|
||||||
|
vertical: 16,
|
||||||
|
),
|
||||||
|
child: SvgPicture.asset(
|
||||||
|
Assets.svg.search,
|
||||||
|
width: 16,
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
suffixIcon: _searchFieldController.text.isNotEmpty
|
||||||
|
? Padding(
|
||||||
|
padding: const EdgeInsets.only(right: 0),
|
||||||
|
child: UnconstrainedBox(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
TextFieldIconButton(
|
||||||
|
child: const XIcon(),
|
||||||
|
onTap: () async {
|
||||||
|
setState(() {
|
||||||
|
_searchFieldController.text = "";
|
||||||
|
_searchTerm = "";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: null,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 10,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: AddTokenList(
|
||||||
|
walletId: widget.walletId,
|
||||||
|
items: filter(_searchTerm, tokenEntities),
|
||||||
|
addFunction: _addToken,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
PrimaryButton(
|
||||||
|
label: widget.contractsToMarkSelected != null
|
||||||
|
? "Save"
|
||||||
|
: "Next",
|
||||||
|
onPressed: onNextPressed,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,60 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
|
||||||
|
class AddCustomTokenSelector extends StatelessWidget {
|
||||||
|
const AddCustomTokenSelector({
|
||||||
|
Key? key,
|
||||||
|
required this.addFunction,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
final VoidCallback addFunction;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(vertical: 4),
|
||||||
|
child: MaterialButton(
|
||||||
|
key: const Key("coinSelectItemButtonKey_add_custom"),
|
||||||
|
padding: Util.isDesktop
|
||||||
|
? const EdgeInsets.only(left: 24)
|
||||||
|
: const EdgeInsets.all(12),
|
||||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(
|
||||||
|
Constants.size.circularBorderRadius,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onPressed: addFunction,
|
||||||
|
child: ConstrainedBox(
|
||||||
|
constraints: BoxConstraints(
|
||||||
|
minHeight: Util.isDesktop ? 70 : 0,
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
SvgPicture.asset(
|
||||||
|
Assets.svg.circlePlusFilled,
|
||||||
|
color: Theme.of(context).extension<StackColors>()!.textDark,
|
||||||
|
width: 26,
|
||||||
|
height: 26,
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
width: 12,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"Add custom token",
|
||||||
|
style: Util.isDesktop
|
||||||
|
? STextStyles.desktopTextMedium(context)
|
||||||
|
: STextStyles.w600_14(context),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/sub_widgets/add_custom_token_selector.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/sub_widgets/add_token_list_element.dart';
|
||||||
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
|
|
||||||
|
class AddTokenList extends StatelessWidget {
|
||||||
|
const AddTokenList({
|
||||||
|
Key? key,
|
||||||
|
required this.walletId,
|
||||||
|
required this.items,
|
||||||
|
required this.addFunction,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
final String walletId;
|
||||||
|
final List<AddTokenListElementData> items;
|
||||||
|
final VoidCallback? addFunction;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return ListView.builder(
|
||||||
|
shrinkWrap: true,
|
||||||
|
primary: false,
|
||||||
|
itemCount: items.length,
|
||||||
|
itemBuilder: (ctx, index) {
|
||||||
|
return ConditionalParent(
|
||||||
|
condition: index == items.length - 1 && addFunction != null,
|
||||||
|
builder: (child) => Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
child,
|
||||||
|
AddCustomTokenSelector(
|
||||||
|
addFunction: addFunction!,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(vertical: 4),
|
||||||
|
child: AddTokenListElement(
|
||||||
|
data: items[index],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,129 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
import 'package:isar/isar.dart';
|
||||||
|
import 'package:stackwallet/models/isar/exchange_cache/currency.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
|
import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart';
|
||||||
|
import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart';
|
||||||
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
|
import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
||||||
|
|
||||||
|
class AddTokenListElementData {
|
||||||
|
AddTokenListElementData(this.token);
|
||||||
|
|
||||||
|
final EthContract token;
|
||||||
|
bool selected = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
class AddTokenListElement extends StatefulWidget {
|
||||||
|
const AddTokenListElement({Key? key, required this.data}) : super(key: key);
|
||||||
|
|
||||||
|
final AddTokenListElementData data;
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<AddTokenListElement> createState() => _AddTokenListElementState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _AddTokenListElementState extends State<AddTokenListElement> {
|
||||||
|
final bool isDesktop = Util.isDesktop;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final currency = ExchangeDataLoadingService.instance.isar.currencies
|
||||||
|
.where()
|
||||||
|
.exchangeNameEqualTo(ChangeNowExchange.exchangeName)
|
||||||
|
.filter()
|
||||||
|
.tokenContractEqualTo(
|
||||||
|
widget.data.token.address,
|
||||||
|
caseSensitive: false,
|
||||||
|
)
|
||||||
|
.and()
|
||||||
|
.imageIsNotEmpty()
|
||||||
|
.findFirstSync();
|
||||||
|
|
||||||
|
final String mainLabel = widget.data.token.name;
|
||||||
|
final double iconSize = isDesktop ? 32 : 24;
|
||||||
|
|
||||||
|
return RoundedWhiteContainer(
|
||||||
|
padding: EdgeInsets.all(isDesktop ? 16 : 12),
|
||||||
|
borderColor: isDesktop
|
||||||
|
? Theme.of(context).extension<StackColors>()!.backgroundAppBar
|
||||||
|
: null,
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
currency != null
|
||||||
|
? SvgPicture.network(
|
||||||
|
currency.image,
|
||||||
|
width: iconSize,
|
||||||
|
height: iconSize,
|
||||||
|
)
|
||||||
|
: SvgPicture.asset(
|
||||||
|
widget.data.token.symbol == "BNB"
|
||||||
|
? Assets.svg.bnbIcon
|
||||||
|
: Assets.svg.ethereum,
|
||||||
|
width: iconSize,
|
||||||
|
height: iconSize,
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
width: 12,
|
||||||
|
),
|
||||||
|
ConditionalParent(
|
||||||
|
condition: isDesktop,
|
||||||
|
builder: (child) => Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
child,
|
||||||
|
const SizedBox(
|
||||||
|
height: 2,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
widget.data.token.symbol,
|
||||||
|
style: STextStyles.desktopTextExtraExtraSmall(context),
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Text(
|
||||||
|
isDesktop
|
||||||
|
? mainLabel
|
||||||
|
: "$mainLabel (${widget.data.token.symbol})",
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopTextSmall(context)
|
||||||
|
: STextStyles.w600_14(context),
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
width: 4,
|
||||||
|
),
|
||||||
|
isDesktop
|
||||||
|
? Checkbox(
|
||||||
|
value: widget.data.selected,
|
||||||
|
onChanged: (newValue) =>
|
||||||
|
setState(() => widget.data.selected = newValue!),
|
||||||
|
)
|
||||||
|
: SizedBox(
|
||||||
|
height: 20,
|
||||||
|
width: 40,
|
||||||
|
child: DraggableSwitchButton(
|
||||||
|
isOn: widget.data.selected,
|
||||||
|
onValueChanged: (newValue) {
|
||||||
|
widget.data.selected = newValue;
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
|
||||||
|
class AddTokenText extends StatelessWidget {
|
||||||
|
const AddTokenText({
|
||||||
|
Key? key,
|
||||||
|
required this.isDesktop,
|
||||||
|
this.walletName,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
final String? walletName;
|
||||||
|
final bool isDesktop;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
|
children: [
|
||||||
|
if (walletName != null)
|
||||||
|
Text(
|
||||||
|
walletName!,
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.sectionLabelMedium12(context) // todo: fixme
|
||||||
|
: STextStyles.sectionLabelMedium12(context),
|
||||||
|
),
|
||||||
|
if (walletName != null)
|
||||||
|
const SizedBox(
|
||||||
|
height: 4,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"Edit Tokens",
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopH2(context)
|
||||||
|
: STextStyles.pageTitleH1(context),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"You can also do it later in your wallet",
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopSubtitleH2(context)
|
||||||
|
: STextStyles.subtitle(context),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,14 +1,24 @@
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
import 'package:isar/isar.dart';
|
||||||
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/sub_classes/coin_entity.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/sub_classes/eth_token_entity.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/add_custom_token_view.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/sub_widgets/add_custom_token_selector.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/add_wallet_text.dart';
|
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/add_wallet_text.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/mobile_coin_list.dart';
|
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/expanding_sub_list_item.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/next_button.dart';
|
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/next_button.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/searchable_coin_list.dart';
|
|
||||||
import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart';
|
import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart';
|
||||||
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
|
import 'package:stackwallet/utilities/default_eth_tokens.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
@ -16,40 +26,122 @@ import 'package:stackwallet/utilities/util.dart';
|
||||||
import 'package:stackwallet/widgets/background.dart';
|
import 'package:stackwallet/widgets/background.dart';
|
||||||
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
||||||
import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart';
|
import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_dialog.dart';
|
||||||
import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart';
|
import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart';
|
||||||
|
import 'package:stackwallet/widgets/expandable.dart';
|
||||||
import 'package:stackwallet/widgets/icon_widgets/x_icon.dart';
|
import 'package:stackwallet/widgets/icon_widgets/x_icon.dart';
|
||||||
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
||||||
import 'package:stackwallet/widgets/stack_text_field.dart';
|
import 'package:stackwallet/widgets/stack_text_field.dart';
|
||||||
import 'package:stackwallet/widgets/textfield_icon_button.dart';
|
import 'package:stackwallet/widgets/textfield_icon_button.dart';
|
||||||
|
|
||||||
class AddWalletView extends StatefulWidget {
|
class AddWalletView extends ConsumerStatefulWidget {
|
||||||
const AddWalletView({Key? key}) : super(key: key);
|
const AddWalletView({Key? key}) : super(key: key);
|
||||||
|
|
||||||
static const routeName = "/addWallet";
|
static const routeName = "/addWallet";
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<AddWalletView> createState() => _AddWalletViewState();
|
ConsumerState<AddWalletView> createState() => _AddWalletViewState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _AddWalletViewState extends State<AddWalletView> {
|
class _AddWalletViewState extends ConsumerState<AddWalletView> {
|
||||||
late final TextEditingController _searchFieldController;
|
late final TextEditingController _searchFieldController;
|
||||||
late final FocusNode _searchFocusNode;
|
late final FocusNode _searchFocusNode;
|
||||||
|
|
||||||
String _searchTerm = "";
|
String _searchTerm = "";
|
||||||
|
|
||||||
final List<Coin> coins = [...Coin.values];
|
final List<Coin> _coinsTestnet = [
|
||||||
|
...Coin.values.sublist(Coin.values.length - kTestNetCoinCount - 1),
|
||||||
|
];
|
||||||
|
final List<Coin> _coins = [
|
||||||
|
...Coin.values.sublist(0, Coin.values.length - kTestNetCoinCount - 1)
|
||||||
|
];
|
||||||
|
final List<AddWalletListEntity> coinEntities = [];
|
||||||
|
final List<EthTokenEntity> tokenEntities = [];
|
||||||
|
|
||||||
final bool isDesktop = Util.isDesktop;
|
final bool isDesktop = Util.isDesktop;
|
||||||
|
|
||||||
|
List<AddWalletListEntity> filter(
|
||||||
|
String text,
|
||||||
|
List<AddWalletListEntity> entities,
|
||||||
|
) {
|
||||||
|
final _entities = [...entities];
|
||||||
|
if (text.isNotEmpty) {
|
||||||
|
final lowercaseTerm = text.toLowerCase();
|
||||||
|
_entities.retainWhere(
|
||||||
|
(e) =>
|
||||||
|
e.ticker.toLowerCase().contains(lowercaseTerm) ||
|
||||||
|
e.name.toLowerCase().contains(lowercaseTerm) ||
|
||||||
|
e.coin.name.toLowerCase().contains(lowercaseTerm) ||
|
||||||
|
(e is EthTokenEntity &&
|
||||||
|
e.token.address.toLowerCase().contains(lowercaseTerm)),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return _entities;
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _addToken() async {
|
||||||
|
EthContract? contract;
|
||||||
|
if (isDesktop) {
|
||||||
|
contract = await showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (context) => const DesktopDialog(
|
||||||
|
maxWidth: 580,
|
||||||
|
maxHeight: 500,
|
||||||
|
child: AddCustomTokenView(),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
contract = await Navigator.of(context).pushNamed(
|
||||||
|
AddCustomTokenView.routeName,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (contract != null) {
|
||||||
|
await MainDB.instance.putEthContract(contract);
|
||||||
|
if (mounted) {
|
||||||
|
setState(() {
|
||||||
|
if (tokenEntities
|
||||||
|
.where((e) => e.token.address == contract!.address)
|
||||||
|
.isEmpty) {
|
||||||
|
tokenEntities.add(EthTokenEntity(contract!));
|
||||||
|
tokenEntities.sort((a, b) => a.token.name.compareTo(b.token.name));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
_searchFieldController = TextEditingController();
|
_searchFieldController = TextEditingController();
|
||||||
_searchFocusNode = FocusNode();
|
_searchFocusNode = FocusNode();
|
||||||
coins.remove(Coin.firoTestNet);
|
_coinsTestnet.remove(Coin.firoTestNet);
|
||||||
if (Platform.isWindows) {
|
if (Platform.isWindows) {
|
||||||
coins.remove(Coin.monero);
|
_coins.remove(Coin.monero);
|
||||||
coins.remove(Coin.wownero);
|
_coins.remove(Coin.wownero);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
coinEntities.addAll(_coins.map((e) => CoinEntity(e)));
|
||||||
|
|
||||||
|
if (ref.read(prefsChangeNotifierProvider).showTestNetCoins) {
|
||||||
|
coinEntities.addAll(_coinsTestnet.map((e) => CoinEntity(e)));
|
||||||
|
}
|
||||||
|
|
||||||
|
final contracts =
|
||||||
|
MainDB.instance.getEthContracts().sortByName().findAllSync();
|
||||||
|
|
||||||
|
if (contracts.isEmpty) {
|
||||||
|
contracts.addAll(DefaultTokens.list);
|
||||||
|
MainDB.instance.putEthContracts(contracts);
|
||||||
|
}
|
||||||
|
|
||||||
|
tokenEntities.addAll(contracts.map((e) => EthTokenEntity(e)));
|
||||||
|
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
ref.refresh(addWalletSelectedEntityStateProvider);
|
||||||
|
});
|
||||||
|
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,13 +254,33 @@ class _AddWalletViewState extends State<AddWalletView> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: SearchableCoinList(
|
child: SingleChildScrollView(
|
||||||
coins: coins,
|
child: Column(
|
||||||
isDesktop: true,
|
children: [
|
||||||
searchTerm: _searchTerm,
|
ExpandingSubListItem(
|
||||||
|
title: "Coins",
|
||||||
|
entities: filter(_searchTerm, coinEntities),
|
||||||
|
initialState: ExpandableState.expanded,
|
||||||
|
),
|
||||||
|
ExpandingSubListItem(
|
||||||
|
title: "Tokens",
|
||||||
|
entities: filter(_searchTerm, tokenEntities),
|
||||||
|
initialState: ExpandableState.expanded,
|
||||||
|
trailing: AddCustomTokenSelector(
|
||||||
|
addFunction: _addToken,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 20,
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -215,9 +327,77 @@ class _AddWalletViewState extends State<AddWalletView> {
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
height: 16,
|
height: 16,
|
||||||
),
|
),
|
||||||
|
ClipRRect(
|
||||||
|
borderRadius: BorderRadius.circular(
|
||||||
|
Constants.size.circularBorderRadius,
|
||||||
|
),
|
||||||
|
child: TextField(
|
||||||
|
autofocus: isDesktop,
|
||||||
|
autocorrect: !isDesktop,
|
||||||
|
enableSuggestions: !isDesktop,
|
||||||
|
controller: _searchFieldController,
|
||||||
|
focusNode: _searchFocusNode,
|
||||||
|
onChanged: (value) => setState(() => _searchTerm = value),
|
||||||
|
style: STextStyles.field(context),
|
||||||
|
decoration: standardInputDecoration(
|
||||||
|
"Search",
|
||||||
|
_searchFocusNode,
|
||||||
|
context,
|
||||||
|
desktopMed: isDesktop,
|
||||||
|
).copyWith(
|
||||||
|
prefixIcon: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 10,
|
||||||
|
vertical: 16,
|
||||||
|
),
|
||||||
|
child: SvgPicture.asset(
|
||||||
|
Assets.svg.search,
|
||||||
|
width: 16,
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
suffixIcon: _searchFieldController.text.isNotEmpty
|
||||||
|
? Padding(
|
||||||
|
padding: const EdgeInsets.only(right: 0),
|
||||||
|
child: UnconstrainedBox(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
TextFieldIconButton(
|
||||||
|
child: const XIcon(),
|
||||||
|
onTap: () async {
|
||||||
|
setState(() {
|
||||||
|
_searchFieldController.text = "";
|
||||||
|
_searchTerm = "";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: null,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 10,
|
||||||
|
),
|
||||||
Expanded(
|
Expanded(
|
||||||
child: MobileCoinList(
|
child: SingleChildScrollView(
|
||||||
coins: coins,
|
child: Column(
|
||||||
|
children: [
|
||||||
|
ExpandingSubListItem(
|
||||||
|
title: "Coins",
|
||||||
|
entities: filter(_searchTerm, coinEntities),
|
||||||
|
initialState: ExpandableState.expanded,
|
||||||
|
),
|
||||||
|
ExpandingSubListItem(
|
||||||
|
title: "Tokens",
|
||||||
|
entities: filter(_searchTerm, tokenEntities),
|
||||||
|
initialState: ExpandableState.expanded,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/coin_select_item.dart';
|
||||||
|
|
||||||
|
class AddWalletEntityList extends StatelessWidget {
|
||||||
|
const AddWalletEntityList({
|
||||||
|
Key? key,
|
||||||
|
required this.entities,
|
||||||
|
this.trailing,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
final List<AddWalletListEntity> entities;
|
||||||
|
final Widget? trailing;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return ListView.builder(
|
||||||
|
shrinkWrap: true,
|
||||||
|
primary: false,
|
||||||
|
itemCount: trailing != null ? entities.length + 1 : entities.length,
|
||||||
|
itemBuilder: (ctx, index) {
|
||||||
|
if (trailing != null && index == entities.length) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.all(4),
|
||||||
|
child: trailing,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.all(4),
|
||||||
|
child: CoinSelectItem(
|
||||||
|
entity: entities[index],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,10 +1,15 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
import 'package:isar/isar.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/sub_classes/eth_token_entity.dart';
|
||||||
|
import 'package:stackwallet/models/isar/exchange_cache/currency.dart';
|
||||||
import 'package:stackwallet/providers/providers.dart';
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
|
import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart';
|
||||||
|
import 'package:stackwallet/services/exchange/exchange_data_loading_service.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/utilities/util.dart';
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
@ -12,30 +17,44 @@ import 'package:stackwallet/utilities/util.dart';
|
||||||
class CoinSelectItem extends ConsumerWidget {
|
class CoinSelectItem extends ConsumerWidget {
|
||||||
const CoinSelectItem({
|
const CoinSelectItem({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.coin,
|
required this.entity,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
final Coin coin;
|
final AddWalletListEntity entity;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
debugPrint("BUILD: CoinSelectItem for ${coin.name}");
|
debugPrint("BUILD: CoinSelectItem for ${entity.name}");
|
||||||
final selectedCoin = ref.watch(addWalletSelectedCoinStateProvider);
|
final selectedEntity = ref.watch(addWalletSelectedEntityStateProvider);
|
||||||
|
|
||||||
final isDesktop = Util.isDesktop;
|
final isDesktop = Util.isDesktop;
|
||||||
|
|
||||||
|
String? tokenImageUri;
|
||||||
|
if (entity is EthTokenEntity) {
|
||||||
|
final currency = ExchangeDataLoadingService.instance.isar.currencies
|
||||||
|
.where()
|
||||||
|
.exchangeNameEqualTo(ChangeNowExchange.exchangeName)
|
||||||
|
.filter()
|
||||||
|
.tokenContractEqualTo(
|
||||||
|
(entity as EthTokenEntity).token.address,
|
||||||
|
caseSensitive: false,
|
||||||
|
)
|
||||||
|
.and()
|
||||||
|
.imageIsNotEmpty()
|
||||||
|
.findFirstSync();
|
||||||
|
tokenImageUri = currency?.image;
|
||||||
|
}
|
||||||
|
|
||||||
return Container(
|
return Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
// color: selectedCoin == coin ? CFColors.selection : CFColors.white,
|
color: selectedEntity == entity
|
||||||
color: selectedCoin == coin
|
|
||||||
? Theme.of(context).extension<StackColors>()!.textFieldActiveBG
|
? Theme.of(context).extension<StackColors>()!.textFieldActiveBG
|
||||||
: Theme.of(context).extension<StackColors>()!.popupBG,
|
: Theme.of(context).extension<StackColors>()!.popupBG,
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius.circular(Constants.size.circularBorderRadius),
|
BorderRadius.circular(Constants.size.circularBorderRadius),
|
||||||
),
|
),
|
||||||
child: MaterialButton(
|
child: MaterialButton(
|
||||||
// splashColor: Theme.of(context).extension<StackColors>()!.highlight,
|
key: Key("coinSelectItemButtonKey_${entity.name}${entity.ticker}"),
|
||||||
key: Key("coinSelectItemButtonKey_${coin.name}"),
|
|
||||||
padding: isDesktop
|
padding: isDesktop
|
||||||
? const EdgeInsets.only(left: 24)
|
? const EdgeInsets.only(left: 24)
|
||||||
: const EdgeInsets.all(12),
|
: const EdgeInsets.all(12),
|
||||||
|
@ -50,24 +69,30 @@ class CoinSelectItem extends ConsumerWidget {
|
||||||
),
|
),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
SvgPicture.asset(
|
tokenImageUri != null
|
||||||
Assets.svg.iconFor(coin: coin),
|
? SvgPicture.network(
|
||||||
width: 26,
|
tokenImageUri,
|
||||||
height: 26,
|
width: 26,
|
||||||
),
|
height: 26,
|
||||||
|
)
|
||||||
|
: SvgPicture.asset(
|
||||||
|
Assets.svg.iconFor(coin: entity.coin),
|
||||||
|
width: 26,
|
||||||
|
height: 26,
|
||||||
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: isDesktop ? 12 : 10,
|
width: isDesktop ? 12 : 10,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
coin.prettyName,
|
"${entity.name} (${entity.ticker})",
|
||||||
style: isDesktop
|
style: isDesktop
|
||||||
? STextStyles.desktopTextMedium(context)
|
? STextStyles.desktopTextMedium(context)
|
||||||
: STextStyles.subtitle600(context).copyWith(
|
: STextStyles.subtitle600(context).copyWith(
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (isDesktop && selectedCoin == coin) const Spacer(),
|
if (isDesktop && selectedEntity == entity) const Spacer(),
|
||||||
if (isDesktop && selectedCoin == coin)
|
if (isDesktop && selectedEntity == entity)
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(
|
padding: const EdgeInsets.only(
|
||||||
right: 18,
|
right: 18,
|
||||||
|
@ -86,8 +111,9 @@ class CoinSelectItem extends ConsumerWidget {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
onPressed: () =>
|
onPressed: () {
|
||||||
ref.read(addWalletSelectedCoinStateProvider.state).state = coin,
|
ref.read(addWalletSelectedEntityStateProvider.state).state = entity;
|
||||||
|
},
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,123 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/add_wallet_entity_list.dart';
|
||||||
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart';
|
||||||
|
import 'package:stackwallet/widgets/expandable.dart';
|
||||||
|
|
||||||
|
class ExpandingSubListItem extends StatefulWidget {
|
||||||
|
const ExpandingSubListItem({
|
||||||
|
Key? key,
|
||||||
|
required this.title,
|
||||||
|
required this.entities,
|
||||||
|
this.trailing,
|
||||||
|
required this.initialState,
|
||||||
|
double? animationDurationMultiplier,
|
||||||
|
this.curve = Curves.easeInOutCubicEmphasized,
|
||||||
|
}) : animationDurationMultiplier =
|
||||||
|
animationDurationMultiplier ?? entities.length * 0.11,
|
||||||
|
super(key: key);
|
||||||
|
|
||||||
|
final String title;
|
||||||
|
final List<AddWalletListEntity> entities;
|
||||||
|
final Widget? trailing;
|
||||||
|
final ExpandableState initialState;
|
||||||
|
final double animationDurationMultiplier;
|
||||||
|
final Curve curve;
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<ExpandingSubListItem> createState() => _ExpandingSubListItemState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _ExpandingSubListItemState extends State<ExpandingSubListItem> {
|
||||||
|
final isDesktop = Util.isDesktop;
|
||||||
|
|
||||||
|
late final ExpandableController _controller;
|
||||||
|
late final RotateIconController _rotateIconController;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
_controller = ExpandableController();
|
||||||
|
_rotateIconController = RotateIconController();
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||||
|
if (widget.initialState == ExpandableState.expanded) {
|
||||||
|
_controller.toggle?.call();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
_controller.toggle = null;
|
||||||
|
_rotateIconController.forward = null;
|
||||||
|
_rotateIconController.reverse = null;
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Expandable(
|
||||||
|
animationDurationMultiplier: widget.animationDurationMultiplier,
|
||||||
|
curve: widget.curve,
|
||||||
|
controller: _controller,
|
||||||
|
onExpandWillChange: (state) {
|
||||||
|
if (state == ExpandableState.expanded) {
|
||||||
|
_rotateIconController.forward?.call();
|
||||||
|
} else {
|
||||||
|
_rotateIconController.reverse?.call();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
header: Container(
|
||||||
|
color: Colors.transparent,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
top: 8.0,
|
||||||
|
bottom: 8.0,
|
||||||
|
right: 10,
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
widget.title,
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopTextMedium(context).copyWith(
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textDark3,
|
||||||
|
)
|
||||||
|
: STextStyles.smallMed12(context),
|
||||||
|
textAlign: TextAlign.left,
|
||||||
|
),
|
||||||
|
RotateIcon(
|
||||||
|
icon: SvgPicture.asset(
|
||||||
|
Assets.svg.chevronDown,
|
||||||
|
width: isDesktop ? 20 : 12,
|
||||||
|
height: isDesktop ? 10 : 6,
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textFieldActiveSearchIconRight,
|
||||||
|
),
|
||||||
|
curve: widget.curve,
|
||||||
|
animationDurationMultiplier: widget.animationDurationMultiplier,
|
||||||
|
controller: _rotateIconController,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: SingleChildScrollView(
|
||||||
|
primary: false,
|
||||||
|
child: AddWalletEntityList(
|
||||||
|
entities: widget.entities,
|
||||||
|
trailing: widget.trailing,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,38 +0,0 @@
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
||||||
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/coin_select_item.dart';
|
|
||||||
import 'package:stackwallet/providers/global/prefs_provider.dart';
|
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
|
||||||
|
|
||||||
class MobileCoinList extends StatelessWidget {
|
|
||||||
const MobileCoinList({
|
|
||||||
Key? key,
|
|
||||||
required this.coins,
|
|
||||||
}) : super(key: key);
|
|
||||||
|
|
||||||
final List<Coin> coins;
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Consumer(
|
|
||||||
builder: (_, ref, __) {
|
|
||||||
bool showTestNet = ref.watch(
|
|
||||||
prefsChangeNotifierProvider.select((value) => value.showTestNetCoins),
|
|
||||||
);
|
|
||||||
|
|
||||||
return ListView.builder(
|
|
||||||
itemCount:
|
|
||||||
showTestNet ? coins.length : coins.length - (kTestNetCoinCount),
|
|
||||||
itemBuilder: (ctx, index) {
|
|
||||||
return Padding(
|
|
||||||
padding: const EdgeInsets.all(4),
|
|
||||||
child: CoinSelectItem(
|
|
||||||
coin: coins[index],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +1,8 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/sub_classes/eth_token_entity.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/create_or_restore_wallet_view.dart';
|
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/create_or_restore_wallet_view.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/select_wallet_for_token_view.dart';
|
||||||
import 'package:stackwallet/providers/providers.dart';
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
@ -17,7 +19,7 @@ class AddWalletNextButton extends ConsumerWidget {
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
debugPrint("BUILD: NextButton");
|
debugPrint("BUILD: NextButton");
|
||||||
final selectedCoin =
|
final selectedCoin =
|
||||||
ref.watch(addWalletSelectedCoinStateProvider.state).state;
|
ref.watch(addWalletSelectedEntityStateProvider.state).state;
|
||||||
|
|
||||||
final enabled = selectedCoin != null;
|
final enabled = selectedCoin != null;
|
||||||
|
|
||||||
|
@ -25,13 +27,17 @@ class AddWalletNextButton extends ConsumerWidget {
|
||||||
onPressed: !enabled
|
onPressed: !enabled
|
||||||
? null
|
? null
|
||||||
: () {
|
: () {
|
||||||
final selectedCoin =
|
if (selectedCoin is EthTokenEntity) {
|
||||||
ref.read(addWalletSelectedCoinStateProvider.state).state;
|
Navigator.of(context).pushNamed(
|
||||||
|
SelectWalletForTokenView.routeName,
|
||||||
Navigator.of(context).pushNamed(
|
arguments: selectedCoin,
|
||||||
CreateOrRestoreWalletView.routeName,
|
);
|
||||||
arguments: selectedCoin,
|
} else {
|
||||||
);
|
Navigator.of(context).pushNamed(
|
||||||
|
CreateOrRestoreWalletView.routeName,
|
||||||
|
arguments: selectedCoin,
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
style: enabled
|
style: enabled
|
||||||
? Theme.of(context)
|
? Theme.of(context)
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
||||||
import 'package:stackwallet/pages/add_wallet_views/add_wallet_view/sub_widgets/coin_select_item.dart';
|
|
||||||
import 'package:stackwallet/providers/global/prefs_provider.dart';
|
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
|
||||||
|
|
||||||
class SearchableCoinList extends ConsumerWidget {
|
|
||||||
const SearchableCoinList({
|
|
||||||
Key? key,
|
|
||||||
required this.coins,
|
|
||||||
required this.isDesktop,
|
|
||||||
required this.searchTerm,
|
|
||||||
}) : super(key: key);
|
|
||||||
|
|
||||||
final List<Coin> coins;
|
|
||||||
final bool isDesktop;
|
|
||||||
final String searchTerm;
|
|
||||||
|
|
||||||
List<Coin> filterCoins(String text, bool showTestNetCoins) {
|
|
||||||
final _coins = [...coins];
|
|
||||||
if (text.isNotEmpty) {
|
|
||||||
final lowercaseTerm = text.toLowerCase();
|
|
||||||
_coins.retainWhere((e) =>
|
|
||||||
e.ticker.toLowerCase().contains(lowercaseTerm) ||
|
|
||||||
e.prettyName.toLowerCase().contains(lowercaseTerm) ||
|
|
||||||
e.name.toLowerCase().contains(lowercaseTerm));
|
|
||||||
}
|
|
||||||
if (!showTestNetCoins) {
|
|
||||||
_coins.removeWhere(
|
|
||||||
(e) => e.name.endsWith("TestNet") || e == Coin.bitcoincashTestnet);
|
|
||||||
}
|
|
||||||
// remove firo testnet regardless
|
|
||||||
_coins.remove(Coin.firoTestNet);
|
|
||||||
|
|
||||||
// Kidgloves for Wownero on desktop
|
|
||||||
// if(isDesktop) {
|
|
||||||
// _coins.remove(Coin.wownero);
|
|
||||||
// }
|
|
||||||
|
|
||||||
return _coins;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
|
||||||
bool showTestNet = ref.watch(
|
|
||||||
prefsChangeNotifierProvider.select((value) => value.showTestNetCoins),
|
|
||||||
);
|
|
||||||
|
|
||||||
final _coins = filterCoins(searchTerm, showTestNet);
|
|
||||||
|
|
||||||
return ListView.builder(
|
|
||||||
itemCount: _coins.length,
|
|
||||||
itemBuilder: (ctx, index) {
|
|
||||||
return Padding(
|
|
||||||
padding: const EdgeInsets.all(4),
|
|
||||||
child: CoinSelectItem(
|
|
||||||
coin: _coins[index],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,10 +1,10 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/add_wallet_list_entity.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/coin_image.dart';
|
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/coin_image.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_or_restore_wallet_subtitle.dart';
|
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_or_restore_wallet_subtitle.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_or_restore_wallet_title.dart';
|
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_or_restore_wallet_title.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_wallet_button_group.dart';
|
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/sub_widgets/create_wallet_button_group.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart';
|
import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
|
||||||
import 'package:stackwallet/utilities/theme/color_theme.dart';
|
import 'package:stackwallet/utilities/theme/color_theme.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/utilities/util.dart';
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
@ -16,12 +16,12 @@ import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart';
|
||||||
class CreateOrRestoreWalletView extends StatelessWidget {
|
class CreateOrRestoreWalletView extends StatelessWidget {
|
||||||
const CreateOrRestoreWalletView({
|
const CreateOrRestoreWalletView({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.coin,
|
required this.entity,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
static const routeName = "/createOrRestoreWallet";
|
static const routeName = "/createOrRestoreWallet";
|
||||||
|
|
||||||
final Coin coin;
|
final AddWalletListEntity entity;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -45,7 +45,7 @@ class CreateOrRestoreWalletView extends StatelessWidget {
|
||||||
flex: 10,
|
flex: 10,
|
||||||
),
|
),
|
||||||
CreateRestoreWalletTitle(
|
CreateRestoreWalletTitle(
|
||||||
coin: coin,
|
coin: entity.coin,
|
||||||
isDesktop: isDesktop,
|
isDesktop: isDesktop,
|
||||||
),
|
),
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
|
@ -61,7 +61,7 @@ class CreateOrRestoreWalletView extends StatelessWidget {
|
||||||
height: 32,
|
height: 32,
|
||||||
),
|
),
|
||||||
CoinImage(
|
CoinImage(
|
||||||
coin: coin,
|
coin: entity.coin,
|
||||||
width:
|
width:
|
||||||
isDesktop ? 324 : MediaQuery.of(context).size.width / 1.6,
|
isDesktop ? 324 : MediaQuery.of(context).size.width / 1.6,
|
||||||
height:
|
height:
|
||||||
|
@ -71,7 +71,7 @@ class CreateOrRestoreWalletView extends StatelessWidget {
|
||||||
height: 32,
|
height: 32,
|
||||||
),
|
),
|
||||||
CreateWalletButtonGroup(
|
CreateWalletButtonGroup(
|
||||||
coin: coin,
|
coin: entity.coin,
|
||||||
isDesktop: isDesktop,
|
isDesktop: isDesktop,
|
||||||
),
|
),
|
||||||
const Spacer(
|
const Spacer(
|
||||||
|
@ -119,7 +119,7 @@ class CreateOrRestoreWalletView extends StatelessWidget {
|
||||||
flex: 2,
|
flex: 2,
|
||||||
),
|
),
|
||||||
CoinImage(
|
CoinImage(
|
||||||
coin: coin,
|
coin: entity.coin,
|
||||||
width: isDesktop
|
width: isDesktop
|
||||||
? 324
|
? 324
|
||||||
: MediaQuery.of(context).size.width / 1.6,
|
: MediaQuery.of(context).size.width / 1.6,
|
||||||
|
@ -131,7 +131,7 @@ class CreateOrRestoreWalletView extends StatelessWidget {
|
||||||
flex: 2,
|
flex: 2,
|
||||||
),
|
),
|
||||||
CreateRestoreWalletTitle(
|
CreateRestoreWalletTitle(
|
||||||
coin: coin,
|
coin: entity.coin,
|
||||||
isDesktop: isDesktop,
|
isDesktop: isDesktop,
|
||||||
),
|
),
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
|
@ -144,7 +144,7 @@ class CreateOrRestoreWalletView extends StatelessWidget {
|
||||||
flex: 5,
|
flex: 5,
|
||||||
),
|
),
|
||||||
CreateWalletButtonGroup(
|
CreateWalletButtonGroup(
|
||||||
coin: coin,
|
coin: entity.coin,
|
||||||
isDesktop: isDesktop,
|
isDesktop: isDesktop,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -12,10 +12,13 @@ import 'package:flutter_libmonero/wownero/wownero.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/confirm_recovery_dialog.dart';
|
import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/confirm_recovery_dialog.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_failed_dialog.dart';
|
import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_failed_dialog.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_succeeded_dialog.dart';
|
import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_succeeded_dialog.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/restoring_dialog.dart';
|
import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/restoring_dialog.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/select_wallet_for_token_view.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart';
|
||||||
import 'package:stackwallet/pages/home_view/home_view.dart';
|
import 'package:stackwallet/pages/home_view/home_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart';
|
import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart';
|
import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart';
|
||||||
|
@ -310,24 +313,62 @@ class _RestoreWalletViewState extends ConsumerState<RestoreWalletView> {
|
||||||
.read(walletsChangeNotifierProvider.notifier)
|
.read(walletsChangeNotifierProvider.notifier)
|
||||||
.addWallet(walletId: manager.walletId, manager: manager);
|
.addWallet(walletId: manager.walletId, manager: manager);
|
||||||
|
|
||||||
if (mounted) {
|
final isCreateSpecialEthWallet =
|
||||||
if (isDesktop) {
|
ref.read(createSpecialEthWalletRoutingFlag);
|
||||||
Navigator.of(context)
|
if (isCreateSpecialEthWallet) {
|
||||||
.popUntil(ModalRoute.withName(DesktopHomeView.routeName));
|
ref.read(createSpecialEthWalletRoutingFlag.notifier).state =
|
||||||
} else {
|
false;
|
||||||
unawaited(Navigator.of(context).pushNamedAndRemoveUntil(
|
ref
|
||||||
HomeView.routeName, (route) => false));
|
.read(newEthWalletTriggerTempUntilHiveCompletelyDeleted.state)
|
||||||
}
|
.state =
|
||||||
|
!ref
|
||||||
|
.read(newEthWalletTriggerTempUntilHiveCompletelyDeleted
|
||||||
|
.state)
|
||||||
|
.state;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mounted) {
|
||||||
|
if (isDesktop) {
|
||||||
|
Navigator.of(context).popUntil(
|
||||||
|
ModalRoute.withName(
|
||||||
|
DesktopHomeView.routeName,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
if (isCreateSpecialEthWallet) {
|
||||||
|
Navigator.of(context).popUntil(
|
||||||
|
ModalRoute.withName(
|
||||||
|
SelectWalletForTokenView.routeName,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
unawaited(
|
||||||
|
Navigator.of(context).pushNamedAndRemoveUntil(
|
||||||
|
HomeView.routeName,
|
||||||
|
(route) => false,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
if (manager.coin == Coin.ethereum) {
|
||||||
|
unawaited(
|
||||||
|
Navigator.of(context).pushNamed(
|
||||||
|
EditWalletTokensView.routeName,
|
||||||
|
arguments: manager.walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await showDialog<dynamic>(
|
||||||
|
context: context,
|
||||||
|
useSafeArea: false,
|
||||||
|
barrierDismissible: true,
|
||||||
|
builder: (context) {
|
||||||
|
return const RestoreSucceededDialog();
|
||||||
|
},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
await showDialog<dynamic>(
|
|
||||||
context: context,
|
|
||||||
useSafeArea: false,
|
|
||||||
barrierDismissible: true,
|
|
||||||
builder: (context) {
|
|
||||||
return const RestoreSucceededDialog();
|
|
||||||
},
|
|
||||||
);
|
|
||||||
if (!Platform.isLinux && !isDesktop) {
|
if (!Platform.isLinux && !isDesktop) {
|
||||||
await Wakelock.disable();
|
await Wakelock.disable();
|
||||||
}
|
}
|
||||||
|
|
286
lib/pages/add_wallet_views/select_wallet_for_token_view.dart
Normal file
|
@ -0,0 +1,286 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:stackwallet/db/hive/db.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/sub_classes/coin_entity.dart';
|
||||||
|
import 'package:stackwallet/models/add_wallet_list_entity/sub_classes/eth_token_entity.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/create_or_restore_wallet_view/create_or_restore_wallet_view.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart';
|
||||||
|
import 'package:stackwallet/providers/global/wallets_service_provider.dart';
|
||||||
|
import 'package:stackwallet/services/wallets_service.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
import 'package:stackwallet/widgets/background.dart';
|
||||||
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
|
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart';
|
||||||
|
import 'package:stackwallet/widgets/desktop/primary_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/eth_wallet_radio.dart';
|
||||||
|
import 'package:stackwallet/widgets/rounded_container.dart';
|
||||||
|
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
||||||
|
import 'package:stackwallet/widgets/wallet_info_row/wallet_info_row.dart';
|
||||||
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
|
final newEthWalletTriggerTempUntilHiveCompletelyDeleted =
|
||||||
|
StateProvider((ref) => false);
|
||||||
|
|
||||||
|
class SelectWalletForTokenView extends ConsumerStatefulWidget {
|
||||||
|
const SelectWalletForTokenView({
|
||||||
|
Key? key,
|
||||||
|
required this.entity,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
static const String routeName = "/selectWalletForTokenView";
|
||||||
|
|
||||||
|
final EthTokenEntity entity;
|
||||||
|
|
||||||
|
@override
|
||||||
|
ConsumerState<SelectWalletForTokenView> createState() =>
|
||||||
|
_SelectWalletForTokenViewState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _SelectWalletForTokenViewState
|
||||||
|
extends ConsumerState<SelectWalletForTokenView> {
|
||||||
|
final isDesktop = Util.isDesktop;
|
||||||
|
late final List<String> ethWalletIds;
|
||||||
|
bool _hasEthWallets = false;
|
||||||
|
|
||||||
|
String? _selectedWalletId;
|
||||||
|
|
||||||
|
void _onContinue() {
|
||||||
|
Navigator.of(context).pushNamed(
|
||||||
|
EditWalletTokensView.routeName,
|
||||||
|
arguments: Tuple2(
|
||||||
|
_selectedWalletId!,
|
||||||
|
[widget.entity.token.address],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void _onAddNewEthWallet() {
|
||||||
|
ref.read(createSpecialEthWalletRoutingFlag.notifier).state = true;
|
||||||
|
Navigator.of(context).pushNamed(
|
||||||
|
CreateOrRestoreWalletView.routeName,
|
||||||
|
arguments: CoinEntity(widget.entity.coin),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
late int _cachedWalletCount;
|
||||||
|
|
||||||
|
void _updateWalletsList(Map<String, WalletInfo> walletsData) {
|
||||||
|
_cachedWalletCount = walletsData.length;
|
||||||
|
|
||||||
|
walletsData.removeWhere((key, value) => value.coin != widget.entity.coin);
|
||||||
|
ethWalletIds.clear();
|
||||||
|
|
||||||
|
_hasEthWallets = walletsData.isNotEmpty;
|
||||||
|
|
||||||
|
// TODO: proper wallet data class instead of this Hive silliness
|
||||||
|
for (final walletId in walletsData.values.map((e) => e.walletId).toList()) {
|
||||||
|
final walletContracts = DB.instance.get<dynamic>(
|
||||||
|
boxName: walletId,
|
||||||
|
key: DBKeys.ethTokenContracts,
|
||||||
|
) as List<String>? ??
|
||||||
|
[];
|
||||||
|
if (!walletContracts.contains(widget.entity.token.address)) {
|
||||||
|
ethWalletIds.add(walletId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
ethWalletIds = [];
|
||||||
|
|
||||||
|
final walletsData =
|
||||||
|
ref.read(walletsServiceChangeNotifierProvider).fetchWalletsData();
|
||||||
|
_updateWalletsList(walletsData);
|
||||||
|
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
// dumb hack
|
||||||
|
ref.watch(newEthWalletTriggerTempUntilHiveCompletelyDeleted);
|
||||||
|
final walletsData =
|
||||||
|
ref.read(walletsServiceChangeNotifierProvider).fetchWalletsData();
|
||||||
|
if (walletsData.length != _cachedWalletCount) {
|
||||||
|
_updateWalletsList(walletsData);
|
||||||
|
}
|
||||||
|
|
||||||
|
return WillPopScope(
|
||||||
|
onWillPop: () async {
|
||||||
|
ref.read(createSpecialEthWalletRoutingFlag.notifier).state = false;
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
child: ConditionalParent(
|
||||||
|
condition: !isDesktop,
|
||||||
|
builder: (child) => Background(
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor:
|
||||||
|
Theme.of(context).extension<StackColors>()!.background,
|
||||||
|
appBar: AppBar(
|
||||||
|
leading: AppBarBackButton(
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: SafeArea(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
|
||||||
|
// child: LayoutBuilder(
|
||||||
|
// builder: (ctx, constraints) {
|
||||||
|
// return SingleChildScrollView(
|
||||||
|
// child: ConstrainedBox(
|
||||||
|
// constraints:
|
||||||
|
// BoxConstraints(minHeight: constraints.maxHeight),
|
||||||
|
// child: IntrinsicHeight(
|
||||||
|
// child: child,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: ConditionalParent(
|
||||||
|
condition: isDesktop,
|
||||||
|
builder: (child) => DesktopScaffold(
|
||||||
|
appBar: const DesktopAppBar(
|
||||||
|
isCompactHeight: false,
|
||||||
|
leading: AppBarBackButton(),
|
||||||
|
),
|
||||||
|
body: SizedBox(
|
||||||
|
width: 500,
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
|
children: [
|
||||||
|
if (isDesktop)
|
||||||
|
const SizedBox(
|
||||||
|
height: 24,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"Select Ethereum wallet",
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopH2(context)
|
||||||
|
: STextStyles.pageTitleH1(context),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: isDesktop ? 16 : 8,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"You are adding an ETH token.",
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopSubtitleH2(context)
|
||||||
|
: STextStyles.subtitle(context),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"You must choose an Ethereum wallet in order to use ${widget.entity.name}",
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopSubtitleH2(context)
|
||||||
|
: STextStyles.subtitle(context),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: isDesktop ? 60 : 16,
|
||||||
|
),
|
||||||
|
ethWalletIds.isEmpty
|
||||||
|
? RoundedWhiteContainer(
|
||||||
|
padding: EdgeInsets.all(isDesktop ? 16 : 12),
|
||||||
|
child: Text(
|
||||||
|
_hasEthWallets
|
||||||
|
? "All current Ethereum wallets already have ${widget.entity.name}"
|
||||||
|
: "You do not have any Ethereum wallets",
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopSubtitleH2(context)
|
||||||
|
: STextStyles.label(context),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: ConditionalParent(
|
||||||
|
condition: !isDesktop,
|
||||||
|
builder: (child) => Expanded(
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
RoundedWhiteContainer(
|
||||||
|
padding: const EdgeInsets.all(8),
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: ListView.separated(
|
||||||
|
itemCount: ethWalletIds.length,
|
||||||
|
shrinkWrap: true,
|
||||||
|
separatorBuilder: (_, __) => SizedBox(
|
||||||
|
height: isDesktop ? 12 : 6,
|
||||||
|
),
|
||||||
|
itemBuilder: (_, index) {
|
||||||
|
return RoundedContainer(
|
||||||
|
padding: EdgeInsets.all(isDesktop ? 16 : 8),
|
||||||
|
onPressed: () {
|
||||||
|
setState(() {
|
||||||
|
_selectedWalletId = ethWalletIds[index];
|
||||||
|
});
|
||||||
|
},
|
||||||
|
color: isDesktop
|
||||||
|
? Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.popupBG
|
||||||
|
: _selectedWalletId == ethWalletIds[index]
|
||||||
|
? Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.highlight
|
||||||
|
: Colors.transparent,
|
||||||
|
child: isDesktop
|
||||||
|
? EthWalletRadio(
|
||||||
|
walletId: ethWalletIds[index],
|
||||||
|
selectedWalletId: _selectedWalletId,
|
||||||
|
)
|
||||||
|
: WalletInfoRow(
|
||||||
|
walletId: ethWalletIds[index],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
if (ethWalletIds.isEmpty || isDesktop)
|
||||||
|
const SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
if (isDesktop)
|
||||||
|
const SizedBox(
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
ethWalletIds.isEmpty
|
||||||
|
? PrimaryButton(
|
||||||
|
label: "Add new Ethereum wallet",
|
||||||
|
onPressed: _onAddNewEthWallet,
|
||||||
|
)
|
||||||
|
: PrimaryButton(
|
||||||
|
label: "Continue",
|
||||||
|
enabled: _selectedWalletId != null,
|
||||||
|
onPressed: _onContinue,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,7 +5,9 @@ import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_view/new_wallet_recovery_phrase_view.dart';
|
import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_view/new_wallet_recovery_phrase_view.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/select_wallet_for_token_view.dart';
|
||||||
import 'package:stackwallet/pages/add_wallet_views/verify_recovery_phrase_view/sub_widgets/word_table.dart';
|
import 'package:stackwallet/pages/add_wallet_views/verify_recovery_phrase_view/sub_widgets/word_table.dart';
|
||||||
import 'package:stackwallet/pages/home_view/home_view.dart';
|
import 'package:stackwallet/pages/home_view/home_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart';
|
import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart';
|
||||||
|
@ -14,6 +16,7 @@ import 'package:stackwallet/providers/providers.dart';
|
||||||
import 'package:stackwallet/services/coins/manager.dart';
|
import 'package:stackwallet/services/coins/manager.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/utilities/util.dart';
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
@ -22,6 +25,8 @@ import 'package:stackwallet/widgets/desktop/desktop_app_bar.dart';
|
||||||
import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart';
|
import 'package:stackwallet/widgets/desktop/desktop_scaffold.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
|
final createSpecialEthWalletRoutingFlag = StateProvider((ref) => false);
|
||||||
|
|
||||||
class VerifyRecoveryPhraseView extends ConsumerStatefulWidget {
|
class VerifyRecoveryPhraseView extends ConsumerStatefulWidget {
|
||||||
const VerifyRecoveryPhraseView({
|
const VerifyRecoveryPhraseView({
|
||||||
Key? key,
|
Key? key,
|
||||||
|
@ -93,29 +98,75 @@ class _VerifyRecoveryPhraseViewState
|
||||||
.read(walletsChangeNotifierProvider.notifier)
|
.read(walletsChangeNotifierProvider.notifier)
|
||||||
.addWallet(walletId: _manager.walletId, manager: _manager);
|
.addWallet(walletId: _manager.walletId, manager: _manager);
|
||||||
|
|
||||||
if (mounted) {
|
final isCreateSpecialEthWallet =
|
||||||
if (isDesktop) {
|
ref.read(createSpecialEthWalletRoutingFlag);
|
||||||
Navigator.of(context).popUntil(
|
if (isCreateSpecialEthWallet) {
|
||||||
ModalRoute.withName(
|
ref.read(createSpecialEthWalletRoutingFlag.notifier).state = false;
|
||||||
DesktopHomeView.routeName,
|
ref
|
||||||
),
|
.read(newEthWalletTriggerTempUntilHiveCompletelyDeleted.state)
|
||||||
);
|
.state =
|
||||||
} else {
|
!ref
|
||||||
unawaited(
|
.read(newEthWalletTriggerTempUntilHiveCompletelyDeleted.state)
|
||||||
Navigator.of(context).pushNamedAndRemoveUntil(
|
.state;
|
||||||
HomeView.routeName,
|
|
||||||
(route) => false,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unawaited(showFloatingFlushBar(
|
if (mounted) {
|
||||||
type: FlushBarType.success,
|
if (isDesktop) {
|
||||||
message: "Correct! Your wallet is set up.",
|
if (isCreateSpecialEthWallet) {
|
||||||
iconAsset: Assets.svg.check,
|
Navigator.of(context).popUntil(
|
||||||
context: context,
|
ModalRoute.withName(
|
||||||
));
|
SelectWalletForTokenView.routeName,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
Navigator.of(context).popUntil(
|
||||||
|
ModalRoute.withName(
|
||||||
|
DesktopHomeView.routeName,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
if (widget.manager.coin == Coin.ethereum) {
|
||||||
|
unawaited(
|
||||||
|
Navigator.of(context).pushNamed(
|
||||||
|
EditWalletTokensView.routeName,
|
||||||
|
arguments: widget.manager.walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (isCreateSpecialEthWallet) {
|
||||||
|
Navigator.of(context).popUntil(
|
||||||
|
ModalRoute.withName(
|
||||||
|
SelectWalletForTokenView.routeName,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
unawaited(
|
||||||
|
Navigator.of(context).pushNamedAndRemoveUntil(
|
||||||
|
HomeView.routeName,
|
||||||
|
(route) => false,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
if (widget.manager.coin == Coin.ethereum) {
|
||||||
|
unawaited(
|
||||||
|
Navigator.of(context).pushNamed(
|
||||||
|
EditWalletTokensView.routeName,
|
||||||
|
arguments: widget.manager.walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
unawaited(
|
||||||
|
showFloatingFlushBar(
|
||||||
|
type: FlushBarType.success,
|
||||||
|
message: "Correct! Your wallet is set up.",
|
||||||
|
iconAsset: Assets.svg.check,
|
||||||
|
context: context,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
unawaited(showFloatingFlushBar(
|
unawaited(showFloatingFlushBar(
|
||||||
type: FlushBarType.warning,
|
type: FlushBarType.warning,
|
||||||
|
|
|
@ -27,7 +27,7 @@ import 'package:stackwallet/widgets/stack_dialog.dart';
|
||||||
import 'package:stackwallet/widgets/transaction_card.dart';
|
import 'package:stackwallet/widgets/transaction_card.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
import '../../../db/main_db.dart';
|
import '../../../db/isar/main_db.dart';
|
||||||
|
|
||||||
class ContactDetailsView extends ConsumerStatefulWidget {
|
class ContactDetailsView extends ConsumerStatefulWidget {
|
||||||
const ContactDetailsView({
|
const ContactDetailsView({
|
||||||
|
|
|
@ -10,6 +10,7 @@ import 'package:stackwallet/models/buy/response_objects/crypto.dart';
|
||||||
import 'package:stackwallet/models/buy/response_objects/fiat.dart';
|
import 'package:stackwallet/models/buy/response_objects/fiat.dart';
|
||||||
import 'package:stackwallet/models/buy/response_objects/quote.dart';
|
import 'package:stackwallet/models/buy/response_objects/quote.dart';
|
||||||
import 'package:stackwallet/models/contact_address_entry.dart';
|
import 'package:stackwallet/models/contact_address_entry.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
import 'package:stackwallet/pages/address_book_views/address_book_view.dart';
|
import 'package:stackwallet/pages/address_book_views/address_book_view.dart';
|
||||||
import 'package:stackwallet/pages/buy_view/buy_quote_preview.dart';
|
import 'package:stackwallet/pages/buy_view/buy_quote_preview.dart';
|
||||||
import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dart';
|
import 'package:stackwallet/pages/buy_view/sub_widgets/crypto_selection_view.dart';
|
||||||
|
@ -49,6 +50,7 @@ class BuyForm extends ConsumerStatefulWidget {
|
||||||
const BuyForm({
|
const BuyForm({
|
||||||
Key? key,
|
Key? key,
|
||||||
this.coin,
|
this.coin,
|
||||||
|
this.tokenContract,
|
||||||
this.clipboard = const ClipboardWrapper(),
|
this.clipboard = const ClipboardWrapper(),
|
||||||
this.scanner = const BarcodeScannerWrapper(),
|
this.scanner = const BarcodeScannerWrapper(),
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
@ -57,6 +59,7 @@ class BuyForm extends ConsumerStatefulWidget {
|
||||||
|
|
||||||
final ClipboardInterface clipboard;
|
final ClipboardInterface clipboard;
|
||||||
final BarcodeScannerInterface scanner;
|
final BarcodeScannerInterface scanner;
|
||||||
|
final EthContract? tokenContract;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ConsumerState<BuyForm> createState() => _BuyFormState();
|
ConsumerState<BuyForm> createState() => _BuyFormState();
|
||||||
|
@ -102,11 +105,11 @@ class _BuyFormState extends ConsumerState<BuyForm> {
|
||||||
static Decimal minFiat = Decimal.fromInt(50);
|
static Decimal minFiat = Decimal.fromInt(50);
|
||||||
static Decimal maxFiat = Decimal.fromInt(20000);
|
static Decimal maxFiat = Decimal.fromInt(20000);
|
||||||
|
|
||||||
// We can't get crypto min and max without asking for a quote
|
// // We can't get crypto min and max without asking for a quote
|
||||||
static Decimal minCrypto = Decimal.parse((0.00000001)
|
// static Decimal minCrypto = Decimal.parse((0.00000001)
|
||||||
.toString()); // lol how to go from double->Decimal more easily?
|
// .toString()); // lol how to go from double->Decimal more easily?
|
||||||
static Decimal maxCrypto = Decimal.parse((10000.00000000).toString());
|
// static Decimal maxCrypto = Decimal.parse((10000.00000000).toString());
|
||||||
static String boundedCryptoTicker = '';
|
// static String boundedCryptoTicker = '';
|
||||||
|
|
||||||
String _amountOutOfRangeErrorString = "";
|
String _amountOutOfRangeErrorString = "";
|
||||||
void validateAmount() {
|
void validateAmount() {
|
||||||
|
@ -165,13 +168,13 @@ class _BuyFormState extends ConsumerState<BuyForm> {
|
||||||
coins: ref.read(simplexProvider).supportedCryptos,
|
coins: ref.read(simplexProvider).supportedCryptos,
|
||||||
onSelected: (crypto) {
|
onSelected: (crypto) {
|
||||||
setState(() {
|
setState(() {
|
||||||
if (selectedCrypto?.ticker != _BuyFormState.boundedCryptoTicker) {
|
// if (selectedCrypto?.ticker != _BuyFormState.boundedCryptoTicker) {
|
||||||
// Reset crypto mins and maxes ... we don't know these bounds until we request a quote
|
// // Reset crypto mins and maxes ... we don't know these bounds until we request a quote
|
||||||
_BuyFormState.minCrypto = Decimal.parse((0.00000001)
|
// _BuyFormState.minCrypto = Decimal.parse((0.00000001)
|
||||||
.toString()); // lol how to go from double->Decimal more easily?
|
// .toString()); // lol how to go from double->Decimal more easily?
|
||||||
_BuyFormState.maxCrypto =
|
// _BuyFormState.maxCrypto =
|
||||||
Decimal.parse((10000.00000000).toString());
|
// Decimal.parse((10000.00000000).toString());
|
||||||
}
|
// }
|
||||||
selectedCrypto = crypto;
|
selectedCrypto = crypto;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -461,7 +464,7 @@ class _BuyFormState extends ConsumerState<BuyForm> {
|
||||||
// TODO launch URL
|
// TODO launch URL
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
} else {
|
} else if (mounted) {
|
||||||
await showDialog<dynamic>(
|
await showDialog<dynamic>(
|
||||||
context: context,
|
context: context,
|
||||||
barrierDismissible: true,
|
barrierDismissible: true,
|
||||||
|
@ -529,7 +532,7 @@ class _BuyFormState extends ConsumerState<BuyForm> {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else if (mounted) {
|
||||||
// Error; probably amount out of bounds
|
// Error; probably amount out of bounds
|
||||||
// String errorMessage = "${quoteResponse.exception?.errorMessage}";
|
// String errorMessage = "${quoteResponse.exception?.errorMessage}";
|
||||||
// if (errorMessage.contains('must be between')) {
|
// if (errorMessage.contains('must be between')) {
|
||||||
|
@ -744,6 +747,18 @@ class _BuyFormState extends ConsumerState<BuyForm> {
|
||||||
'name': widget.coin?.prettyName ?? 'Bitcoin'
|
'name': widget.coin?.prettyName ?? 'Bitcoin'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// THIS IS BAD. No way to be certain the simplex ticker points to the same
|
||||||
|
// contract as the ticker symbol of this contract
|
||||||
|
// if (widget.tokenContract != null &&
|
||||||
|
// DefaultTokens.list
|
||||||
|
// .where((e) => e.address == widget.tokenContract!.address)
|
||||||
|
// .isNotEmpty) {
|
||||||
|
// selectedCrypto = Crypto.fromJson({
|
||||||
|
// 'ticker': widget.tokenContract!.symbol,
|
||||||
|
// 'name': widget.tokenContract!.name,
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
// TODO set initial crypto to open wallet if a wallet is open
|
// TODO set initial crypto to open wallet if a wallet is open
|
||||||
|
|
||||||
super.initState();
|
super.initState();
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
import 'package:stackwallet/pages/buy_view/buy_view.dart';
|
import 'package:stackwallet/pages/buy_view/buy_view.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
@ -10,11 +11,13 @@ class BuyInWalletView extends StatefulWidget {
|
||||||
const BuyInWalletView({
|
const BuyInWalletView({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.coin,
|
required this.coin,
|
||||||
|
this.contract,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
static const String routeName = "/stackBuyInWalletView";
|
static const String routeName = "/stackBuyInWalletView";
|
||||||
|
|
||||||
final Coin? coin;
|
final Coin? coin;
|
||||||
|
final EthContract? contract;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<BuyInWalletView> createState() => _BuyInWalletViewState();
|
State<BuyInWalletView> createState() => _BuyInWalletViewState();
|
||||||
|
@ -41,7 +44,10 @@ class _BuyInWalletViewState extends State<BuyInWalletView> {
|
||||||
style: STextStyles.navBarTitle(context),
|
style: STextStyles.navBarTitle(context),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: BuyView(coin: widget.coin),
|
body: BuyView(
|
||||||
|
coin: widget.coin,
|
||||||
|
tokenContract: widget.contract,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,19 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
import 'package:stackwallet/pages/buy_view/buy_form.dart';
|
import 'package:stackwallet/pages/buy_view/buy_form.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
|
|
||||||
class BuyView extends StatefulWidget {
|
class BuyView extends StatelessWidget {
|
||||||
const BuyView({
|
const BuyView({
|
||||||
Key? key,
|
Key? key,
|
||||||
this.coin,
|
this.coin,
|
||||||
|
this.tokenContract,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
static const String routeName = "/stackBuyView";
|
static const String routeName = "/stackBuyView";
|
||||||
|
|
||||||
final Coin? coin;
|
final Coin? coin;
|
||||||
|
final EthContract? tokenContract;
|
||||||
@override
|
|
||||||
State<BuyView> createState() => _BuyViewState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _BuyViewState extends State<BuyView> {
|
|
||||||
late final Coin? coin;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -30,7 +26,10 @@ class _BuyViewState extends State<BuyView> {
|
||||||
right: 16,
|
right: 16,
|
||||||
top: 16,
|
top: 16,
|
||||||
),
|
),
|
||||||
child: BuyForm(coin: widget.coin),
|
child: BuyForm(
|
||||||
|
coin: coin,
|
||||||
|
tokenContract: tokenContract,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,18 +4,20 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:stackwallet/db/main_db.dart';
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
||||||
import 'package:stackwallet/pages/coin_control/utxo_card.dart';
|
import 'package:stackwallet/pages/coin_control/utxo_card.dart';
|
||||||
import 'package:stackwallet/pages/coin_control/utxo_details_view.dart';
|
import 'package:stackwallet/pages/coin_control/utxo_details_view.dart';
|
||||||
|
import 'package:stackwallet/providers/global/locale_provider.dart';
|
||||||
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
||||||
import 'package:stackwallet/services/mixins/coin_control_interface.dart';
|
import 'package:stackwallet/services/mixins/coin_control_interface.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/widgets/animated_widgets/rotate_icon.dart';
|
||||||
import 'package:stackwallet/widgets/app_bar_field.dart';
|
import 'package:stackwallet/widgets/app_bar_field.dart';
|
||||||
import 'package:stackwallet/widgets/background.dart';
|
import 'package:stackwallet/widgets/background.dart';
|
||||||
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
||||||
|
@ -24,13 +26,11 @@ import 'package:stackwallet/widgets/desktop/primary_button.dart';
|
||||||
import 'package:stackwallet/widgets/desktop/secondary_button.dart';
|
import 'package:stackwallet/widgets/desktop/secondary_button.dart';
|
||||||
import 'package:stackwallet/widgets/expandable2.dart';
|
import 'package:stackwallet/widgets/expandable2.dart';
|
||||||
import 'package:stackwallet/widgets/icon_widgets/x_icon.dart';
|
import 'package:stackwallet/widgets/icon_widgets/x_icon.dart';
|
||||||
|
import 'package:stackwallet/widgets/rounded_container.dart';
|
||||||
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
||||||
import 'package:stackwallet/widgets/toggle.dart';
|
import 'package:stackwallet/widgets/toggle.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
import '../../widgets/animated_widgets/rotate_icon.dart';
|
|
||||||
import '../../widgets/rounded_container.dart';
|
|
||||||
|
|
||||||
enum CoinControlViewType {
|
enum CoinControlViewType {
|
||||||
manage,
|
manage,
|
||||||
use;
|
use;
|
||||||
|
@ -683,12 +683,14 @@ class _CoinControlViewState extends ConsumerState<CoinControlView> {
|
||||||
value += element,
|
value += element,
|
||||||
);
|
);
|
||||||
return Text(
|
return Text(
|
||||||
"${Format.satoshisToAmount(
|
"${selectedSum.toAmountAsRaw(fractionDigits: coin.decimals).localizedStringAsFixed(
|
||||||
selectedSum,
|
locale: ref.watch(
|
||||||
coin: coin,
|
localeServiceChangeNotifierProvider
|
||||||
).toStringAsFixed(
|
.select(
|
||||||
coin.decimals,
|
(value) => value.locale,
|
||||||
)} ${coin.ticker}",
|
),
|
||||||
|
),
|
||||||
|
)} ${coin.ticker}",
|
||||||
style: widget.requestedTotal == null
|
style: widget.requestedTotal == null
|
||||||
? STextStyles.w600_14(context)
|
? STextStyles.w600_14(context)
|
||||||
: STextStyles.w600_14(context).copyWith(
|
: STextStyles.w600_14(context).copyWith(
|
||||||
|
@ -729,12 +731,14 @@ class _CoinControlViewState extends ConsumerState<CoinControlView> {
|
||||||
style: STextStyles.w600_14(context),
|
style: STextStyles.w600_14(context),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"${Format.satoshisToAmount(
|
"${widget.requestedTotal!.toAmountAsRaw(fractionDigits: coin.decimals).localizedStringAsFixed(
|
||||||
widget.requestedTotal!,
|
locale: ref.watch(
|
||||||
coin: coin,
|
localeServiceChangeNotifierProvider
|
||||||
).toStringAsFixed(
|
.select(
|
||||||
coin.decimals,
|
(value) => value.locale,
|
||||||
)} ${coin.ticker}",
|
),
|
||||||
|
),
|
||||||
|
)} ${coin.ticker}",
|
||||||
style: STextStyles.w600_14(context),
|
style: STextStyles.w600_14(context),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:stackwallet/db/main_db.dart';
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
||||||
|
import 'package:stackwallet/providers/global/locale_provider.dart';
|
||||||
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/widgets/conditional_parent.dart';
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
|
@ -123,10 +124,13 @@ class _UtxoCardState extends ConsumerState<UtxoCard> {
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"${Format.satoshisToAmount(
|
"${utxo.value.toAmountAsRaw(fractionDigits: coin.decimals).localizedStringAsFixed(
|
||||||
utxo.value,
|
locale: ref.watch(
|
||||||
coin: coin,
|
localeServiceChangeNotifierProvider.select(
|
||||||
).toStringAsFixed(coin.decimals)} ${coin.ticker}",
|
(value) => value.locale,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)}} ${coin.ticker}",
|
||||||
style: STextStyles.w600_14(context),
|
style: STextStyles.w600_14(context),
|
||||||
),
|
),
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
|
|
|
@ -3,12 +3,13 @@ import 'dart:async';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:stackwallet/db/main_db.dart';
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
||||||
import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart';
|
import 'package:stackwallet/pages/wallet_view/transaction_views/transaction_details_view.dart';
|
||||||
|
import 'package:stackwallet/providers/global/locale_provider.dart';
|
||||||
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/utilities/util.dart';
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
@ -239,12 +240,13 @@ class _UtxoDetailsViewState extends ConsumerState<UtxoDetailsView> {
|
||||||
width: 16,
|
width: 16,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"${Format.satoshisToAmount(
|
"${utxo!.value.toAmountAsRaw(fractionDigits: coin.decimals).localizedStringAsFixed(
|
||||||
utxo!.value,
|
locale: ref.watch(
|
||||||
coin: coin,
|
localeServiceChangeNotifierProvider.select(
|
||||||
).toStringAsFixed(
|
(value) => value.locale,
|
||||||
coin.decimals,
|
),
|
||||||
)} ${coin.ticker}",
|
),
|
||||||
|
)} ${coin.ticker}",
|
||||||
style: STextStyles.pageTitleH2(context),
|
style: STextStyles.pageTitleH2(context),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -112,7 +112,7 @@ class _ChooseFromStackViewState extends ConsumerState<ChooseFromStackView> {
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
height: 2,
|
height: 2,
|
||||||
),
|
),
|
||||||
WalletInfoRowBalanceFuture(
|
WalletInfoRowBalance(
|
||||||
walletId: walletIds[index],
|
walletId: walletIds[index],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -11,9 +11,9 @@ import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub
|
||||||
import 'package:stackwallet/providers/providers.dart';
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
import 'package:stackwallet/route_generator.dart';
|
import 'package:stackwallet/route_generator.dart';
|
||||||
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
|
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/utilities/util.dart';
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
@ -359,14 +359,10 @@ class _ConfirmChangeNowSendViewState
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"${Format.satoshiAmountToPrettyString(
|
"${(transactionInfo["fee"] as int).toAmountAsRaw(
|
||||||
(transactionInfo["fee"] as int),
|
fractionDigits: ref.watch(
|
||||||
ref.watch(
|
managerProvider
|
||||||
localeServiceChangeNotifierProvider
|
.select((value) => value.coin.decimals),
|
||||||
.select((value) => value.locale),
|
|
||||||
),
|
|
||||||
ref.watch(
|
|
||||||
managerProvider.select((value) => value.coin),
|
|
||||||
),
|
),
|
||||||
)} ${ref.watch(
|
)} ${ref.watch(
|
||||||
managerProvider.select((value) => value.coin),
|
managerProvider.select((value) => value.coin),
|
||||||
|
@ -400,26 +396,37 @@ class _ConfirmChangeNowSendViewState
|
||||||
.textConfirmTotalAmount,
|
.textConfirmTotalAmount,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
Builder(
|
||||||
"${Format.satoshiAmountToPrettyString(
|
builder: (context) {
|
||||||
(transactionInfo["fee"] as int) +
|
final coin = ref.watch(
|
||||||
(transactionInfo["recipientAmt"] as int),
|
|
||||||
ref.watch(
|
|
||||||
localeServiceChangeNotifierProvider
|
|
||||||
.select((value) => value.locale),
|
|
||||||
),
|
|
||||||
ref.watch(
|
|
||||||
managerProvider.select((value) => value.coin),
|
managerProvider.select((value) => value.coin),
|
||||||
),
|
);
|
||||||
)} ${ref.watch(
|
final fee =
|
||||||
managerProvider.select((value) => value.coin),
|
(transactionInfo["fee"] as int).toAmountAsRaw(
|
||||||
).ticker}",
|
fractionDigits: coin.decimals,
|
||||||
style: STextStyles.itemSubtitle12(context).copyWith(
|
);
|
||||||
color: Theme.of(context)
|
final amount =
|
||||||
.extension<StackColors>()!
|
transactionInfo["recipientAmt"] as Amount;
|
||||||
.textConfirmTotalAmount,
|
final total = amount + fee;
|
||||||
),
|
final locale = ref.watch(
|
||||||
textAlign: TextAlign.right,
|
localeServiceChangeNotifierProvider.select(
|
||||||
|
(value) => value.locale,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
return Text(
|
||||||
|
"${total.localizedStringAsFixed(
|
||||||
|
locale: locale,
|
||||||
|
)}"
|
||||||
|
" ${coin.ticker}",
|
||||||
|
style: STextStyles.itemSubtitle12(context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textConfirmTotalAmount,
|
||||||
|
),
|
||||||
|
textAlign: TextAlign.right,
|
||||||
|
);
|
||||||
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -570,16 +577,20 @@ class _ConfirmChangeNowSendViewState
|
||||||
final price = ref.watch(
|
final price = ref.watch(
|
||||||
priceAnd24hChangeNotifierProvider
|
priceAnd24hChangeNotifierProvider
|
||||||
.select((value) => value.getPrice(coin)));
|
.select((value) => value.getPrice(coin)));
|
||||||
final amount = Format.satoshisToAmount(
|
final amount =
|
||||||
transactionInfo["recipientAmt"] as int,
|
transactionInfo["recipientAmt"] as Amount;
|
||||||
coin: coin,
|
final value = (price.item1 * amount.decimal)
|
||||||
);
|
.toAmount(fractionDigits: 2);
|
||||||
final value = price.item1 * amount;
|
|
||||||
final currency = ref.watch(prefsChangeNotifierProvider
|
final currency = ref.watch(prefsChangeNotifierProvider
|
||||||
.select((value) => value.currency));
|
.select((value) => value.currency));
|
||||||
|
final locale = ref.watch(
|
||||||
|
localeServiceChangeNotifierProvider.select(
|
||||||
|
(value) => value.locale,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
return Text(
|
return Text(
|
||||||
" | ${value.toStringAsFixed(Constants.decimalPlacesForCoin(coin))} $currency",
|
" | ${value.localizedStringAsFixed(locale: locale)} $currency",
|
||||||
style:
|
style:
|
||||||
STextStyles.desktopTextExtraExtraSmall(context)
|
STextStyles.desktopTextExtraExtraSmall(context)
|
||||||
.copyWith(
|
.copyWith(
|
||||||
|
@ -592,12 +603,13 @@ class _ConfirmChangeNowSendViewState
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
child: Text(
|
child: Text(
|
||||||
"${Format.satoshiAmountToPrettyString(transactionInfo["recipientAmt"] as int, ref.watch(
|
"${(transactionInfo["recipientAmt"] as Amount).localizedStringAsFixed(
|
||||||
localeServiceChangeNotifierProvider
|
locale: ref.watch(
|
||||||
.select((value) => value.locale),
|
localeServiceChangeNotifierProvider.select(
|
||||||
), ref.watch(
|
(value) => value.locale,
|
||||||
managerProvider.select((value) => value.coin),
|
),
|
||||||
))} ${ref.watch(
|
),
|
||||||
|
)} ${ref.watch(
|
||||||
managerProvider.select((value) => value.coin),
|
managerProvider.select((value) => value.coin),
|
||||||
).ticker}",
|
).ticker}",
|
||||||
style: STextStyles.itemSubtitle12(context),
|
style: STextStyles.itemSubtitle12(context),
|
||||||
|
@ -625,12 +637,17 @@ class _ConfirmChangeNowSendViewState
|
||||||
style: STextStyles.smallMed12(context),
|
style: STextStyles.smallMed12(context),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"${Format.satoshiAmountToPrettyString(transactionInfo["fee"] as int, ref.watch(
|
"${(transactionInfo["fee"] as int).toAmountAsRaw(fractionDigits: ref.watch(
|
||||||
localeServiceChangeNotifierProvider
|
managerProvider.select(
|
||||||
.select((value) => value.locale),
|
(value) => value.coin.decimals,
|
||||||
), ref.watch(
|
),
|
||||||
managerProvider.select((value) => value.coin),
|
)).localizedStringAsFixed(
|
||||||
))} ${ref.watch(
|
locale: ref.watch(
|
||||||
|
localeServiceChangeNotifierProvider.select(
|
||||||
|
(value) => value.locale,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)} ${ref.watch(
|
||||||
managerProvider.select((value) => value.coin),
|
managerProvider.select((value) => value.coin),
|
||||||
).ticker}",
|
).ticker}",
|
||||||
style: STextStyles.itemSubtitle12(context),
|
style: STextStyles.itemSubtitle12(context),
|
||||||
|
@ -711,21 +728,36 @@ class _ConfirmChangeNowSendViewState
|
||||||
.textConfirmTotalAmount,
|
.textConfirmTotalAmount,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
Builder(
|
||||||
"${Format.satoshiAmountToPrettyString((transactionInfo["fee"] as int) + (transactionInfo["recipientAmt"] as int), ref.watch(
|
builder: (context) {
|
||||||
localeServiceChangeNotifierProvider
|
final coin = ref.watch(
|
||||||
.select((value) => value.locale),
|
managerProvider.select((value) => value.coin),
|
||||||
), ref.watch(
|
);
|
||||||
managerProvider.select((value) => value.coin),
|
final fee =
|
||||||
))} ${ref.watch(
|
(transactionInfo["fee"] as int).toAmountAsRaw(
|
||||||
managerProvider.select((value) => value.coin),
|
fractionDigits: coin.decimals,
|
||||||
).ticker}",
|
);
|
||||||
style: STextStyles.itemSubtitle12(context).copyWith(
|
final amount =
|
||||||
color: Theme.of(context)
|
transactionInfo["recipientAmt"] as Amount;
|
||||||
.extension<StackColors>()!
|
final total = amount + fee;
|
||||||
.textConfirmTotalAmount,
|
final locale = ref.watch(
|
||||||
),
|
localeServiceChangeNotifierProvider.select(
|
||||||
textAlign: TextAlign.right,
|
(value) => value.locale,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
return Text(
|
||||||
|
"${total.localizedStringAsFixed(
|
||||||
|
locale: locale,
|
||||||
|
)}"
|
||||||
|
" ${coin.ticker}",
|
||||||
|
style: STextStyles.itemSubtitle12(context).copyWith(
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textConfirmTotalAmount,
|
||||||
|
),
|
||||||
|
textAlign: TextAlign.right,
|
||||||
|
);
|
||||||
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
@ -10,6 +10,7 @@ import 'package:stackwallet/models/exchange/aggregate_currency.dart';
|
||||||
import 'package:stackwallet/models/exchange/incomplete_exchange.dart';
|
import 'package:stackwallet/models/exchange/incomplete_exchange.dart';
|
||||||
import 'package:stackwallet/models/isar/exchange_cache/currency.dart';
|
import 'package:stackwallet/models/isar/exchange_cache/currency.dart';
|
||||||
import 'package:stackwallet/models/isar/exchange_cache/pair.dart';
|
import 'package:stackwallet/models/isar/exchange_cache/pair.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
import 'package:stackwallet/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart';
|
import 'package:stackwallet/pages/exchange_view/exchange_coin_selection/exchange_currency_selection_view.dart';
|
||||||
import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_1_view.dart';
|
import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_1_view.dart';
|
||||||
import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.dart';
|
import 'package:stackwallet/pages/exchange_view/exchange_step_views/step_2_view.dart';
|
||||||
|
@ -43,10 +44,12 @@ class ExchangeForm extends ConsumerStatefulWidget {
|
||||||
Key? key,
|
Key? key,
|
||||||
this.walletId,
|
this.walletId,
|
||||||
this.coin,
|
this.coin,
|
||||||
|
this.contract,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
final String? walletId;
|
final String? walletId;
|
||||||
final Coin? coin;
|
final Coin? coin;
|
||||||
|
final EthContract? contract;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ConsumerState<ExchangeForm> createState() => _ExchangeFormState();
|
ConsumerState<ExchangeForm> createState() => _ExchangeFormState();
|
||||||
|
@ -161,10 +164,16 @@ class _ExchangeFormState extends ConsumerState<ExchangeForm> {
|
||||||
final type = (ref.read(exchangeFormStateProvider).exchangeRateType);
|
final type = (ref.read(exchangeFormStateProvider).exchangeRateType);
|
||||||
final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? "";
|
final fromTicker = ref.read(exchangeFormStateProvider).fromTicker ?? "";
|
||||||
|
|
||||||
if (walletInitiated &&
|
if (walletInitiated) {
|
||||||
fromTicker.toLowerCase() == coin!.ticker.toLowerCase()) {
|
if (widget.contract != null &&
|
||||||
// do not allow changing away from wallet coin
|
fromTicker.toLowerCase() == widget.contract!.symbol.toLowerCase()) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fromTicker.toLowerCase() == coin!.ticker.toLowerCase()) {
|
||||||
|
// do not allow changing away from wallet coin
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final selectedCurrency = await _showCurrencySelectionSheet(
|
final selectedCurrency = await _showCurrencySelectionSheet(
|
||||||
|
@ -620,7 +629,7 @@ class _ExchangeFormState extends ConsumerState<ExchangeForm> {
|
||||||
ref.read(exchangeFormStateProvider).reset(shouldNotifyListeners: true);
|
ref.read(exchangeFormStateProvider).reset(shouldNotifyListeners: true);
|
||||||
ExchangeDataLoadingService.instance
|
ExchangeDataLoadingService.instance
|
||||||
.getAggregateCurrency(
|
.getAggregateCurrency(
|
||||||
coin!.ticker,
|
widget.contract == null ? coin!.ticker : widget.contract!.symbol,
|
||||||
ExchangeRateType.estimated,
|
ExchangeRateType.estimated,
|
||||||
)
|
)
|
||||||
.then((value) {
|
.then((value) {
|
||||||
|
|
|
@ -15,11 +15,11 @@ import 'package:stackwallet/pages/send_view/sub_widgets/building_transaction_dia
|
||||||
import 'package:stackwallet/pages/wallet_view/wallet_view.dart';
|
import 'package:stackwallet/pages/wallet_view/wallet_view.dart';
|
||||||
import 'package:stackwallet/providers/providers.dart';
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
import 'package:stackwallet/route_generator.dart';
|
import 'package:stackwallet/route_generator.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/clipboard_interface.dart';
|
import 'package:stackwallet/utilities/clipboard_interface.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart';
|
import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/widgets/background.dart';
|
import 'package:stackwallet/widgets/background.dart';
|
||||||
|
@ -526,10 +526,11 @@ class _Step4ViewState extends ConsumerState<Step4View> {
|
||||||
walletsChangeNotifierProvider)
|
walletsChangeNotifierProvider)
|
||||||
.getManager(tuple.item1);
|
.getManager(tuple.item1);
|
||||||
|
|
||||||
final amount =
|
final Amount amount =
|
||||||
Format.decimalAmountToSatoshis(
|
model.sendAmount.toAmount(
|
||||||
model.sendAmount,
|
fractionDigits:
|
||||||
manager.coin);
|
manager.coin.decimals,
|
||||||
|
);
|
||||||
final address =
|
final address =
|
||||||
model.trade!.payInAddress;
|
model.trade!.payInAddress;
|
||||||
|
|
||||||
|
@ -565,7 +566,7 @@ class _Step4ViewState extends ConsumerState<Step4View> {
|
||||||
final txDataFuture =
|
final txDataFuture =
|
||||||
manager.prepareSend(
|
manager.prepareSend(
|
||||||
address: address,
|
address: address,
|
||||||
satoshiAmount: amount,
|
amount: amount,
|
||||||
args: {
|
args: {
|
||||||
"feeRate":
|
"feeRate":
|
||||||
FeeRateType.average,
|
FeeRateType.average,
|
||||||
|
@ -670,12 +671,17 @@ class _Step4ViewState extends ConsumerState<Step4View> {
|
||||||
.useMaterialPageRoute,
|
.useMaterialPageRoute,
|
||||||
builder:
|
builder:
|
||||||
(BuildContext context) {
|
(BuildContext context) {
|
||||||
|
final coin =
|
||||||
|
coinFromTickerCaseInsensitive(
|
||||||
|
model.trade!
|
||||||
|
.payInCurrency);
|
||||||
return SendFromView(
|
return SendFromView(
|
||||||
coin:
|
coin: coin,
|
||||||
coinFromTickerCaseInsensitive(
|
amount: model.sendAmount
|
||||||
model.trade!
|
.toAmount(
|
||||||
.payInCurrency),
|
fractionDigits:
|
||||||
amount: model.sendAmount,
|
coin.decimals,
|
||||||
|
),
|
||||||
address: model
|
address: model
|
||||||
.trade!.payInAddress,
|
.trade!.payInAddress,
|
||||||
trade: model.trade!,
|
trade: model.trade!,
|
||||||
|
|
|
@ -17,7 +17,7 @@ import 'package:stackwallet/widgets/custom_loading_overlay.dart';
|
||||||
import 'package:stackwallet/widgets/trade_card.dart';
|
import 'package:stackwallet/widgets/trade_card.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
import '../../db/main_db.dart';
|
import '../../db/isar/main_db.dart';
|
||||||
|
|
||||||
class ExchangeView extends ConsumerStatefulWidget {
|
class ExchangeView extends ConsumerStatefulWidget {
|
||||||
const ExchangeView({Key? key}) : super(key: key);
|
const ExchangeView({Key? key}) : super(key: key);
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:decimal/decimal.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
@ -13,15 +12,14 @@ import 'package:stackwallet/providers/providers.dart';
|
||||||
import 'package:stackwallet/route_generator.dart';
|
import 'package:stackwallet/route_generator.dart';
|
||||||
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
|
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
|
||||||
import 'package:stackwallet/services/coins/manager.dart';
|
import 'package:stackwallet/services/coins/manager.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart';
|
import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/utilities/util.dart';
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
import 'package:stackwallet/widgets/animated_text.dart';
|
|
||||||
import 'package:stackwallet/widgets/background.dart';
|
import 'package:stackwallet/widgets/background.dart';
|
||||||
import 'package:stackwallet/widgets/conditional_parent.dart';
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
||||||
|
@ -45,7 +43,7 @@ class SendFromView extends ConsumerStatefulWidget {
|
||||||
static const String routeName = "/sendFrom";
|
static const String routeName = "/sendFrom";
|
||||||
|
|
||||||
final Coin coin;
|
final Coin coin;
|
||||||
final Decimal amount;
|
final Amount amount;
|
||||||
final String address;
|
final String address;
|
||||||
final Trade trade;
|
final Trade trade;
|
||||||
final bool shouldPopRoot;
|
final bool shouldPopRoot;
|
||||||
|
@ -57,14 +55,10 @@ class SendFromView extends ConsumerStatefulWidget {
|
||||||
|
|
||||||
class _SendFromViewState extends ConsumerState<SendFromView> {
|
class _SendFromViewState extends ConsumerState<SendFromView> {
|
||||||
late final Coin coin;
|
late final Coin coin;
|
||||||
late final Decimal amount;
|
late final Amount amount;
|
||||||
late final String address;
|
late final String address;
|
||||||
late final Trade trade;
|
late final Trade trade;
|
||||||
|
|
||||||
String formatAmount(Decimal amount, Coin coin) {
|
|
||||||
return amount.toStringAsFixed(Constants.decimalPlacesForCoin(coin));
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
coin = widget.coin;
|
coin = widget.coin;
|
||||||
|
@ -151,7 +145,13 @@ class _SendFromViewState extends ConsumerState<SendFromView> {
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"You need to send ${formatAmount(amount, coin)} ${coin.ticker}",
|
"You need to send ${amount.localizedStringAsFixed(
|
||||||
|
locale: ref.watch(
|
||||||
|
localeServiceChangeNotifierProvider.select(
|
||||||
|
(value) => value.locale,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)} ${coin.ticker}",
|
||||||
style: isDesktop
|
style: isDesktop
|
||||||
? STextStyles.desktopTextExtraExtraSmall(context)
|
? STextStyles.desktopTextExtraExtraSmall(context)
|
||||||
: STextStyles.itemSubtitle(context),
|
: STextStyles.itemSubtitle(context),
|
||||||
|
@ -202,7 +202,7 @@ class SendFromCard extends ConsumerStatefulWidget {
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
final String walletId;
|
final String walletId;
|
||||||
final Decimal amount;
|
final Amount amount;
|
||||||
final String address;
|
final String address;
|
||||||
final Trade trade;
|
final Trade trade;
|
||||||
final bool fromDesktopStep4;
|
final bool fromDesktopStep4;
|
||||||
|
@ -213,13 +213,11 @@ class SendFromCard extends ConsumerStatefulWidget {
|
||||||
|
|
||||||
class _SendFromCardState extends ConsumerState<SendFromCard> {
|
class _SendFromCardState extends ConsumerState<SendFromCard> {
|
||||||
late final String walletId;
|
late final String walletId;
|
||||||
late final Decimal amount;
|
late final Amount amount;
|
||||||
late final String address;
|
late final String address;
|
||||||
late final Trade trade;
|
late final Trade trade;
|
||||||
|
|
||||||
Future<void> _send(Manager manager, {bool? shouldSendPublicFiroFunds}) async {
|
Future<void> _send(Manager manager, {bool? shouldSendPublicFiroFunds}) async {
|
||||||
final _amount = Format.decimalAmountToSatoshis(amount, manager.coin);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
bool wasCancelled = false;
|
bool wasCancelled = false;
|
||||||
|
|
||||||
|
@ -265,7 +263,7 @@ class _SendFromCardState extends ConsumerState<SendFromCard> {
|
||||||
if (shouldSendPublicFiroFunds == null) {
|
if (shouldSendPublicFiroFunds == null) {
|
||||||
txDataFuture = manager.prepareSend(
|
txDataFuture = manager.prepareSend(
|
||||||
address: address,
|
address: address,
|
||||||
satoshiAmount: _amount,
|
amount: amount,
|
||||||
args: {
|
args: {
|
||||||
"feeRate": FeeRateType.average,
|
"feeRate": FeeRateType.average,
|
||||||
// ref.read(feeRateTypeStateProvider)
|
// ref.read(feeRateTypeStateProvider)
|
||||||
|
@ -277,7 +275,7 @@ class _SendFromCardState extends ConsumerState<SendFromCard> {
|
||||||
if (shouldSendPublicFiroFunds) {
|
if (shouldSendPublicFiroFunds) {
|
||||||
txDataFuture = firoWallet.prepareSendPublic(
|
txDataFuture = firoWallet.prepareSendPublic(
|
||||||
address: address,
|
address: address,
|
||||||
satoshiAmount: _amount,
|
amount: amount,
|
||||||
args: {
|
args: {
|
||||||
"feeRate": FeeRateType.average,
|
"feeRate": FeeRateType.average,
|
||||||
// ref.read(feeRateTypeStateProvider)
|
// ref.read(feeRateTypeStateProvider)
|
||||||
|
@ -286,7 +284,7 @@ class _SendFromCardState extends ConsumerState<SendFromCard> {
|
||||||
} else {
|
} else {
|
||||||
txDataFuture = firoWallet.prepareSend(
|
txDataFuture = firoWallet.prepareSend(
|
||||||
address: address,
|
address: address,
|
||||||
satoshiAmount: _amount,
|
amount: amount,
|
||||||
args: {
|
args: {
|
||||||
"feeRate": FeeRateType.average,
|
"feeRate": FeeRateType.average,
|
||||||
// ref.read(feeRateTypeStateProvider)
|
// ref.read(feeRateTypeStateProvider)
|
||||||
|
@ -452,37 +450,11 @@ class _SendFromCardState extends ConsumerState<SendFromCard> {
|
||||||
"Use private balance",
|
"Use private balance",
|
||||||
style: STextStyles.itemSubtitle(context),
|
style: STextStyles.itemSubtitle(context),
|
||||||
),
|
),
|
||||||
FutureBuilder(
|
Text(
|
||||||
// TODO redo this widget now that its not actually a future
|
"${(manager.wallet as FiroWallet).availablePrivateBalance().localizedStringAsFixed(
|
||||||
future: Future(() =>
|
locale: locale,
|
||||||
(manager.wallet as FiroWallet)
|
)} ${coin.ticker}",
|
||||||
.availablePrivateBalance()),
|
style: STextStyles.itemSubtitle(context),
|
||||||
builder: (builderContext,
|
|
||||||
AsyncSnapshot<Decimal> snapshot) {
|
|
||||||
if (snapshot.connectionState ==
|
|
||||||
ConnectionState.done &&
|
|
||||||
snapshot.hasData) {
|
|
||||||
return Text(
|
|
||||||
"${Format.localizedStringAsFixed(
|
|
||||||
value: snapshot.data!,
|
|
||||||
locale: locale,
|
|
||||||
decimalPlaces:
|
|
||||||
Constants.decimalPlacesForCoin(coin),
|
|
||||||
)} ${coin.ticker}",
|
|
||||||
style: STextStyles.itemSubtitle(context),
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
return AnimatedText(
|
|
||||||
stringsToLoopThrough: const [
|
|
||||||
"Loading balance",
|
|
||||||
"Loading balance.",
|
|
||||||
"Loading balance..",
|
|
||||||
"Loading balance..."
|
|
||||||
],
|
|
||||||
style: STextStyles.itemSubtitle(context),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -540,37 +512,11 @@ class _SendFromCardState extends ConsumerState<SendFromCard> {
|
||||||
"Use public balance",
|
"Use public balance",
|
||||||
style: STextStyles.itemSubtitle(context),
|
style: STextStyles.itemSubtitle(context),
|
||||||
),
|
),
|
||||||
FutureBuilder(
|
Text(
|
||||||
// TODO redo this widget now that its not actually a future
|
"${(manager.wallet as FiroWallet).availablePublicBalance().localizedStringAsFixed(
|
||||||
future: Future(() =>
|
locale: locale,
|
||||||
(manager.wallet as FiroWallet)
|
)} ${coin.ticker}",
|
||||||
.availablePublicBalance()),
|
style: STextStyles.itemSubtitle(context),
|
||||||
builder: (builderContext,
|
|
||||||
AsyncSnapshot<Decimal> snapshot) {
|
|
||||||
if (snapshot.connectionState ==
|
|
||||||
ConnectionState.done &&
|
|
||||||
snapshot.hasData) {
|
|
||||||
return Text(
|
|
||||||
"${Format.localizedStringAsFixed(
|
|
||||||
value: snapshot.data!,
|
|
||||||
locale: locale,
|
|
||||||
decimalPlaces:
|
|
||||||
Constants.decimalPlacesForCoin(coin),
|
|
||||||
)} ${coin.ticker}",
|
|
||||||
style: STextStyles.itemSubtitle(context),
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
return AnimatedText(
|
|
||||||
stringsToLoopThrough: const [
|
|
||||||
"Loading balance",
|
|
||||||
"Loading balance.",
|
|
||||||
"Loading balance..",
|
|
||||||
"Loading balance..."
|
|
||||||
],
|
|
||||||
style: STextStyles.itemSubtitle(context),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -652,35 +598,11 @@ class _SendFromCardState extends ConsumerState<SendFromCard> {
|
||||||
height: 2,
|
height: 2,
|
||||||
),
|
),
|
||||||
if (!isFiro)
|
if (!isFiro)
|
||||||
FutureBuilder(
|
Text(
|
||||||
// TODO redo this widget now that its not actually a future
|
"${manager.balance.spendable.localizedStringAsFixed(
|
||||||
future: Future(() => manager.balance.getTotal()),
|
locale: locale,
|
||||||
builder:
|
)} ${coin.ticker}",
|
||||||
(builderContext, AsyncSnapshot<Decimal> snapshot) {
|
style: STextStyles.itemSubtitle(context),
|
||||||
if (snapshot.connectionState ==
|
|
||||||
ConnectionState.done &&
|
|
||||||
snapshot.hasData) {
|
|
||||||
return Text(
|
|
||||||
"${Format.localizedStringAsFixed(
|
|
||||||
value: snapshot.data!,
|
|
||||||
locale: locale,
|
|
||||||
decimalPlaces:
|
|
||||||
Constants.decimalPlacesForCoin(coin),
|
|
||||||
)} ${coin.ticker}",
|
|
||||||
style: STextStyles.itemSubtitle(context),
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
return AnimatedText(
|
|
||||||
stringsToLoopThrough: const [
|
|
||||||
"Loading balance",
|
|
||||||
"Loading balance.",
|
|
||||||
"Loading balance..",
|
|
||||||
"Loading balance..."
|
|
||||||
],
|
|
||||||
style: STextStyles.itemSubtitle(context),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
@ -9,10 +9,9 @@ import 'package:stackwallet/providers/providers.dart';
|
||||||
import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart';
|
import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dart';
|
||||||
import 'package:stackwallet/services/exchange/exchange_response.dart';
|
import 'package:stackwallet/services/exchange/exchange_response.dart';
|
||||||
import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart';
|
import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/logger.dart';
|
import 'package:stackwallet/utilities/logger.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
@ -198,18 +197,6 @@ class _ExchangeProviderOptionsState
|
||||||
snapshot.hasData) {
|
snapshot.hasData) {
|
||||||
final estimate = snapshot.data?.value;
|
final estimate = snapshot.data?.value;
|
||||||
if (estimate != null) {
|
if (estimate != null) {
|
||||||
Decimal rate;
|
|
||||||
if (estimate.reversed) {
|
|
||||||
rate = (toAmount /
|
|
||||||
estimate.estimatedAmount)
|
|
||||||
.toDecimal(
|
|
||||||
scaleOnInfinitePrecision: 12);
|
|
||||||
} else {
|
|
||||||
rate = (estimate.estimatedAmount /
|
|
||||||
fromAmount)
|
|
||||||
.toDecimal(
|
|
||||||
scaleOnInfinitePrecision: 12);
|
|
||||||
}
|
|
||||||
Coin coin;
|
Coin coin;
|
||||||
try {
|
try {
|
||||||
coin = coinFromTickerCaseInsensitive(
|
coin = coinFromTickerCaseInsensitive(
|
||||||
|
@ -217,18 +204,32 @@ class _ExchangeProviderOptionsState
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
coin = Coin.bitcoin;
|
coin = Coin.bitcoin;
|
||||||
}
|
}
|
||||||
|
Amount rate;
|
||||||
|
if (estimate.reversed) {
|
||||||
|
rate = (toAmount /
|
||||||
|
estimate.estimatedAmount)
|
||||||
|
.toDecimal(
|
||||||
|
scaleOnInfinitePrecision: 18)
|
||||||
|
.toAmount(
|
||||||
|
fractionDigits:
|
||||||
|
coin.decimals);
|
||||||
|
} else {
|
||||||
|
rate = (estimate.estimatedAmount /
|
||||||
|
fromAmount)
|
||||||
|
.toDecimal(
|
||||||
|
scaleOnInfinitePrecision: 18)
|
||||||
|
.toAmount(
|
||||||
|
fractionDigits:
|
||||||
|
coin.decimals);
|
||||||
|
}
|
||||||
|
|
||||||
return Text(
|
return Text(
|
||||||
"1 ${sendCurrency.ticker.toUpperCase()} ~ ${Format.localizedStringAsFixed(
|
"1 ${sendCurrency.ticker.toUpperCase()} ~ ${rate.localizedStringAsFixed(
|
||||||
value: rate,
|
|
||||||
locale: ref.watch(
|
locale: ref.watch(
|
||||||
localeServiceChangeNotifierProvider
|
localeServiceChangeNotifierProvider
|
||||||
.select(
|
.select(
|
||||||
(value) => value.locale),
|
(value) => value.locale),
|
||||||
),
|
),
|
||||||
decimalPlaces:
|
|
||||||
Constants.decimalPlacesForCoin(
|
|
||||||
coin),
|
|
||||||
)} ${receivingCurrency.ticker.toUpperCase()}",
|
)} ${receivingCurrency.ticker.toUpperCase()}",
|
||||||
style: STextStyles.itemSubtitle12(
|
style: STextStyles.itemSubtitle12(
|
||||||
context)
|
context)
|
||||||
|
@ -435,18 +436,6 @@ class _ExchangeProviderOptionsState
|
||||||
snapshot.hasData) {
|
snapshot.hasData) {
|
||||||
final estimate = snapshot.data?.value;
|
final estimate = snapshot.data?.value;
|
||||||
if (estimate != null) {
|
if (estimate != null) {
|
||||||
Decimal rate;
|
|
||||||
if (estimate.reversed) {
|
|
||||||
rate = (toAmount /
|
|
||||||
estimate.estimatedAmount)
|
|
||||||
.toDecimal(
|
|
||||||
scaleOnInfinitePrecision: 12);
|
|
||||||
} else {
|
|
||||||
rate = (estimate.estimatedAmount /
|
|
||||||
fromAmount)
|
|
||||||
.toDecimal(
|
|
||||||
scaleOnInfinitePrecision: 12);
|
|
||||||
}
|
|
||||||
Coin coin;
|
Coin coin;
|
||||||
try {
|
try {
|
||||||
coin = coinFromTickerCaseInsensitive(
|
coin = coinFromTickerCaseInsensitive(
|
||||||
|
@ -454,18 +443,32 @@ class _ExchangeProviderOptionsState
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
coin = Coin.bitcoin;
|
coin = Coin.bitcoin;
|
||||||
}
|
}
|
||||||
|
Amount rate;
|
||||||
|
if (estimate.reversed) {
|
||||||
|
rate = (toAmount /
|
||||||
|
estimate.estimatedAmount)
|
||||||
|
.toDecimal(
|
||||||
|
scaleOnInfinitePrecision: 18)
|
||||||
|
.toAmount(
|
||||||
|
fractionDigits: coin.decimals,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
rate = (estimate.estimatedAmount /
|
||||||
|
fromAmount)
|
||||||
|
.toDecimal(
|
||||||
|
scaleOnInfinitePrecision: 18)
|
||||||
|
.toAmount(
|
||||||
|
fractionDigits: coin.decimals,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return Text(
|
return Text(
|
||||||
"1 ${sendCurrency.ticker.toUpperCase()} ~ ${Format.localizedStringAsFixed(
|
"1 ${sendCurrency.ticker.toUpperCase()} ~ ${rate.localizedStringAsFixed(
|
||||||
value: rate,
|
|
||||||
locale: ref.watch(
|
locale: ref.watch(
|
||||||
localeServiceChangeNotifierProvider
|
localeServiceChangeNotifierProvider
|
||||||
.select(
|
.select(
|
||||||
(value) => value.locale),
|
(value) => value.locale),
|
||||||
),
|
),
|
||||||
decimalPlaces:
|
|
||||||
Constants.decimalPlacesForCoin(
|
|
||||||
coin),
|
|
||||||
)} ${receivingCurrency.ticker.toUpperCase()}",
|
)} ${receivingCurrency.ticker.toUpperCase()}",
|
||||||
style: STextStyles.itemSubtitle12(
|
style: STextStyles.itemSubtitle12(
|
||||||
context)
|
context)
|
||||||
|
|
|
@ -20,6 +20,7 @@ import 'package:stackwallet/services/exchange/change_now/change_now_exchange.dar
|
||||||
import 'package:stackwallet/services/exchange/exchange.dart';
|
import 'package:stackwallet/services/exchange/exchange.dart';
|
||||||
import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart';
|
import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_exchange.dart';
|
||||||
import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart';
|
import 'package:stackwallet/services/exchange/simpleswap/simpleswap_exchange.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/clipboard_interface.dart';
|
import 'package:stackwallet/utilities/clipboard_interface.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
|
@ -256,11 +257,11 @@ class _TradeDetailsViewState extends ConsumerState<TradeDetailsView> {
|
||||||
label: "Send from Stack",
|
label: "Send from Stack",
|
||||||
buttonHeight: ButtonHeight.l,
|
buttonHeight: ButtonHeight.l,
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
final amount = sendAmount;
|
|
||||||
final address = trade.payInAddress;
|
|
||||||
|
|
||||||
final coin =
|
final coin =
|
||||||
coinFromTickerCaseInsensitive(trade.payInCurrency);
|
coinFromTickerCaseInsensitive(trade.payInCurrency);
|
||||||
|
final amount =
|
||||||
|
sendAmount.toAmount(fractionDigits: coin.decimals);
|
||||||
|
final address = trade.payInAddress;
|
||||||
|
|
||||||
Navigator.of(context).pushNamed(
|
Navigator.of(context).pushNamed(
|
||||||
SendFromView.routeName,
|
SendFromView.routeName,
|
||||||
|
@ -339,13 +340,32 @@ class _TradeDetailsViewState extends ConsumerState<TradeDetailsView> {
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
height: 4,
|
height: 4,
|
||||||
),
|
),
|
||||||
SelectableText(
|
Builder(builder: (context) {
|
||||||
"-${Format.localizedStringAsFixed(value: sendAmount, locale: ref.watch(
|
String text;
|
||||||
localeServiceChangeNotifierProvider
|
try {
|
||||||
.select((value) => value.locale),
|
final coin = coinFromTickerCaseInsensitive(
|
||||||
), decimalPlaces: trade.payInCurrency.toLowerCase() == "xmr" ? 12 : 8)} ${trade.payInCurrency.toUpperCase()}",
|
trade.payInCurrency);
|
||||||
style: STextStyles.itemSubtitle(context),
|
final amount = sendAmount.toAmount(
|
||||||
),
|
fractionDigits: coin.decimals);
|
||||||
|
text = amount.localizedStringAsFixed(
|
||||||
|
locale: ref.watch(
|
||||||
|
localeServiceChangeNotifierProvider.select(
|
||||||
|
(value) => value.locale,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} catch (_) {
|
||||||
|
text = sendAmount.toStringAsFixed(
|
||||||
|
trade.payInCurrency.toLowerCase() == "xmr"
|
||||||
|
? 12
|
||||||
|
: 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
return SelectableText(
|
||||||
|
"-$text ${trade.payInCurrency.toUpperCase()}",
|
||||||
|
style: STextStyles.itemSubtitle(context),
|
||||||
|
);
|
||||||
|
}),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
if (!isDesktop)
|
if (!isDesktop)
|
||||||
|
|
|
@ -2,6 +2,7 @@ import 'dart:async';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
||||||
import 'package:stackwallet/pages/exchange_view/exchange_form.dart';
|
import 'package:stackwallet/pages/exchange_view/exchange_form.dart';
|
||||||
import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart';
|
import 'package:stackwallet/pages/exchange_view/sub_widgets/step_row.dart';
|
||||||
import 'package:stackwallet/providers/exchange/exchange_form_state_provider.dart';
|
import 'package:stackwallet/providers/exchange/exchange_form_state_provider.dart';
|
||||||
|
@ -20,12 +21,14 @@ class WalletInitiatedExchangeView extends ConsumerStatefulWidget {
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.walletId,
|
required this.walletId,
|
||||||
required this.coin,
|
required this.coin,
|
||||||
|
this.contract,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
static const String routeName = "/walletInitiatedExchange";
|
static const String routeName = "/walletInitiatedExchange";
|
||||||
|
|
||||||
final String walletId;
|
final String walletId;
|
||||||
final Coin coin;
|
final Coin coin;
|
||||||
|
final EthContract? contract;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ConsumerState<WalletInitiatedExchangeView> createState() =>
|
ConsumerState<WalletInitiatedExchangeView> createState() =>
|
||||||
|
@ -172,6 +175,7 @@ class _WalletInitiatedExchangeViewState
|
||||||
ExchangeForm(
|
ExchangeForm(
|
||||||
walletId: walletId,
|
walletId: walletId,
|
||||||
coin: coin,
|
coin: coin,
|
||||||
|
contract: widget.contract,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/utilities/util.dart';
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
@ -17,25 +16,22 @@ class ConfirmPaynymConnectDialog extends StatelessWidget {
|
||||||
const ConfirmPaynymConnectDialog({
|
const ConfirmPaynymConnectDialog({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.nymName,
|
required this.nymName,
|
||||||
|
required this.locale,
|
||||||
required this.onConfirmPressed,
|
required this.onConfirmPressed,
|
||||||
required this.amount,
|
required this.amount,
|
||||||
required this.coin,
|
required this.coin,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
final String nymName;
|
final String nymName;
|
||||||
|
final String locale;
|
||||||
final VoidCallback onConfirmPressed;
|
final VoidCallback onConfirmPressed;
|
||||||
final int amount;
|
final Amount amount;
|
||||||
final Coin coin;
|
final Coin coin;
|
||||||
|
|
||||||
String get title => "Connect to $nymName";
|
String get title => "Connect to $nymName";
|
||||||
|
|
||||||
String get message => "A one-time connection fee of "
|
String get message => "A one-time connection fee of "
|
||||||
"${Format.satoshisToAmount(
|
"${amount.localizedStringAsFixed(locale: locale)} ${coin.ticker} "
|
||||||
amount,
|
|
||||||
coin: coin,
|
|
||||||
).toStringAsFixed(
|
|
||||||
Constants.decimalPlacesForCoin(coin),
|
|
||||||
)} ${coin.ticker} "
|
|
||||||
"will be charged to connect to this PayNym.\n\nThis fee "
|
"will be charged to connect to this PayNym.\n\nThis fee "
|
||||||
"covers the cost of creating a one-time transaction to create a "
|
"covers the cost of creating a one-time transaction to create a "
|
||||||
"record on the blockchain. This keeps PayNyms decentralized.";
|
"record on the blockchain. This keeps PayNyms decentralized.";
|
||||||
|
|
|
@ -13,9 +13,11 @@ import 'package:stackwallet/pages/paynym/paynym_home_view.dart';
|
||||||
import 'package:stackwallet/pages/paynym/subwidgets/paynym_bot.dart';
|
import 'package:stackwallet/pages/paynym/subwidgets/paynym_bot.dart';
|
||||||
import 'package:stackwallet/pages/send_view/confirm_transaction_view.dart';
|
import 'package:stackwallet/pages/send_view/confirm_transaction_view.dart';
|
||||||
import 'package:stackwallet/pages/send_view/send_view.dart';
|
import 'package:stackwallet/pages/send_view/send_view.dart';
|
||||||
|
import 'package:stackwallet/providers/global/locale_provider.dart';
|
||||||
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
||||||
import 'package:stackwallet/route_generator.dart';
|
import 'package:stackwallet/route_generator.dart';
|
||||||
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
|
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
@ -134,6 +136,7 @@ class _PaynymDetailsPopupState extends ConsumerState<PaynymDetailsPopup> {
|
||||||
context: context,
|
context: context,
|
||||||
builder: (context) => ConfirmPaynymConnectDialog(
|
builder: (context) => ConfirmPaynymConnectDialog(
|
||||||
nymName: widget.accountLite.nymName,
|
nymName: widget.accountLite.nymName,
|
||||||
|
locale: ref.read(localeServiceChangeNotifierProvider).locale,
|
||||||
onConfirmPressed: () {
|
onConfirmPressed: () {
|
||||||
//
|
//
|
||||||
print("CONFIRM NOTIF TX: $preparedTx");
|
print("CONFIRM NOTIF TX: $preparedTx");
|
||||||
|
@ -156,7 +159,10 @@ class _PaynymDetailsPopupState extends ConsumerState<PaynymDetailsPopup> {
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
amount: (preparedTx["amount"] as int) + (preparedTx["fee"] as int),
|
amount: (preparedTx["amount"] as Amount) +
|
||||||
|
(preparedTx["fee"] as int).toAmountAsRaw(
|
||||||
|
fractionDigits: manager.coin.decimals,
|
||||||
|
),
|
||||||
coin: manager.coin,
|
coin: manager.coin,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
|
@ -12,8 +12,10 @@ import 'package:stackwallet/pages/paynym/dialogs/confirm_paynym_connect_dialog.d
|
||||||
import 'package:stackwallet/pages/paynym/subwidgets/paynym_bot.dart';
|
import 'package:stackwallet/pages/paynym/subwidgets/paynym_bot.dart';
|
||||||
import 'package:stackwallet/pages/send_view/confirm_transaction_view.dart';
|
import 'package:stackwallet/pages/send_view/confirm_transaction_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart';
|
import 'package:stackwallet/pages_desktop_specific/my_stack_view/paynym/desktop_paynym_send_dialog.dart';
|
||||||
|
import 'package:stackwallet/providers/global/locale_provider.dart';
|
||||||
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
||||||
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
|
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
@ -102,6 +104,7 @@ class _PaynymDetailsPopupState extends ConsumerState<DesktopPaynymDetails> {
|
||||||
context: context,
|
context: context,
|
||||||
builder: (context) => ConfirmPaynymConnectDialog(
|
builder: (context) => ConfirmPaynymConnectDialog(
|
||||||
nymName: widget.accountLite.nymName,
|
nymName: widget.accountLite.nymName,
|
||||||
|
locale: ref.read(localeServiceChangeNotifierProvider).locale,
|
||||||
onConfirmPressed: () {
|
onConfirmPressed: () {
|
||||||
Navigator.of(context, rootNavigator: true).pop();
|
Navigator.of(context, rootNavigator: true).pop();
|
||||||
unawaited(
|
unawaited(
|
||||||
|
@ -139,7 +142,10 @@ class _PaynymDetailsPopupState extends ConsumerState<DesktopPaynymDetails> {
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
amount: (preparedTx["amount"] as int) + (preparedTx["fee"] as int),
|
amount: (preparedTx["amount"] as Amount) +
|
||||||
|
(preparedTx["fee"] as int).toAmountAsRaw(
|
||||||
|
fractionDigits: manager.coin.decimals,
|
||||||
|
),
|
||||||
coin: manager.coin,
|
coin: manager.coin,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
|
@ -3,7 +3,7 @@ import 'dart:async';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:stackwallet/db/main_db.dart';
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
||||||
import 'package:stackwallet/pages/receive_view/addresses/address_tag.dart';
|
import 'package:stackwallet/pages/receive_view/addresses/address_tag.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
|
|
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:qr_flutter/qr_flutter.dart';
|
import 'package:qr_flutter/qr_flutter.dart';
|
||||||
import 'package:stackwallet/db/main_db.dart';
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
||||||
import 'package:stackwallet/pages/receive_view/addresses/address_tag.dart';
|
import 'package:stackwallet/pages/receive_view/addresses/address_tag.dart';
|
||||||
import 'package:stackwallet/pages/wallet_view/sub_widgets/no_transactions_found.dart';
|
import 'package:stackwallet/pages/wallet_view/sub_widgets/no_transactions_found.dart';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:stackwallet/db/main_db.dart';
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
import 'package:stackwallet/models/isar/models/address_label.dart';
|
import 'package:stackwallet/models/isar/models/address_label.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
|
|
@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:stackwallet/db/main_db.dart';
|
import 'package:stackwallet/db/isar/main_db.dart';
|
||||||
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
import 'package:stackwallet/models/isar/models/isar_models.dart';
|
||||||
import 'package:stackwallet/pages/receive_view/addresses/address_card.dart';
|
import 'package:stackwallet/pages/receive_view/addresses/address_card.dart';
|
||||||
import 'package:stackwallet/pages/receive_view/addresses/address_details_view.dart';
|
import 'package:stackwallet/pages/receive_view/addresses/address_details_view.dart';
|
||||||
|
|
|
@ -287,11 +287,11 @@ class _ReceiveViewState extends ConsumerState<ReceiveView> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (coin != Coin.epicCash)
|
if (coin != Coin.epicCash && coin != Coin.ethereum)
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
height: 12,
|
height: 12,
|
||||||
),
|
),
|
||||||
if (coin != Coin.epicCash)
|
if (coin != Coin.epicCash && coin != Coin.ethereum)
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: generateNewAddress,
|
onPressed: generateNewAddress,
|
||||||
style: Theme.of(context)
|
style: Theme.of(context)
|
||||||
|
|
|
@ -8,6 +8,7 @@ import 'package:stackwallet/models/paynym/paynym_account_lite.dart';
|
||||||
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
||||||
import 'package:stackwallet/pages/pinpad_views/lock_screen_view.dart';
|
import 'package:stackwallet/pages/pinpad_views/lock_screen_view.dart';
|
||||||
import 'package:stackwallet/pages/send_view/sub_widgets/sending_transaction_dialog.dart';
|
import 'package:stackwallet/pages/send_view/sub_widgets/sending_transaction_dialog.dart';
|
||||||
|
import 'package:stackwallet/pages/token_view/token_view.dart';
|
||||||
import 'package:stackwallet/pages/wallet_view/wallet_view.dart';
|
import 'package:stackwallet/pages/wallet_view/wallet_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart';
|
import 'package:stackwallet/pages_desktop_specific/coin_control/desktop_coin_control_use_dialog.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_auth_send.dart';
|
import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/sub_widgets/desktop_auth_send.dart';
|
||||||
|
@ -17,10 +18,10 @@ import 'package:stackwallet/route_generator.dart';
|
||||||
import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart';
|
import 'package:stackwallet/services/coins/epiccash/epiccash_wallet.dart';
|
||||||
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
|
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
|
||||||
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
|
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/utilities/util.dart';
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
@ -46,6 +47,7 @@ class ConfirmTransactionView extends ConsumerStatefulWidget {
|
||||||
this.isTradeTransaction = false,
|
this.isTradeTransaction = false,
|
||||||
this.isPaynymTransaction = false,
|
this.isPaynymTransaction = false,
|
||||||
this.isPaynymNotificationTransaction = false,
|
this.isPaynymNotificationTransaction = false,
|
||||||
|
this.isTokenTx = false,
|
||||||
this.onSuccessInsteadOfRouteOnSuccess,
|
this.onSuccessInsteadOfRouteOnSuccess,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@ -57,6 +59,7 @@ class ConfirmTransactionView extends ConsumerStatefulWidget {
|
||||||
final bool isTradeTransaction;
|
final bool isTradeTransaction;
|
||||||
final bool isPaynymTransaction;
|
final bool isPaynymTransaction;
|
||||||
final bool isPaynymNotificationTransaction;
|
final bool isPaynymNotificationTransaction;
|
||||||
|
final bool isTokenTx;
|
||||||
final VoidCallback? onSuccessInsteadOfRouteOnSuccess;
|
final VoidCallback? onSuccessInsteadOfRouteOnSuccess;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -102,7 +105,11 @@ class _ConfirmTransactionViewState
|
||||||
final note = noteController.text;
|
final note = noteController.text;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (widget.isPaynymNotificationTransaction) {
|
if (widget.isTokenTx) {
|
||||||
|
txidFuture = ref
|
||||||
|
.read(tokenServiceProvider)!
|
||||||
|
.confirmSend(txData: transactionInfo);
|
||||||
|
} else if (widget.isPaynymNotificationTransaction) {
|
||||||
txidFuture = (manager.wallet as PaynymWalletInterface)
|
txidFuture = (manager.wallet as PaynymWalletInterface)
|
||||||
.broadcastNotificationTx(preparedTx: transactionInfo);
|
.broadcastNotificationTx(preparedTx: transactionInfo);
|
||||||
} else if (widget.isPaynymTransaction) {
|
} else if (widget.isPaynymTransaction) {
|
||||||
|
@ -132,7 +139,11 @@ class _ConfirmTransactionViewState
|
||||||
.read(notesServiceChangeNotifierProvider(walletId))
|
.read(notesServiceChangeNotifierProvider(walletId))
|
||||||
.editOrAddNote(txid: txid, note: note);
|
.editOrAddNote(txid: txid, note: note);
|
||||||
|
|
||||||
unawaited(manager.refresh());
|
if (widget.isTokenTx) {
|
||||||
|
unawaited(ref.read(tokenServiceProvider)!.refresh());
|
||||||
|
} else {
|
||||||
|
unawaited(manager.refresh());
|
||||||
|
}
|
||||||
|
|
||||||
// pop back to wallet
|
// pop back to wallet
|
||||||
if (mounted) {
|
if (mounted) {
|
||||||
|
@ -258,6 +269,15 @@ class _ConfirmTransactionViewState
|
||||||
final managerProvider = ref.watch(walletsChangeNotifierProvider
|
final managerProvider = ref.watch(walletsChangeNotifierProvider
|
||||||
.select((value) => value.getManagerProvider(walletId)));
|
.select((value) => value.getManagerProvider(walletId)));
|
||||||
|
|
||||||
|
final String unit;
|
||||||
|
if (widget.isTokenTx) {
|
||||||
|
unit = ref.watch(
|
||||||
|
tokenServiceProvider.select((value) => value!.tokenContract.symbol));
|
||||||
|
} else {
|
||||||
|
unit = ref.watch(walletsChangeNotifierProvider
|
||||||
|
.select((value) => value.getManager(walletId).coin.ticker));
|
||||||
|
}
|
||||||
|
|
||||||
return ConditionalParent(
|
return ConditionalParent(
|
||||||
condition: !isDesktop,
|
condition: !isDesktop,
|
||||||
builder: (child) => Background(
|
builder: (child) => Background(
|
||||||
|
@ -324,7 +344,7 @@ class _ConfirmTransactionViewState
|
||||||
).pop(),
|
).pop(),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"Confirm ${ref.watch(managerProvider.select((value) => value.coin.ticker.toUpperCase()))} transaction",
|
"Confirm $unit transaction",
|
||||||
style: STextStyles.desktopH3(context),
|
style: STextStyles.desktopH3(context),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
@ -341,7 +361,7 @@ class _ConfirmTransactionViewState
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"Send ${ref.watch(managerProvider.select((value) => value.coin)).ticker}",
|
"Send $unit",
|
||||||
style: STextStyles.pageTitleH1(context),
|
style: STextStyles.pageTitleH1(context),
|
||||||
),
|
),
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
|
@ -383,14 +403,12 @@ class _ConfirmTransactionViewState
|
||||||
style: STextStyles.smallMed12(context),
|
style: STextStyles.smallMed12(context),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"${Format.satoshiAmountToPrettyString(transactionInfo["recipientAmt"] as int, ref.watch(
|
"${(transactionInfo["recipientAmt"] as Amount).localizedStringAsFixed(
|
||||||
localeServiceChangeNotifierProvider
|
locale: ref.watch(
|
||||||
.select((value) => value.locale),
|
localeServiceChangeNotifierProvider
|
||||||
), ref.watch(
|
.select((value) => value.locale),
|
||||||
managerProvider.select((value) => value.coin),
|
),
|
||||||
))} ${ref.watch(
|
)} $unit",
|
||||||
managerProvider.select((value) => value.coin),
|
|
||||||
).ticker}",
|
|
||||||
style: STextStyles.itemSubtitle12(context),
|
style: STextStyles.itemSubtitle12(context),
|
||||||
textAlign: TextAlign.right,
|
textAlign: TextAlign.right,
|
||||||
),
|
),
|
||||||
|
@ -409,12 +427,18 @@ class _ConfirmTransactionViewState
|
||||||
style: STextStyles.smallMed12(context),
|
style: STextStyles.smallMed12(context),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"${Format.satoshiAmountToPrettyString(transactionInfo["fee"] as int, ref.watch(
|
"${(transactionInfo["fee"] as int).toAmountAsRaw(
|
||||||
localeServiceChangeNotifierProvider
|
fractionDigits: ref.watch(
|
||||||
.select((value) => value.locale),
|
managerProvider.select(
|
||||||
), ref.watch(
|
(value) => value.coin.decimals,
|
||||||
managerProvider.select((value) => value.coin),
|
),
|
||||||
))} ${ref.watch(
|
),
|
||||||
|
).localizedStringAsFixed(
|
||||||
|
locale: ref.watch(
|
||||||
|
localeServiceChangeNotifierProvider
|
||||||
|
.select((value) => value.locale),
|
||||||
|
),
|
||||||
|
)} ${ref.watch(
|
||||||
managerProvider.select((value) => value.coin),
|
managerProvider.select((value) => value.coin),
|
||||||
).ticker}",
|
).ticker}",
|
||||||
style: STextStyles.itemSubtitle12(context),
|
style: STextStyles.itemSubtitle12(context),
|
||||||
|
@ -492,10 +516,7 @@ class _ConfirmTransactionViewState
|
||||||
width: 16,
|
width: 16,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"Send ${ref.watch(
|
"Send $unit",
|
||||||
managerProvider
|
|
||||||
.select((value) => value.coin),
|
|
||||||
).ticker}",
|
|
||||||
style: STextStyles.desktopTextMedium(context),
|
style: STextStyles.desktopTextMedium(context),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
@ -519,7 +540,7 @@ class _ConfirmTransactionViewState
|
||||||
Builder(
|
Builder(
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
final amount =
|
final amount =
|
||||||
transactionInfo["recipientAmt"] as int;
|
transactionInfo["recipientAmt"] as Amount;
|
||||||
final coin = ref.watch(
|
final coin = ref.watch(
|
||||||
managerProvider.select(
|
managerProvider.select(
|
||||||
(value) => value.coin,
|
(value) => value.coin,
|
||||||
|
@ -536,30 +557,26 @@ class _ConfirmTransactionViewState
|
||||||
.getPrice(coin)
|
.getPrice(coin)
|
||||||
.item1;
|
.item1;
|
||||||
if (price > Decimal.zero) {
|
if (price > Decimal.zero) {
|
||||||
fiatAmount = Format.localizedStringAsFixed(
|
fiatAmount = (amount.decimal * price)
|
||||||
value: Format.satoshisToAmount(amount,
|
.toAmount(fractionDigits: 2)
|
||||||
coin: coin) *
|
.localizedStringAsFixed(
|
||||||
price,
|
locale: ref
|
||||||
locale: ref
|
.read(
|
||||||
.read(
|
localeServiceChangeNotifierProvider)
|
||||||
localeServiceChangeNotifierProvider)
|
.locale,
|
||||||
.locale,
|
);
|
||||||
decimalPlaces: 2,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Row(
|
return Row(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"${Format.satoshiAmountToPrettyString(
|
"${amount.localizedStringAsFixed(
|
||||||
amount,
|
locale: ref.watch(
|
||||||
ref.watch(
|
|
||||||
localeServiceChangeNotifierProvider
|
localeServiceChangeNotifierProvider
|
||||||
.select((value) => value.locale),
|
.select((value) => value.locale),
|
||||||
),
|
),
|
||||||
coin,
|
)} $unit",
|
||||||
)} ${coin.ticker}",
|
|
||||||
style: STextStyles
|
style: STextStyles
|
||||||
.desktopTextExtraExtraSmall(
|
.desktopTextExtraExtraSmall(
|
||||||
context)
|
context)
|
||||||
|
@ -661,19 +678,19 @@ class _ConfirmTransactionViewState
|
||||||
value.getManager(walletId)))
|
value.getManager(walletId)))
|
||||||
.coin;
|
.coin;
|
||||||
|
|
||||||
final fee = Format.satoshisToAmount(
|
final fee = (transactionInfo["fee"] as int)
|
||||||
transactionInfo["fee"] as int,
|
.toAmountAsRaw(
|
||||||
coin: coin,
|
fractionDigits: coin.decimals,
|
||||||
);
|
);
|
||||||
|
|
||||||
return Text(
|
return Text(
|
||||||
"${Format.localizedStringAsFixed(
|
"${fee.localizedStringAsFixed(
|
||||||
value: fee,
|
|
||||||
locale: ref.watch(
|
locale: ref.watch(
|
||||||
localeServiceChangeNotifierProvider
|
localeServiceChangeNotifierProvider
|
||||||
.select((value) => value.locale)),
|
.select(
|
||||||
decimalPlaces:
|
(value) => value.locale,
|
||||||
Constants.decimalPlacesForCoin(coin),
|
),
|
||||||
|
),
|
||||||
)} ${coin.ticker}",
|
)} ${coin.ticker}",
|
||||||
style:
|
style:
|
||||||
STextStyles.desktopTextExtraExtraSmall(
|
STextStyles.desktopTextExtraExtraSmall(
|
||||||
|
@ -840,17 +857,17 @@ class _ConfirmTransactionViewState
|
||||||
.select((value) => value.getManager(walletId)))
|
.select((value) => value.getManager(walletId)))
|
||||||
.coin;
|
.coin;
|
||||||
|
|
||||||
final fee = Format.satoshisToAmount(
|
final fee = (transactionInfo["fee"] as int).toAmountAsRaw(
|
||||||
transactionInfo["fee"] as int,
|
fractionDigits: coin.decimals,
|
||||||
coin: coin,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return Text(
|
return Text(
|
||||||
"${Format.localizedStringAsFixed(
|
"${fee.localizedStringAsFixed(
|
||||||
value: fee,
|
locale: ref.watch(
|
||||||
locale: ref.watch(localeServiceChangeNotifierProvider
|
localeServiceChangeNotifierProvider.select(
|
||||||
.select((value) => value.locale)),
|
(value) => value.locale,
|
||||||
decimalPlaces: Constants.decimalPlacesForCoin(coin),
|
),
|
||||||
|
),
|
||||||
)} ${coin.ticker}",
|
)} ${coin.ticker}",
|
||||||
style: STextStyles.itemSubtitle(context),
|
style: STextStyles.itemSubtitle(context),
|
||||||
);
|
);
|
||||||
|
@ -896,34 +913,37 @@ class _ConfirmTransactionViewState
|
||||||
.textConfirmTotalAmount,
|
.textConfirmTotalAmount,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
Builder(builder: (context) {
|
||||||
"${Format.satoshiAmountToPrettyString(
|
final coin = ref.watch(walletsChangeNotifierProvider
|
||||||
(transactionInfo["fee"] as int) +
|
.select((value) => value.getManager(walletId).coin));
|
||||||
(transactionInfo["recipientAmt"] as int),
|
final fee = (transactionInfo["fee"] as int)
|
||||||
ref.watch(
|
.toAmountAsRaw(fractionDigits: coin.decimals);
|
||||||
localeServiceChangeNotifierProvider
|
final locale = ref.watch(
|
||||||
.select((value) => value.locale),
|
localeServiceChangeNotifierProvider
|
||||||
),
|
.select((value) => value.locale),
|
||||||
ref.watch(
|
);
|
||||||
managerProvider.select((value) => value.coin),
|
final amount = transactionInfo["recipientAmt"] as Amount;
|
||||||
),
|
return Text(
|
||||||
)} ${ref.watch(
|
"${(amount + fee).localizedStringAsFixed(
|
||||||
managerProvider.select((value) => value.coin),
|
locale: locale,
|
||||||
).ticker}",
|
)} ${ref.watch(
|
||||||
style: isDesktop
|
managerProvider.select((value) => value.coin),
|
||||||
? STextStyles.desktopTextExtraExtraSmall(context)
|
).ticker}",
|
||||||
.copyWith(
|
style: isDesktop
|
||||||
color: Theme.of(context)
|
? STextStyles.desktopTextExtraExtraSmall(context)
|
||||||
.extension<StackColors>()!
|
.copyWith(
|
||||||
.textConfirmTotalAmount,
|
color: Theme.of(context)
|
||||||
)
|
.extension<StackColors>()!
|
||||||
: STextStyles.itemSubtitle12(context).copyWith(
|
.textConfirmTotalAmount,
|
||||||
color: Theme.of(context)
|
)
|
||||||
.extension<StackColors>()!
|
: STextStyles.itemSubtitle12(context).copyWith(
|
||||||
.textConfirmTotalAmount,
|
color: Theme.of(context)
|
||||||
),
|
.extension<StackColors>()!
|
||||||
textAlign: TextAlign.right,
|
.textConfirmTotalAmount,
|
||||||
),
|
),
|
||||||
|
textAlign: TextAlign.right,
|
||||||
|
);
|
||||||
|
}),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -25,13 +25,13 @@ import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
|
||||||
import 'package:stackwallet/services/coins/manager.dart';
|
import 'package:stackwallet/services/coins/manager.dart';
|
||||||
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
|
import 'package:stackwallet/services/mixins/paynym_wallet_interface.dart';
|
||||||
import 'package:stackwallet/utilities/address_utils.dart';
|
import 'package:stackwallet/utilities/address_utils.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/assets.dart';
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/barcode_scanner_interface.dart';
|
import 'package:stackwallet/utilities/barcode_scanner_interface.dart';
|
||||||
import 'package:stackwallet/utilities/clipboard_interface.dart';
|
import 'package:stackwallet/utilities/clipboard_interface.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart';
|
import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/logger.dart';
|
import 'package:stackwallet/utilities/logger.dart';
|
||||||
import 'package:stackwallet/utilities/prefs.dart';
|
import 'package:stackwallet/utilities/prefs.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
@ -94,8 +94,8 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
final _cryptoFocus = FocusNode();
|
final _cryptoFocus = FocusNode();
|
||||||
final _baseFocus = FocusNode();
|
final _baseFocus = FocusNode();
|
||||||
|
|
||||||
Decimal? _amountToSend;
|
Amount? _amountToSend;
|
||||||
Decimal? _cachedAmountToSend;
|
Amount? _cachedAmountToSend;
|
||||||
String? _address;
|
String? _address;
|
||||||
|
|
||||||
String? _privateBalanceString;
|
String? _privateBalanceString;
|
||||||
|
@ -106,7 +106,7 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
bool _cryptoAmountChangeLock = false;
|
bool _cryptoAmountChangeLock = false;
|
||||||
late VoidCallback onCryptoAmountChanged;
|
late VoidCallback onCryptoAmountChanged;
|
||||||
|
|
||||||
Decimal? _cachedBalance;
|
Amount? _cachedBalance;
|
||||||
|
|
||||||
Set<UTXO> selectedUTXOs = {};
|
Set<UTXO> selectedUTXOs = {};
|
||||||
|
|
||||||
|
@ -118,7 +118,9 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
cryptoAmount != ",") {
|
cryptoAmount != ",") {
|
||||||
_amountToSend = cryptoAmount.contains(",")
|
_amountToSend = cryptoAmount.contains(",")
|
||||||
? Decimal.parse(cryptoAmount.replaceFirst(",", "."))
|
? Decimal.parse(cryptoAmount.replaceFirst(",", "."))
|
||||||
: Decimal.parse(cryptoAmount);
|
.toAmount(fractionDigits: coin.decimals)
|
||||||
|
: Decimal.parse(cryptoAmount)
|
||||||
|
.toAmount(fractionDigits: coin.decimals);
|
||||||
if (_cachedAmountToSend != null &&
|
if (_cachedAmountToSend != null &&
|
||||||
_cachedAmountToSend == _amountToSend) {
|
_cachedAmountToSend == _amountToSend) {
|
||||||
return;
|
return;
|
||||||
|
@ -131,13 +133,13 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
ref.read(priceAnd24hChangeNotifierProvider).getPrice(coin).item1;
|
ref.read(priceAnd24hChangeNotifierProvider).getPrice(coin).item1;
|
||||||
|
|
||||||
if (price > Decimal.zero) {
|
if (price > Decimal.zero) {
|
||||||
final String fiatAmountString = Format.localizedStringAsFixed(
|
baseAmountController.text = (_amountToSend!.decimal * price)
|
||||||
value: _amountToSend! * price,
|
.toAmount(
|
||||||
locale: ref.read(localeServiceChangeNotifierProvider).locale,
|
fractionDigits: 2,
|
||||||
decimalPlaces: 2,
|
)
|
||||||
);
|
.localizedStringAsFixed(
|
||||||
|
locale: ref.read(localeServiceChangeNotifierProvider).locale,
|
||||||
baseAmountController.text = fiatAmountString;
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
_amountToSend = null;
|
_amountToSend = null;
|
||||||
|
@ -152,11 +154,8 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
setState(() {
|
setState(() {
|
||||||
_calculateFeesFuture = calculateFees(
|
_calculateFeesFuture = calculateFees(
|
||||||
_amountToSend == null
|
_amountToSend == null
|
||||||
? 0
|
? 0.toAmountAsRaw(fractionDigits: coin.decimals)
|
||||||
: Format.decimalAmountToSatoshis(
|
: _amountToSend!,
|
||||||
_amountToSend!,
|
|
||||||
coin,
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -176,24 +175,19 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
setState(() {
|
setState(() {
|
||||||
_calculateFeesFuture = calculateFees(
|
_calculateFeesFuture = calculateFees(
|
||||||
_amountToSend == null
|
_amountToSend == null
|
||||||
? 0
|
? 0.toAmountAsRaw(fractionDigits: coin.decimals)
|
||||||
: Format.decimalAmountToSatoshis(
|
: _amountToSend!,
|
||||||
_amountToSend!,
|
|
||||||
coin,
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
int _currentFee = 0;
|
late Amount _currentFee;
|
||||||
|
|
||||||
void _setCurrentFee(String fee, bool shouldSetState) {
|
void _setCurrentFee(String fee, bool shouldSetState) {
|
||||||
final value = Format.decimalAmountToSatoshis(
|
final value = Decimal.parse(fee).toAmount(fractionDigits: coin.decimals);
|
||||||
Decimal.parse(fee),
|
|
||||||
coin,
|
|
||||||
);
|
|
||||||
if (shouldSetState) {
|
if (shouldSetState) {
|
||||||
setState(() => _currentFee = value);
|
setState(() => _currentFee = value);
|
||||||
} else {
|
} else {
|
||||||
|
@ -211,28 +205,28 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _updatePreviewButtonState(String? address, Decimal? amount) {
|
void _updatePreviewButtonState(String? address, Amount? amount) {
|
||||||
if (isPaynymSend) {
|
if (isPaynymSend) {
|
||||||
ref.read(previewTxButtonStateProvider.state).state =
|
ref.read(previewTxButtonStateProvider.state).state =
|
||||||
(amount != null && amount > Decimal.zero);
|
(amount != null && amount > Amount.zero);
|
||||||
} else {
|
} else {
|
||||||
final isValidAddress = ref
|
final isValidAddress = ref
|
||||||
.read(walletsChangeNotifierProvider)
|
.read(walletsChangeNotifierProvider)
|
||||||
.getManager(walletId)
|
.getManager(walletId)
|
||||||
.validateAddress(address ?? "");
|
.validateAddress(address ?? "");
|
||||||
ref.read(previewTxButtonStateProvider.state).state =
|
ref.read(previewTxButtonStateProvider.state).state =
|
||||||
(isValidAddress && amount != null && amount > Decimal.zero);
|
(isValidAddress && amount != null && amount > Amount.zero);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
late Future<String> _calculateFeesFuture;
|
late Future<String> _calculateFeesFuture;
|
||||||
|
|
||||||
Map<int, String> cachedFees = {};
|
Map<Amount, String> cachedFees = {};
|
||||||
Map<int, String> cachedFiroPrivateFees = {};
|
Map<Amount, String> cachedFiroPrivateFees = {};
|
||||||
Map<int, String> cachedFiroPublicFees = {};
|
Map<Amount, String> cachedFiroPublicFees = {};
|
||||||
|
|
||||||
Future<String> calculateFees(int amount) async {
|
Future<String> calculateFees(Amount amount) async {
|
||||||
if (amount <= 0) {
|
if (amount <= Amount.zero) {
|
||||||
return "0";
|
return "0";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -269,7 +263,8 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
int fee;
|
final String locale = ref.read(localeServiceChangeNotifierProvider).locale;
|
||||||
|
Amount fee;
|
||||||
if (coin == Coin.monero) {
|
if (coin == Coin.monero) {
|
||||||
MoneroTransactionPriority specialMoneroId;
|
MoneroTransactionPriority specialMoneroId;
|
||||||
switch (ref.read(feeRateTypeStateProvider.state).state) {
|
switch (ref.read(feeRateTypeStateProvider.state).state) {
|
||||||
|
@ -285,8 +280,7 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fee = await manager.estimateFeeFor(amount, specialMoneroId.raw!);
|
fee = await manager.estimateFeeFor(amount, specialMoneroId.raw!);
|
||||||
cachedFees[amount] = Format.satoshisToAmount(fee, coin: coin)
|
cachedFees[amount] = fee.localizedStringAsFixed(locale: locale);
|
||||||
.toStringAsFixed(Constants.decimalPlacesForCoin(coin));
|
|
||||||
|
|
||||||
return cachedFees[amount]!;
|
return cachedFees[amount]!;
|
||||||
} else if (coin == Coin.firo || coin == Coin.firoTestNet) {
|
} else if (coin == Coin.firo || coin == Coin.firoTestNet) {
|
||||||
|
@ -294,23 +288,22 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
"Private") {
|
"Private") {
|
||||||
fee = await manager.estimateFeeFor(amount, feeRate);
|
fee = await manager.estimateFeeFor(amount, feeRate);
|
||||||
|
|
||||||
cachedFiroPrivateFees[amount] = Format.satoshisToAmount(fee, coin: coin)
|
cachedFiroPrivateFees[amount] =
|
||||||
.toStringAsFixed(Constants.decimalPlacesForCoin(coin));
|
fee.localizedStringAsFixed(locale: locale);
|
||||||
|
|
||||||
return cachedFiroPrivateFees[amount]!;
|
return cachedFiroPrivateFees[amount]!;
|
||||||
} else {
|
} else {
|
||||||
fee = await (manager.wallet as FiroWallet)
|
fee = await (manager.wallet as FiroWallet)
|
||||||
.estimateFeeForPublic(amount, feeRate);
|
.estimateFeeForPublic(amount, feeRate);
|
||||||
|
|
||||||
cachedFiroPublicFees[amount] = Format.satoshisToAmount(fee, coin: coin)
|
cachedFiroPublicFees[amount] =
|
||||||
.toStringAsFixed(Constants.decimalPlacesForCoin(coin));
|
fee.localizedStringAsFixed(locale: locale);
|
||||||
|
|
||||||
return cachedFiroPublicFees[amount]!;
|
return cachedFiroPublicFees[amount]!;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fee = await manager.estimateFeeFor(amount, feeRate);
|
fee = await manager.estimateFeeFor(amount, feeRate);
|
||||||
cachedFees[amount] = Format.satoshisToAmount(fee, coin: coin)
|
cachedFees[amount] = fee.localizedStringAsFixed(locale: locale);
|
||||||
.toStringAsFixed(Constants.decimalPlacesForCoin(coin));
|
|
||||||
|
|
||||||
return cachedFees[amount]!;
|
return cachedFees[amount]!;
|
||||||
}
|
}
|
||||||
|
@ -321,7 +314,7 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
final wallet = ref.read(provider).wallet as FiroWallet?;
|
final wallet = ref.read(provider).wallet as FiroWallet?;
|
||||||
|
|
||||||
if (wallet != null) {
|
if (wallet != null) {
|
||||||
Decimal? balance;
|
Amount? balance;
|
||||||
if (ref.read(publicPrivateBalanceStateProvider.state).state ==
|
if (ref.read(publicPrivateBalanceStateProvider.state).state ==
|
||||||
"Private") {
|
"Private") {
|
||||||
balance = wallet.availablePrivateBalance();
|
balance = wallet.availablePrivateBalance();
|
||||||
|
@ -329,8 +322,9 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
balance = wallet.availablePublicBalance();
|
balance = wallet.availablePublicBalance();
|
||||||
}
|
}
|
||||||
|
|
||||||
return Format.localizedStringAsFixed(
|
return balance.localizedStringAsFixed(
|
||||||
value: balance, locale: locale, decimalPlaces: 8);
|
locale: ref.read(localeServiceChangeNotifierProvider).locale,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -345,26 +339,26 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
final manager =
|
final manager =
|
||||||
ref.read(walletsChangeNotifierProvider).getManager(walletId);
|
ref.read(walletsChangeNotifierProvider).getManager(walletId);
|
||||||
|
|
||||||
final amount = Format.decimalAmountToSatoshis(_amountToSend!, coin);
|
final Amount amount = _amountToSend!;
|
||||||
int availableBalance;
|
final Amount availableBalance;
|
||||||
if ((coin == Coin.firo || coin == Coin.firoTestNet)) {
|
if ((coin == Coin.firo || coin == Coin.firoTestNet)) {
|
||||||
if (ref.read(publicPrivateBalanceStateProvider.state).state ==
|
if (ref.read(publicPrivateBalanceStateProvider.state).state ==
|
||||||
"Private") {
|
"Private") {
|
||||||
availableBalance = Format.decimalAmountToSatoshis(
|
availableBalance =
|
||||||
(manager.wallet as FiroWallet).availablePrivateBalance(), coin);
|
(manager.wallet as FiroWallet).availablePrivateBalance();
|
||||||
} else {
|
} else {
|
||||||
availableBalance = Format.decimalAmountToSatoshis(
|
availableBalance =
|
||||||
(manager.wallet as FiroWallet).availablePublicBalance(), coin);
|
(manager.wallet as FiroWallet).availablePublicBalance();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
availableBalance =
|
availableBalance = manager.balance.spendable;
|
||||||
Format.decimalAmountToSatoshis(manager.balance.getSpendable(), coin);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final coinControlEnabled =
|
final coinControlEnabled =
|
||||||
ref.read(prefsChangeNotifierProvider).enableCoinControl;
|
ref.read(prefsChangeNotifierProvider).enableCoinControl;
|
||||||
|
|
||||||
if (!(manager.hasCoinControlSupport && coinControlEnabled) ||
|
if (coin != Coin.ethereum &&
|
||||||
|
!(manager.hasCoinControlSupport && coinControlEnabled) ||
|
||||||
(manager.hasCoinControlSupport &&
|
(manager.hasCoinControlSupport &&
|
||||||
coinControlEnabled &&
|
coinControlEnabled &&
|
||||||
selectedUTXOs.isEmpty)) {
|
selectedUTXOs.isEmpty)) {
|
||||||
|
@ -461,7 +455,7 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
final feeRate = ref.read(feeRateTypeStateProvider);
|
final feeRate = ref.read(feeRateTypeStateProvider);
|
||||||
txDataFuture = wallet.preparePaymentCodeSend(
|
txDataFuture = wallet.preparePaymentCodeSend(
|
||||||
paymentCode: paymentCode,
|
paymentCode: paymentCode,
|
||||||
satoshiAmount: amount,
|
amount: amount,
|
||||||
args: {
|
args: {
|
||||||
"feeRate": feeRate,
|
"feeRate": feeRate,
|
||||||
"UTXOs": (manager.hasCoinControlSupport &&
|
"UTXOs": (manager.hasCoinControlSupport &&
|
||||||
|
@ -476,13 +470,13 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
"Private") {
|
"Private") {
|
||||||
txDataFuture = (manager.wallet as FiroWallet).prepareSendPublic(
|
txDataFuture = (manager.wallet as FiroWallet).prepareSendPublic(
|
||||||
address: _address!,
|
address: _address!,
|
||||||
satoshiAmount: amount,
|
amount: amount,
|
||||||
args: {"feeRate": ref.read(feeRateTypeStateProvider)},
|
args: {"feeRate": ref.read(feeRateTypeStateProvider)},
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
txDataFuture = manager.prepareSend(
|
txDataFuture = manager.prepareSend(
|
||||||
address: _address!,
|
address: _address!,
|
||||||
satoshiAmount: amount,
|
amount: amount,
|
||||||
args: {
|
args: {
|
||||||
"feeRate": ref.read(feeRateTypeStateProvider),
|
"feeRate": ref.read(feeRateTypeStateProvider),
|
||||||
"UTXOs": (manager.hasCoinControlSupport &&
|
"UTXOs": (manager.hasCoinControlSupport &&
|
||||||
|
@ -564,12 +558,14 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
|
coin = widget.coin;
|
||||||
ref.refresh(feeSheetSessionCacheProvider);
|
ref.refresh(feeSheetSessionCacheProvider);
|
||||||
|
_currentFee = 0.toAmountAsRaw(fractionDigits: coin.decimals);
|
||||||
|
|
||||||
_calculateFeesFuture = calculateFees(0);
|
_calculateFeesFuture =
|
||||||
|
calculateFees(0.toAmountAsRaw(fractionDigits: coin.decimals));
|
||||||
_data = widget.autoFillData;
|
_data = widget.autoFillData;
|
||||||
walletId = widget.walletId;
|
walletId = widget.walletId;
|
||||||
coin = widget.coin;
|
|
||||||
clipboard = widget.clipboard;
|
clipboard = widget.clipboard;
|
||||||
scanner = widget.barcodeScanner;
|
scanner = widget.barcodeScanner;
|
||||||
|
|
||||||
|
@ -675,12 +671,14 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
ref.listen(publicPrivateBalanceStateProvider, (previous, next) {
|
ref.listen(publicPrivateBalanceStateProvider, (previous, next) {
|
||||||
if (_amountToSend == null) {
|
if (_amountToSend == null) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_calculateFeesFuture = calculateFees(0);
|
_calculateFeesFuture =
|
||||||
|
calculateFees(0.toAmountAsRaw(fractionDigits: coin.decimals));
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setState(() {
|
setState(() {
|
||||||
_calculateFeesFuture = calculateFees(
|
_calculateFeesFuture = calculateFees(
|
||||||
Format.decimalAmountToSatoshis(_amountToSend!, coin));
|
_amountToSend!,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -801,7 +799,7 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
coin != Coin.firoTestNet)
|
coin != Coin.firoTestNet)
|
||||||
? Future(() => ref.watch(
|
? Future(() => ref.watch(
|
||||||
provider.select((value) =>
|
provider.select((value) =>
|
||||||
value.balance.getSpendable())))
|
value.balance.spendable)))
|
||||||
: ref.watch(publicPrivateBalanceStateProvider.state).state ==
|
: ref.watch(publicPrivateBalanceStateProvider.state).state ==
|
||||||
"Private"
|
"Private"
|
||||||
? Future(() => (ref
|
? Future(() => (ref
|
||||||
|
@ -813,7 +811,7 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
.wallet as FiroWallet)
|
.wallet as FiroWallet)
|
||||||
.availablePublicBalance()),
|
.availablePublicBalance()),
|
||||||
builder:
|
builder:
|
||||||
(_, AsyncSnapshot<Decimal> snapshot) {
|
(_, AsyncSnapshot<Amount> snapshot) {
|
||||||
if (snapshot.connectionState ==
|
if (snapshot.connectionState ==
|
||||||
ConnectionState.done &&
|
ConnectionState.done &&
|
||||||
snapshot.hasData) {
|
snapshot.hasData) {
|
||||||
|
@ -824,10 +822,9 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
cryptoAmountController.text =
|
cryptoAmountController.text =
|
||||||
_cachedBalance!.toStringAsFixed(
|
_cachedBalance!
|
||||||
Constants
|
.localizedStringAsFixed(
|
||||||
.decimalPlacesForCoin(
|
locale: locale);
|
||||||
coin));
|
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
color: Colors.transparent,
|
color: Colors.transparent,
|
||||||
|
@ -836,10 +833,8 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
CrossAxisAlignment.end,
|
CrossAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"${Format.localizedStringAsFixed(
|
"${_cachedBalance!.localizedStringAsFixed(
|
||||||
value: _cachedBalance!,
|
|
||||||
locale: locale,
|
locale: locale,
|
||||||
decimalPlaces: 8,
|
|
||||||
)} ${coin.ticker}",
|
)} ${coin.ticker}",
|
||||||
style:
|
style:
|
||||||
STextStyles.titleBold12(
|
STextStyles.titleBold12(
|
||||||
|
@ -850,17 +845,11 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
textAlign: TextAlign.right,
|
textAlign: TextAlign.right,
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"${Format.localizedStringAsFixed(
|
"${(_cachedBalance!.decimal * ref.watch(priceAnd24hChangeNotifierProvider.select((value) => value.getPrice(coin).item1))).toAmount(
|
||||||
value: _cachedBalance! *
|
fractionDigits: 2,
|
||||||
ref.watch(priceAnd24hChangeNotifierProvider
|
).localizedStringAsFixed(
|
||||||
.select((value) =>
|
locale: locale,
|
||||||
value
|
)} ${ref.watch(prefsChangeNotifierProvider.select((value) => value.currency))}",
|
||||||
.getPrice(
|
|
||||||
coin)
|
|
||||||
.item1)),
|
|
||||||
locale: locale,
|
|
||||||
decimalPlaces: 2,
|
|
||||||
)} ${ref.watch(prefsChangeNotifierProvider.select((value) => value.currency))}",
|
|
||||||
style: STextStyles.subtitle(
|
style: STextStyles.subtitle(
|
||||||
context)
|
context)
|
||||||
.copyWith(
|
.copyWith(
|
||||||
|
@ -1133,23 +1122,19 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
// autofill amount field
|
// autofill amount field
|
||||||
if (results["amount"] !=
|
if (results["amount"] !=
|
||||||
null) {
|
null) {
|
||||||
final amount =
|
final Amount amount =
|
||||||
Decimal.parse(results[
|
Decimal.parse(results[
|
||||||
"amount"]!);
|
"amount"]!)
|
||||||
|
.toAmount(
|
||||||
|
fractionDigits:
|
||||||
|
coin.decimals,
|
||||||
|
);
|
||||||
cryptoAmountController
|
cryptoAmountController
|
||||||
.text =
|
.text =
|
||||||
Format
|
amount
|
||||||
.localizedStringAsFixed(
|
.localizedStringAsFixed(
|
||||||
value: amount,
|
locale: locale,
|
||||||
locale: ref
|
|
||||||
.read(
|
|
||||||
localeServiceChangeNotifierProvider)
|
|
||||||
.locale,
|
|
||||||
decimalPlaces: Constants
|
|
||||||
.decimalPlacesForCoin(
|
|
||||||
coin),
|
|
||||||
);
|
);
|
||||||
amount.toString();
|
|
||||||
_amountToSend = amount;
|
_amountToSend = amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1395,43 +1380,42 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
style: STextStyles.smallMed12(context),
|
style: STextStyles.smallMed12(context),
|
||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
),
|
),
|
||||||
CustomTextButton(
|
if (coin != Coin.ethereum)
|
||||||
text: "Send all ${coin.ticker}",
|
CustomTextButton(
|
||||||
onTap: () async {
|
text: "Send all ${coin.ticker}",
|
||||||
if (coin == Coin.firo ||
|
onTap: () async {
|
||||||
coin == Coin.firoTestNet) {
|
if (coin == Coin.firo ||
|
||||||
final firoWallet =
|
coin == Coin.firoTestNet) {
|
||||||
ref.read(provider).wallet as FiroWallet;
|
final firoWallet = ref
|
||||||
if (ref
|
.read(provider)
|
||||||
.read(
|
.wallet as FiroWallet;
|
||||||
publicPrivateBalanceStateProvider
|
if (ref
|
||||||
.state)
|
.read(
|
||||||
.state ==
|
publicPrivateBalanceStateProvider
|
||||||
"Private") {
|
.state)
|
||||||
cryptoAmountController.text = firoWallet
|
.state ==
|
||||||
.availablePrivateBalance()
|
"Private") {
|
||||||
.toStringAsFixed(
|
cryptoAmountController.text = firoWallet
|
||||||
Constants.decimalPlacesForCoin(
|
.availablePrivateBalance()
|
||||||
coin));
|
.localizedStringAsFixed(
|
||||||
|
locale: locale);
|
||||||
|
} else {
|
||||||
|
cryptoAmountController.text = firoWallet
|
||||||
|
.availablePublicBalance()
|
||||||
|
.localizedStringAsFixed(
|
||||||
|
locale: locale);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
cryptoAmountController.text = firoWallet
|
cryptoAmountController.text = ref
|
||||||
.availablePublicBalance()
|
.read(provider)
|
||||||
.toStringAsFixed(
|
.balance
|
||||||
Constants.decimalPlacesForCoin(
|
.spendable
|
||||||
coin));
|
.localizedStringAsFixed(
|
||||||
|
locale: locale);
|
||||||
}
|
}
|
||||||
} else {
|
_cryptoAmountChanged();
|
||||||
cryptoAmountController.text = (ref
|
},
|
||||||
.read(provider)
|
),
|
||||||
.balance
|
|
||||||
.getSpendable())
|
|
||||||
.toStringAsFixed(
|
|
||||||
Constants.decimalPlacesForCoin(
|
|
||||||
coin));
|
|
||||||
}
|
|
||||||
_cryptoAmountChanged();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
|
@ -1528,26 +1512,33 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
if (baseAmountString.isNotEmpty &&
|
if (baseAmountString.isNotEmpty &&
|
||||||
baseAmountString != "." &&
|
baseAmountString != "." &&
|
||||||
baseAmountString != ",") {
|
baseAmountString != ",") {
|
||||||
final baseAmount =
|
final Amount baseAmount =
|
||||||
baseAmountString.contains(",")
|
baseAmountString.contains(",")
|
||||||
? Decimal.parse(baseAmountString
|
? Decimal.parse(baseAmountString
|
||||||
.replaceFirst(",", "."))
|
.replaceFirst(",", "."))
|
||||||
: Decimal.parse(baseAmountString);
|
.toAmount(fractionDigits: 2)
|
||||||
|
: Decimal.parse(baseAmountString)
|
||||||
|
.toAmount(fractionDigits: 2);
|
||||||
|
|
||||||
var _price = ref
|
final Decimal _price = ref
|
||||||
.read(priceAnd24hChangeNotifierProvider)
|
.read(priceAnd24hChangeNotifierProvider)
|
||||||
.getPrice(coin)
|
.getPrice(coin)
|
||||||
.item1;
|
.item1;
|
||||||
|
|
||||||
if (_price == Decimal.zero) {
|
if (_price == Decimal.zero) {
|
||||||
_amountToSend = Decimal.zero;
|
_amountToSend = 0.toAmountAsRaw(
|
||||||
|
fractionDigits: coin.decimals);
|
||||||
} else {
|
} else {
|
||||||
_amountToSend = baseAmount <= Decimal.zero
|
_amountToSend = baseAmount <= Amount.zero
|
||||||
? Decimal.zero
|
? 0.toAmountAsRaw(
|
||||||
: (baseAmount / _price).toDecimal(
|
fractionDigits: coin.decimals)
|
||||||
scaleOnInfinitePrecision:
|
: (baseAmount.decimal / _price)
|
||||||
Constants.decimalPlacesForCoin(
|
.toDecimal(
|
||||||
coin));
|
scaleOnInfinitePrecision:
|
||||||
|
coin.decimals,
|
||||||
|
)
|
||||||
|
.toAmount(
|
||||||
|
fractionDigits: coin.decimals);
|
||||||
}
|
}
|
||||||
if (_cachedAmountToSend != null &&
|
if (_cachedAmountToSend != null &&
|
||||||
_cachedAmountToSend == _amountToSend) {
|
_cachedAmountToSend == _amountToSend) {
|
||||||
|
@ -1559,21 +1550,19 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
level: LogLevel.Info);
|
level: LogLevel.Info);
|
||||||
|
|
||||||
final amountString =
|
final amountString =
|
||||||
Format.localizedStringAsFixed(
|
_amountToSend!.localizedStringAsFixed(
|
||||||
value: _amountToSend!,
|
|
||||||
locale: ref
|
locale: ref
|
||||||
.read(
|
.read(
|
||||||
localeServiceChangeNotifierProvider)
|
localeServiceChangeNotifierProvider)
|
||||||
.locale,
|
.locale,
|
||||||
decimalPlaces:
|
|
||||||
Constants.decimalPlacesForCoin(coin),
|
|
||||||
);
|
);
|
||||||
|
|
||||||
_cryptoAmountChangeLock = true;
|
_cryptoAmountChangeLock = true;
|
||||||
cryptoAmountController.text = amountString;
|
cryptoAmountController.text = amountString;
|
||||||
_cryptoAmountChangeLock = false;
|
_cryptoAmountChangeLock = false;
|
||||||
} else {
|
} else {
|
||||||
_amountToSend = Decimal.zero;
|
_amountToSend = 0.toAmountAsRaw(
|
||||||
|
fractionDigits: coin.decimals);
|
||||||
_cryptoAmountChangeLock = true;
|
_cryptoAmountChangeLock = true;
|
||||||
cryptoAmountController.text = "";
|
cryptoAmountController.text = "";
|
||||||
_cryptoAmountChangeLock = false;
|
_cryptoAmountChangeLock = false;
|
||||||
|
@ -1651,13 +1640,9 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
.balance
|
.balance
|
||||||
.spendable;
|
.spendable;
|
||||||
|
|
||||||
int? amount;
|
Amount? amount;
|
||||||
if (_amountToSend != null) {
|
if (_amountToSend != null) {
|
||||||
amount =
|
amount = _amountToSend!;
|
||||||
Format.decimalAmountToSatoshis(
|
|
||||||
_amountToSend!,
|
|
||||||
coin,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (spendable == amount) {
|
if (spendable == amount) {
|
||||||
// this is now a send all
|
// this is now a send all
|
||||||
|
@ -1800,10 +1785,13 @@ class _SendViewState extends ConsumerState<SendView> {
|
||||||
builder: (_) =>
|
builder: (_) =>
|
||||||
TransactionFeeSelectionSheet(
|
TransactionFeeSelectionSheet(
|
||||||
walletId: walletId,
|
walletId: walletId,
|
||||||
amount: Decimal.tryParse(
|
amount: (Decimal.tryParse(
|
||||||
cryptoAmountController
|
cryptoAmountController
|
||||||
.text) ??
|
.text) ??
|
||||||
Decimal.zero,
|
Decimal.zero)
|
||||||
|
.toAmount(
|
||||||
|
fractionDigits: coin.decimals,
|
||||||
|
),
|
||||||
updateChosen: (String fee) {
|
updateChosen: (String fee) {
|
||||||
_setCurrentFee(
|
_setCurrentFee(
|
||||||
fee,
|
fee,
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import 'package:decimal/decimal.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:stackwallet/providers/providers.dart';
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
|
@ -8,7 +7,6 @@ import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/widgets/animated_text.dart';
|
|
||||||
|
|
||||||
class FiroBalanceSelectionSheet extends ConsumerStatefulWidget {
|
class FiroBalanceSelectionSheet extends ConsumerStatefulWidget {
|
||||||
const FiroBalanceSelectionSheet({
|
const FiroBalanceSelectionSheet({
|
||||||
|
@ -153,29 +151,18 @@ class _FiroBalanceSelectionSheetState
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
width: 2,
|
width: 2,
|
||||||
),
|
),
|
||||||
FutureBuilder(
|
Text(
|
||||||
// TODO redo this widget now that its not actually a future
|
"${firoWallet.availablePrivateBalance().localizedStringAsFixed(
|
||||||
future: Future(
|
locale: ref.watch(
|
||||||
() => firoWallet.availablePrivateBalance()),
|
localeServiceChangeNotifierProvider
|
||||||
builder:
|
.select(
|
||||||
(context, AsyncSnapshot<Decimal> snapshot) {
|
(value) => value.locale,
|
||||||
if (snapshot.connectionState ==
|
),
|
||||||
ConnectionState.done &&
|
),
|
||||||
snapshot.hasData) {
|
)} ${manager.coin.ticker}",
|
||||||
return Text(
|
style: STextStyles.itemSubtitle(context),
|
||||||
"${snapshot.data!.toStringAsFixed(8)} ${manager.coin.ticker}",
|
textAlign: TextAlign.left,
|
||||||
style: STextStyles.itemSubtitle(context),
|
),
|
||||||
textAlign: TextAlign.left,
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
return AnimatedText(
|
|
||||||
stringsToLoopThrough:
|
|
||||||
stringsToLoopThrough,
|
|
||||||
style: STextStyles.itemSubtitle(context),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
// ],
|
// ],
|
||||||
|
@ -245,31 +232,18 @@ class _FiroBalanceSelectionSheetState
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
width: 2,
|
width: 2,
|
||||||
),
|
),
|
||||||
FutureBuilder(
|
Text(
|
||||||
// TODO redo this widget now that its not actually a future
|
"${firoWallet.availablePublicBalance().localizedStringAsFixed(
|
||||||
future: Future(
|
locale: ref.watch(
|
||||||
() => firoWallet.availablePublicBalance()),
|
localeServiceChangeNotifierProvider
|
||||||
builder:
|
.select(
|
||||||
(context, AsyncSnapshot<Decimal> snapshot) {
|
(value) => value.locale,
|
||||||
if (snapshot.connectionState ==
|
),
|
||||||
ConnectionState.done &&
|
),
|
||||||
snapshot.hasData) {
|
)} ${manager.coin.ticker}",
|
||||||
return Text(
|
style: STextStyles.itemSubtitle(context),
|
||||||
"${snapshot.data!.toStringAsFixed(8)} ${manager.coin.ticker}",
|
textAlign: TextAlign.left,
|
||||||
style: STextStyles.itemSubtitle(context),
|
),
|
||||||
textAlign: TextAlign.left,
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
return AnimatedText(
|
|
||||||
stringsToLoopThrough:
|
|
||||||
stringsToLoopThrough,
|
|
||||||
style: STextStyles.itemSubtitle(context),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
)
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -3,14 +3,16 @@ import 'package:decimal/decimal.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:stackwallet/models/paymint/fee_object_model.dart';
|
import 'package:stackwallet/models/paymint/fee_object_model.dart';
|
||||||
|
import 'package:stackwallet/pages/token_view/token_view.dart';
|
||||||
import 'package:stackwallet/providers/providers.dart';
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
import 'package:stackwallet/providers/ui/fee_rate_type_state_provider.dart';
|
import 'package:stackwallet/providers/ui/fee_rate_type_state_provider.dart';
|
||||||
import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart';
|
import 'package:stackwallet/providers/wallet/public_private_balance_state_provider.dart';
|
||||||
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
|
import 'package:stackwallet/services/coins/firo/firo_wallet.dart';
|
||||||
|
import 'package:stackwallet/utilities/amount/amount.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart';
|
import 'package:stackwallet/utilities/enums/fee_rate_type_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
import 'package:stackwallet/utilities/logger.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/widgets/animated_text.dart';
|
import 'package:stackwallet/widgets/animated_text.dart';
|
||||||
|
@ -21,9 +23,9 @@ final feeSheetSessionCacheProvider =
|
||||||
});
|
});
|
||||||
|
|
||||||
class FeeSheetSessionCache extends ChangeNotifier {
|
class FeeSheetSessionCache extends ChangeNotifier {
|
||||||
final Map<int, Decimal> fast = {};
|
final Map<Amount, Amount> fast = {};
|
||||||
final Map<int, Decimal> average = {};
|
final Map<Amount, Amount> average = {};
|
||||||
final Map<int, Decimal> slow = {};
|
final Map<Amount, Amount> slow = {};
|
||||||
|
|
||||||
void notify() => notifyListeners();
|
void notify() => notifyListeners();
|
||||||
}
|
}
|
||||||
|
@ -34,11 +36,13 @@ class TransactionFeeSelectionSheet extends ConsumerStatefulWidget {
|
||||||
required this.walletId,
|
required this.walletId,
|
||||||
required this.amount,
|
required this.amount,
|
||||||
required this.updateChosen,
|
required this.updateChosen,
|
||||||
|
this.isToken = false,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
final String walletId;
|
final String walletId;
|
||||||
final Decimal amount;
|
final Amount amount;
|
||||||
final Function updateChosen;
|
final Function updateChosen;
|
||||||
|
final bool isToken;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ConsumerState<TransactionFeeSelectionSheet> createState() =>
|
ConsumerState<TransactionFeeSelectionSheet> createState() =>
|
||||||
|
@ -48,7 +52,7 @@ class TransactionFeeSelectionSheet extends ConsumerStatefulWidget {
|
||||||
class _TransactionFeeSelectionSheetState
|
class _TransactionFeeSelectionSheetState
|
||||||
extends ConsumerState<TransactionFeeSelectionSheet> {
|
extends ConsumerState<TransactionFeeSelectionSheet> {
|
||||||
late final String walletId;
|
late final String walletId;
|
||||||
late final Decimal amount;
|
late final Amount amount;
|
||||||
|
|
||||||
FeeObject? feeObject;
|
FeeObject? feeObject;
|
||||||
|
|
||||||
|
@ -59,8 +63,8 @@ class _TransactionFeeSelectionSheetState
|
||||||
"Calculating...",
|
"Calculating...",
|
||||||
];
|
];
|
||||||
|
|
||||||
Future<Decimal> feeFor({
|
Future<Amount> feeFor({
|
||||||
required int amount,
|
required Amount amount,
|
||||||
required FeeRateType feeRateType,
|
required FeeRateType feeRateType,
|
||||||
required int feeRate,
|
required int feeRate,
|
||||||
required Coin coin,
|
required Coin coin,
|
||||||
|
@ -68,88 +72,82 @@ class _TransactionFeeSelectionSheetState
|
||||||
switch (feeRateType) {
|
switch (feeRateType) {
|
||||||
case FeeRateType.fast:
|
case FeeRateType.fast:
|
||||||
if (ref.read(feeSheetSessionCacheProvider).fast[amount] == null) {
|
if (ref.read(feeSheetSessionCacheProvider).fast[amount] == null) {
|
||||||
final manager =
|
if (widget.isToken == false) {
|
||||||
ref.read(walletsChangeNotifierProvider).getManager(walletId);
|
final manager =
|
||||||
|
ref.read(walletsChangeNotifierProvider).getManager(walletId);
|
||||||
|
|
||||||
if (coin == Coin.monero || coin == Coin.wownero) {
|
if (coin == Coin.monero || coin == Coin.wownero) {
|
||||||
final fee = await manager.estimateFeeFor(
|
final fee = await manager.estimateFeeFor(
|
||||||
amount, MoneroTransactionPriority.fast.raw!);
|
amount, MoneroTransactionPriority.fast.raw!);
|
||||||
ref.read(feeSheetSessionCacheProvider).fast[amount] =
|
ref.read(feeSheetSessionCacheProvider).fast[amount] = fee;
|
||||||
Format.satoshisToAmount(
|
} else if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
|
||||||
fee,
|
ref.read(publicPrivateBalanceStateProvider.state).state !=
|
||||||
coin: coin,
|
"Private") {
|
||||||
);
|
ref.read(feeSheetSessionCacheProvider).fast[amount] =
|
||||||
} else if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
|
await (manager.wallet as FiroWallet)
|
||||||
ref.read(publicPrivateBalanceStateProvider.state).state !=
|
.estimateFeeForPublic(amount, feeRate);
|
||||||
"Private") {
|
} else {
|
||||||
ref.read(feeSheetSessionCacheProvider).fast[amount] =
|
ref.read(feeSheetSessionCacheProvider).fast[amount] =
|
||||||
Format.satoshisToAmount(
|
await manager.estimateFeeFor(amount, feeRate);
|
||||||
await (manager.wallet as FiroWallet)
|
}
|
||||||
.estimateFeeForPublic(amount, feeRate),
|
|
||||||
coin: coin);
|
|
||||||
} else {
|
} else {
|
||||||
ref.read(feeSheetSessionCacheProvider).fast[amount] =
|
final tokenWallet = ref.read(tokenServiceProvider)!;
|
||||||
Format.satoshisToAmount(
|
final fee = tokenWallet.estimateFeeFor(feeRate);
|
||||||
await manager.estimateFeeFor(amount, feeRate),
|
ref.read(feeSheetSessionCacheProvider).fast[amount] = fee;
|
||||||
coin: coin);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ref.read(feeSheetSessionCacheProvider).fast[amount]!;
|
return ref.read(feeSheetSessionCacheProvider).fast[amount]!;
|
||||||
|
|
||||||
case FeeRateType.average:
|
case FeeRateType.average:
|
||||||
if (ref.read(feeSheetSessionCacheProvider).average[amount] == null) {
|
if (ref.read(feeSheetSessionCacheProvider).average[amount] == null) {
|
||||||
final manager =
|
if (widget.isToken == false) {
|
||||||
ref.read(walletsChangeNotifierProvider).getManager(walletId);
|
final manager =
|
||||||
if (coin == Coin.monero || coin == Coin.wownero) {
|
ref.read(walletsChangeNotifierProvider).getManager(walletId);
|
||||||
final fee = await manager.estimateFeeFor(
|
if (coin == Coin.monero || coin == Coin.wownero) {
|
||||||
amount, MoneroTransactionPriority.regular.raw!);
|
final fee = await manager.estimateFeeFor(
|
||||||
ref.read(feeSheetSessionCacheProvider).average[amount] =
|
amount, MoneroTransactionPriority.regular.raw!);
|
||||||
Format.satoshisToAmount(
|
ref.read(feeSheetSessionCacheProvider).average[amount] = fee;
|
||||||
fee,
|
} else if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
|
||||||
coin: coin,
|
ref.read(publicPrivateBalanceStateProvider.state).state !=
|
||||||
);
|
"Private") {
|
||||||
} else if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
|
ref.read(feeSheetSessionCacheProvider).average[amount] =
|
||||||
ref.read(publicPrivateBalanceStateProvider.state).state !=
|
await (manager.wallet as FiroWallet)
|
||||||
"Private") {
|
.estimateFeeForPublic(amount, feeRate);
|
||||||
ref.read(feeSheetSessionCacheProvider).average[amount] =
|
} else {
|
||||||
Format.satoshisToAmount(
|
ref.read(feeSheetSessionCacheProvider).average[amount] =
|
||||||
await (manager.wallet as FiroWallet)
|
await manager.estimateFeeFor(amount, feeRate);
|
||||||
.estimateFeeForPublic(amount, feeRate),
|
}
|
||||||
coin: coin);
|
|
||||||
} else {
|
} else {
|
||||||
ref.read(feeSheetSessionCacheProvider).average[amount] =
|
final tokenWallet = ref.read(tokenServiceProvider)!;
|
||||||
Format.satoshisToAmount(
|
final fee = tokenWallet.estimateFeeFor(feeRate);
|
||||||
await manager.estimateFeeFor(amount, feeRate),
|
ref.read(feeSheetSessionCacheProvider).average[amount] = fee;
|
||||||
coin: coin);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ref.read(feeSheetSessionCacheProvider).average[amount]!;
|
return ref.read(feeSheetSessionCacheProvider).average[amount]!;
|
||||||
|
|
||||||
case FeeRateType.slow:
|
case FeeRateType.slow:
|
||||||
if (ref.read(feeSheetSessionCacheProvider).slow[amount] == null) {
|
if (ref.read(feeSheetSessionCacheProvider).slow[amount] == null) {
|
||||||
final manager =
|
if (widget.isToken == false) {
|
||||||
ref.read(walletsChangeNotifierProvider).getManager(walletId);
|
final manager =
|
||||||
if (coin == Coin.monero || coin == Coin.wownero) {
|
ref.read(walletsChangeNotifierProvider).getManager(walletId);
|
||||||
final fee = await manager.estimateFeeFor(
|
if (coin == Coin.monero || coin == Coin.wownero) {
|
||||||
amount, MoneroTransactionPriority.slow.raw!);
|
final fee = await manager.estimateFeeFor(
|
||||||
ref.read(feeSheetSessionCacheProvider).slow[amount] =
|
amount, MoneroTransactionPriority.slow.raw!);
|
||||||
Format.satoshisToAmount(
|
ref.read(feeSheetSessionCacheProvider).slow[amount] = fee;
|
||||||
fee,
|
} else if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
|
||||||
coin: coin,
|
ref.read(publicPrivateBalanceStateProvider.state).state !=
|
||||||
);
|
"Private") {
|
||||||
} else if ((coin == Coin.firo || coin == Coin.firoTestNet) &&
|
ref.read(feeSheetSessionCacheProvider).slow[amount] =
|
||||||
ref.read(publicPrivateBalanceStateProvider.state).state !=
|
await (manager.wallet as FiroWallet)
|
||||||
"Private") {
|
.estimateFeeForPublic(amount, feeRate);
|
||||||
ref.read(feeSheetSessionCacheProvider).slow[amount] =
|
} else {
|
||||||
Format.satoshisToAmount(
|
ref.read(feeSheetSessionCacheProvider).slow[amount] =
|
||||||
await (manager.wallet as FiroWallet)
|
await manager.estimateFeeFor(amount, feeRate);
|
||||||
.estimateFeeForPublic(amount, feeRate),
|
}
|
||||||
coin: coin);
|
|
||||||
} else {
|
} else {
|
||||||
ref.read(feeSheetSessionCacheProvider).slow[amount] =
|
final tokenWallet = ref.read(tokenServiceProvider)!;
|
||||||
Format.satoshisToAmount(
|
final fee = tokenWallet.estimateFeeFor(feeRate);
|
||||||
await manager.estimateFeeFor(amount, feeRate),
|
ref.read(feeSheetSessionCacheProvider).slow[amount] = fee;
|
||||||
coin: coin);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ref.read(feeSheetSessionCacheProvider).slow[amount]!;
|
return ref.read(feeSheetSessionCacheProvider).slow[amount]!;
|
||||||
|
@ -231,7 +229,9 @@ class _TransactionFeeSelectionSheetState
|
||||||
height: 36,
|
height: 36,
|
||||||
),
|
),
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
future: manager.fees,
|
future: widget.isToken
|
||||||
|
? ref.read(tokenServiceProvider)!.fees
|
||||||
|
: manager.fees,
|
||||||
builder: (context, AsyncSnapshot<FeeObject> snapshot) {
|
builder: (context, AsyncSnapshot<FeeObject> snapshot) {
|
||||||
if (snapshot.connectionState == ConnectionState.done &&
|
if (snapshot.connectionState == ConnectionState.done &&
|
||||||
snapshot.hasData) {
|
snapshot.hasData) {
|
||||||
|
@ -320,23 +320,25 @@ class _TransactionFeeSelectionSheetState
|
||||||
if (feeObject != null)
|
if (feeObject != null)
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
future: feeFor(
|
future: feeFor(
|
||||||
coin: manager.coin,
|
coin: manager.coin,
|
||||||
feeRateType: FeeRateType.fast,
|
feeRateType: FeeRateType.fast,
|
||||||
feeRate: feeObject!.fast,
|
feeRate: feeObject!.fast,
|
||||||
amount: Format
|
amount: amount,
|
||||||
.decimalAmountToSatoshis(
|
),
|
||||||
amount, manager.coin)),
|
|
||||||
// future: manager.estimateFeeFor(
|
// future: manager.estimateFeeFor(
|
||||||
// Format.decimalAmountToSatoshis(
|
// Format.decimalAmountToSatoshis(
|
||||||
// amount),
|
// amount),
|
||||||
// feeObject!.fast),
|
// feeObject!.fast),
|
||||||
builder: (_,
|
builder: (_,
|
||||||
AsyncSnapshot<Decimal> snapshot) {
|
AsyncSnapshot<Amount> snapshot) {
|
||||||
if (snapshot.connectionState ==
|
if (snapshot.connectionState ==
|
||||||
ConnectionState.done &&
|
ConnectionState.done &&
|
||||||
snapshot.hasData) {
|
snapshot.hasData) {
|
||||||
return Text(
|
return Text(
|
||||||
"(~${snapshot.data!} ${manager.coin.ticker})",
|
"(~${snapshot.data!.decimal.toStringAsFixed(
|
||||||
|
manager.coin.decimals,
|
||||||
|
)}"
|
||||||
|
" ${manager.coin.ticker})",
|
||||||
style: STextStyles.itemSubtitle(
|
style: STextStyles.itemSubtitle(
|
||||||
context),
|
context),
|
||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
|
@ -452,23 +454,23 @@ class _TransactionFeeSelectionSheetState
|
||||||
if (feeObject != null)
|
if (feeObject != null)
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
future: feeFor(
|
future: feeFor(
|
||||||
coin: manager.coin,
|
coin: manager.coin,
|
||||||
feeRateType: FeeRateType.average,
|
feeRateType: FeeRateType.average,
|
||||||
feeRate: feeObject!.medium,
|
feeRate: feeObject!.medium,
|
||||||
amount: Format
|
amount: amount,
|
||||||
.decimalAmountToSatoshis(
|
),
|
||||||
amount, manager.coin)),
|
|
||||||
// future: manager.estimateFeeFor(
|
// future: manager.estimateFeeFor(
|
||||||
// Format.decimalAmountToSatoshis(
|
// Format.decimalAmountToSatoshis(
|
||||||
// amount),
|
// amount),
|
||||||
// feeObject!.fast),
|
// feeObject!.fast),
|
||||||
builder: (_,
|
builder: (_,
|
||||||
AsyncSnapshot<Decimal> snapshot) {
|
AsyncSnapshot<Amount> snapshot) {
|
||||||
if (snapshot.connectionState ==
|
if (snapshot.connectionState ==
|
||||||
ConnectionState.done &&
|
ConnectionState.done &&
|
||||||
snapshot.hasData) {
|
snapshot.hasData) {
|
||||||
return Text(
|
return Text(
|
||||||
"(~${snapshot.data!} ${manager.coin.ticker})",
|
"(~${snapshot.data!.decimal.toStringAsFixed(manager.coin.decimals)}"
|
||||||
|
" ${manager.coin.ticker})",
|
||||||
style: STextStyles.itemSubtitle(
|
style: STextStyles.itemSubtitle(
|
||||||
context),
|
context),
|
||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
|
@ -523,7 +525,6 @@ class _TransactionFeeSelectionSheetState
|
||||||
FeeRateType.slow;
|
FeeRateType.slow;
|
||||||
}
|
}
|
||||||
String? fee = getAmount(FeeRateType.slow, manager.coin);
|
String? fee = getAmount(FeeRateType.slow, manager.coin);
|
||||||
print("fee $fee");
|
|
||||||
if (fee != null) {
|
if (fee != null) {
|
||||||
widget.updateChosen(fee);
|
widget.updateChosen(fee);
|
||||||
}
|
}
|
||||||
|
@ -586,23 +587,22 @@ class _TransactionFeeSelectionSheetState
|
||||||
if (feeObject != null)
|
if (feeObject != null)
|
||||||
FutureBuilder(
|
FutureBuilder(
|
||||||
future: feeFor(
|
future: feeFor(
|
||||||
coin: manager.coin,
|
coin: manager.coin,
|
||||||
feeRateType: FeeRateType.slow,
|
feeRateType: FeeRateType.slow,
|
||||||
feeRate: feeObject!.slow,
|
feeRate: feeObject!.slow,
|
||||||
amount: Format
|
amount: amount,
|
||||||
.decimalAmountToSatoshis(
|
),
|
||||||
amount, manager.coin)),
|
|
||||||
// future: manager.estimateFeeFor(
|
// future: manager.estimateFeeFor(
|
||||||
// Format.decimalAmountToSatoshis(
|
// Format.decimalAmountToSatoshis(
|
||||||
// amount),
|
// amount),
|
||||||
// feeObject!.fast),
|
// feeObject!.fast),
|
||||||
builder: (_,
|
builder: (_,
|
||||||
AsyncSnapshot<Decimal> snapshot) {
|
AsyncSnapshot<Amount> snapshot) {
|
||||||
if (snapshot.connectionState ==
|
if (snapshot.connectionState ==
|
||||||
ConnectionState.done &&
|
ConnectionState.done &&
|
||||||
snapshot.hasData) {
|
snapshot.hasData) {
|
||||||
return Text(
|
return Text(
|
||||||
"(~${snapshot.data!} ${manager.coin.ticker})",
|
"(~${snapshot.data!.decimal.toStringAsFixed(manager.coin.decimals)} ${manager.coin.ticker})",
|
||||||
style: STextStyles.itemSubtitle(
|
style: STextStyles.itemSubtitle(
|
||||||
context),
|
context),
|
||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
|
@ -660,18 +660,12 @@ class _TransactionFeeSelectionSheetState
|
||||||
|
|
||||||
String? getAmount(FeeRateType feeRateType, Coin coin) {
|
String? getAmount(FeeRateType feeRateType, Coin coin) {
|
||||||
try {
|
try {
|
||||||
print(feeRateType);
|
|
||||||
var amount = Format.decimalAmountToSatoshis(this.amount, coin);
|
|
||||||
print(amount);
|
|
||||||
print(ref.read(feeSheetSessionCacheProvider).fast);
|
|
||||||
print(ref.read(feeSheetSessionCacheProvider).average);
|
|
||||||
print(ref.read(feeSheetSessionCacheProvider).slow);
|
|
||||||
switch (feeRateType) {
|
switch (feeRateType) {
|
||||||
case FeeRateType.fast:
|
case FeeRateType.fast:
|
||||||
if (ref.read(feeSheetSessionCacheProvider).fast[amount] != null) {
|
if (ref.read(feeSheetSessionCacheProvider).fast[amount] != null) {
|
||||||
return (ref.read(feeSheetSessionCacheProvider).fast[amount]
|
return (ref.read(feeSheetSessionCacheProvider).fast[amount]
|
||||||
as Decimal)
|
as Decimal)
|
||||||
.toString();
|
.toStringAsFixed(coin.decimals);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
@ -679,22 +673,20 @@ class _TransactionFeeSelectionSheetState
|
||||||
if (ref.read(feeSheetSessionCacheProvider).average[amount] != null) {
|
if (ref.read(feeSheetSessionCacheProvider).average[amount] != null) {
|
||||||
return (ref.read(feeSheetSessionCacheProvider).average[amount]
|
return (ref.read(feeSheetSessionCacheProvider).average[amount]
|
||||||
as Decimal)
|
as Decimal)
|
||||||
.toString();
|
.toStringAsFixed(coin.decimals);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
case FeeRateType.slow:
|
case FeeRateType.slow:
|
||||||
print(ref.read(feeSheetSessionCacheProvider).slow);
|
|
||||||
print(ref.read(feeSheetSessionCacheProvider).slow[amount]);
|
|
||||||
if (ref.read(feeSheetSessionCacheProvider).slow[amount] != null) {
|
if (ref.read(feeSheetSessionCacheProvider).slow[amount] != null) {
|
||||||
return (ref.read(feeSheetSessionCacheProvider).slow[amount]
|
return (ref.read(feeSheetSessionCacheProvider).slow[amount]
|
||||||
as Decimal)
|
as Decimal)
|
||||||
.toString();
|
.toStringAsFixed(coin.decimals);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
print("$e $s");
|
Logging.instance.log("$e $s", level: LogLevel.Warning);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
1237
lib/pages/send_view/token_send_view.dart
Normal file
|
@ -5,7 +5,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
||||||
import 'package:stackwallet/providers/global/debug_service_provider.dart';
|
import 'package:stackwallet/providers/global/debug_service_provider.dart';
|
||||||
import 'package:stackwallet/providers/providers.dart';
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
import 'package:stackwallet/services/exchange/majestic_bank/majestic_bank_api.dart';
|
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
@ -164,9 +163,59 @@ class HiddenSettings extends StatelessWidget {
|
||||||
Consumer(builder: (_, ref, __) {
|
Consumer(builder: (_, ref, __) {
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
final x = await MajesticBankAPI.instance
|
ref
|
||||||
.getLimit(fromCurrency: 'btc');
|
.read(priceAnd24hChangeNotifierProvider)
|
||||||
print(x);
|
.tokenContractAddressesToCheck
|
||||||
|
.add(
|
||||||
|
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48");
|
||||||
|
ref
|
||||||
|
.read(priceAnd24hChangeNotifierProvider)
|
||||||
|
.tokenContractAddressesToCheck
|
||||||
|
.add(
|
||||||
|
"0xdAC17F958D2ee523a2206206994597C13D831ec7");
|
||||||
|
await ref
|
||||||
|
.read(priceAnd24hChangeNotifierProvider)
|
||||||
|
.updatePrice();
|
||||||
|
|
||||||
|
final x = ref
|
||||||
|
.read(priceAnd24hChangeNotifierProvider)
|
||||||
|
.getTokenPrice(
|
||||||
|
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48");
|
||||||
|
|
||||||
|
print(
|
||||||
|
"PRICE 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48: $x");
|
||||||
|
},
|
||||||
|
child: RoundedWhiteContainer(
|
||||||
|
child: Text(
|
||||||
|
"Click me",
|
||||||
|
style: STextStyles.button(context).copyWith(
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.accentColorDark),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
const SizedBox(
|
||||||
|
height: 12,
|
||||||
|
),
|
||||||
|
Consumer(builder: (_, ref, __) {
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: () async {
|
||||||
|
// final erc20 = Erc20ContractInfo(
|
||||||
|
// contractAddress: 'some con',
|
||||||
|
// name: "loonamsn",
|
||||||
|
// symbol: "DD",
|
||||||
|
// decimals: 19,
|
||||||
|
// );
|
||||||
|
//
|
||||||
|
// final json = erc20.toJson();
|
||||||
|
//
|
||||||
|
// print(json);
|
||||||
|
//
|
||||||
|
// final ee = EthContractInfo.fromJson(json);
|
||||||
|
//
|
||||||
|
// print(ee);
|
||||||
},
|
},
|
||||||
child: RoundedWhiteContainer(
|
child: RoundedWhiteContainer(
|
||||||
child: Text(
|
child: Text(
|
||||||
|
|
|
@ -3,7 +3,7 @@ import 'dart:async';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:stackwallet/electrumx_rpc/electrumx.dart';
|
import 'package:stackwallet/electrumx_rpc/electrumx.dart';
|
||||||
import 'package:stackwallet/models/node_model.dart';
|
import 'package:stackwallet/models/node_model.dart';
|
||||||
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
import 'package:stackwallet/notifications/show_flush_bar.dart';
|
||||||
|
@ -30,6 +30,7 @@ import 'package:stackwallet/widgets/stack_dialog.dart';
|
||||||
import 'package:stackwallet/widgets/stack_text_field.dart';
|
import 'package:stackwallet/widgets/stack_text_field.dart';
|
||||||
import 'package:stackwallet/widgets/textfield_icon_button.dart';
|
import 'package:stackwallet/widgets/textfield_icon_button.dart';
|
||||||
import 'package:uuid/uuid.dart';
|
import 'package:uuid/uuid.dart';
|
||||||
|
// import 'package:web3dart/web3dart.dart';
|
||||||
|
|
||||||
enum AddEditNodeViewType { add, edit }
|
enum AddEditNodeViewType { add, edit }
|
||||||
|
|
||||||
|
@ -172,6 +173,14 @@ class _AddEditNodeViewState extends ConsumerState<AddEditNodeView> {
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Coin.ethereum:
|
||||||
|
// final client = Web3Client(
|
||||||
|
// "https://mainnet.infura.io/v3/22677300bf774e49a458b73313ee56ba",
|
||||||
|
// Client());
|
||||||
|
try {
|
||||||
|
// await client.getSyncStatus();
|
||||||
|
} catch (_) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showFlushBar && mounted) {
|
if (showFlushBar && mounted) {
|
||||||
|
@ -710,6 +719,7 @@ class _NodeFormState extends ConsumerState<NodeForm> {
|
||||||
case Coin.epicCash:
|
case Coin.epicCash:
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
case Coin.ethereum:
|
||||||
case Coin.monero:
|
case Coin.monero:
|
||||||
case Coin.wownero:
|
case Coin.wownero:
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -4,7 +4,7 @@ import 'dart:io';
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
|
||||||
import 'package:stack_wallet_backup/stack_wallet_backup.dart';
|
import 'package:stack_wallet_backup/stack_wallet_backup.dart';
|
||||||
import 'package:stackwallet/hive/db.dart';
|
import 'package:stackwallet/db/hive/db.dart';
|
||||||
import 'package:stackwallet/models/contact.dart';
|
import 'package:stackwallet/models/contact.dart';
|
||||||
import 'package:stackwallet/models/contact_address_entry.dart';
|
import 'package:stackwallet/models/contact_address_entry.dart';
|
||||||
import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart';
|
import 'package:stackwallet/models/exchange/change_now/exchange_transaction.dart';
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import 'package:decimal/decimal.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
@ -7,11 +6,9 @@ import 'package:stackwallet/utilities/assets.dart';
|
||||||
import 'package:stackwallet/utilities/constants.dart';
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
import 'package:stackwallet/utilities/enums/coin_enum.dart';
|
||||||
import 'package:stackwallet/utilities/enums/sync_type_enum.dart';
|
import 'package:stackwallet/utilities/enums/sync_type_enum.dart';
|
||||||
import 'package:stackwallet/utilities/format.dart';
|
|
||||||
import 'package:stackwallet/utilities/text_styles.dart';
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
import 'package:stackwallet/utilities/util.dart';
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
import 'package:stackwallet/widgets/animated_text.dart';
|
|
||||||
import 'package:stackwallet/widgets/background.dart';
|
import 'package:stackwallet/widgets/background.dart';
|
||||||
import 'package:stackwallet/widgets/conditional_parent.dart';
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
||||||
|
@ -144,40 +141,18 @@ class WalletSyncingOptionsView extends ConsumerWidget {
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
height: 2,
|
height: 2,
|
||||||
),
|
),
|
||||||
FutureBuilder(
|
Text(
|
||||||
future: Future(
|
"${manager.balance.total.localizedStringAsFixed(
|
||||||
() => manager.balance.getTotal()),
|
locale: ref.watch(
|
||||||
builder: (builderContext,
|
localeServiceChangeNotifierProvider
|
||||||
AsyncSnapshot<Decimal> snapshot) {
|
.select(
|
||||||
if (snapshot.connectionState ==
|
(value) => value.locale,
|
||||||
ConnectionState.done &&
|
),
|
||||||
snapshot.hasData) {
|
),
|
||||||
return Text(
|
)} ${manager.coin.ticker}",
|
||||||
"${Format.localizedStringAsFixed(
|
style:
|
||||||
value: snapshot.data!,
|
STextStyles.itemSubtitle(context),
|
||||||
locale: ref.watch(
|
)
|
||||||
localeServiceChangeNotifierProvider
|
|
||||||
.select((value) =>
|
|
||||||
value.locale)),
|
|
||||||
decimalPlaces: 8,
|
|
||||||
)} ${manager.coin.ticker}",
|
|
||||||
style: STextStyles.itemSubtitle(
|
|
||||||
context),
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
return AnimatedText(
|
|
||||||
stringsToLoopThrough: const [
|
|
||||||
"Loading balance",
|
|
||||||
"Loading balance.",
|
|
||||||
"Loading balance..",
|
|
||||||
"Loading balance..."
|
|
||||||
],
|
|
||||||
style: STextStyles.itemSubtitle(
|
|
||||||
context),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const Spacer(),
|
const Spacer(),
|
||||||
|
|
|
@ -3,7 +3,7 @@ import 'dart:async';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:flutter_svg/svg.dart';
|
import 'package:flutter_svg/svg.dart';
|
||||||
import 'package:stackwallet/hive/db.dart';
|
import 'package:stackwallet/db/hive/db.dart';
|
||||||
import 'package:stackwallet/pages/pinpad_views/create_pin_view.dart';
|
import 'package:stackwallet/pages/pinpad_views/create_pin_view.dart';
|
||||||
import 'package:stackwallet/pages_desktop_specific/password/create_password_view.dart';
|
import 'package:stackwallet/pages_desktop_specific/password/create_password_view.dart';
|
||||||
import 'package:stackwallet/providers/global/prefs_provider.dart';
|
import 'package:stackwallet/providers/global/prefs_provider.dart';
|
||||||
|
|
237
lib/pages/token_view/my_tokens_view.dart
Normal file
|
@ -0,0 +1,237 @@
|
||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:flutter_svg/svg.dart';
|
||||||
|
import 'package:stackwallet/pages/add_wallet_views/add_token_view/edit_wallet_tokens_view.dart';
|
||||||
|
import 'package:stackwallet/pages/token_view/sub_widgets/my_tokens_list.dart';
|
||||||
|
import 'package:stackwallet/providers/global/wallets_provider.dart';
|
||||||
|
import 'package:stackwallet/services/coins/ethereum/ethereum_wallet.dart';
|
||||||
|
import 'package:stackwallet/utilities/assets.dart';
|
||||||
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
import 'package:stackwallet/utilities/theme/stack_colors.dart';
|
||||||
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
import 'package:stackwallet/widgets/background.dart';
|
||||||
|
import 'package:stackwallet/widgets/conditional_parent.dart';
|
||||||
|
import 'package:stackwallet/widgets/custom_buttons/app_bar_icon_button.dart';
|
||||||
|
import 'package:stackwallet/widgets/icon_widgets/x_icon.dart';
|
||||||
|
import 'package:stackwallet/widgets/stack_text_field.dart';
|
||||||
|
import 'package:stackwallet/widgets/textfield_icon_button.dart';
|
||||||
|
|
||||||
|
class MyTokensView extends ConsumerStatefulWidget {
|
||||||
|
const MyTokensView({
|
||||||
|
Key? key,
|
||||||
|
required this.walletId,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
static const String routeName = "/myTokens";
|
||||||
|
final String walletId;
|
||||||
|
|
||||||
|
@override
|
||||||
|
ConsumerState<MyTokensView> createState() => _MyTokensViewState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _MyTokensViewState extends ConsumerState<MyTokensView> {
|
||||||
|
final bool isDesktop = Util.isDesktop;
|
||||||
|
|
||||||
|
late final String walletAddress;
|
||||||
|
late final TextEditingController _searchController;
|
||||||
|
final searchFieldFocusNode = FocusNode();
|
||||||
|
String _searchString = "";
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
_searchController = TextEditingController();
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
_searchController.dispose();
|
||||||
|
searchFieldFocusNode.dispose();
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
debugPrint("BUILD: $runtimeType");
|
||||||
|
|
||||||
|
return ConditionalParent(
|
||||||
|
condition: !isDesktop,
|
||||||
|
builder: (child) => Background(
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor:
|
||||||
|
Theme.of(context).extension<StackColors>()!.background,
|
||||||
|
appBar: AppBar(
|
||||||
|
backgroundColor:
|
||||||
|
Theme.of(context).extension<StackColors>()!.background,
|
||||||
|
leading: AppBarBackButton(
|
||||||
|
onPressed: () async {
|
||||||
|
if (FocusScope.of(context).hasFocus) {
|
||||||
|
FocusScope.of(context).unfocus();
|
||||||
|
await Future<void>.delayed(const Duration(milliseconds: 75));
|
||||||
|
}
|
||||||
|
if (mounted) {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
|
title: Text(
|
||||||
|
"${ref.watch(
|
||||||
|
walletsChangeNotifierProvider.select(
|
||||||
|
(value) => value.getManager(widget.walletId).walletName),
|
||||||
|
)} Tokens",
|
||||||
|
style: STextStyles.navBarTitle(context),
|
||||||
|
),
|
||||||
|
actions: [
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
top: 10,
|
||||||
|
bottom: 10,
|
||||||
|
right: 20,
|
||||||
|
),
|
||||||
|
child: AspectRatio(
|
||||||
|
aspectRatio: 1,
|
||||||
|
child: AppBarIconButton(
|
||||||
|
key: const Key("addTokenAppBarIconButtonKey"),
|
||||||
|
size: 36,
|
||||||
|
shadows: const [],
|
||||||
|
color:
|
||||||
|
Theme.of(context).extension<StackColors>()!.background,
|
||||||
|
icon: SvgPicture.asset(
|
||||||
|
Assets.svg.circlePlusDark,
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.accentColorDark,
|
||||||
|
width: 20,
|
||||||
|
height: 20,
|
||||||
|
),
|
||||||
|
onPressed: () async {
|
||||||
|
final result = await Navigator.of(context).pushNamed(
|
||||||
|
EditWalletTokensView.routeName,
|
||||||
|
arguments: widget.walletId,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (mounted && result == 42) {
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
body: Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
left: 12,
|
||||||
|
top: 12,
|
||||||
|
right: 12,
|
||||||
|
),
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.all(isDesktop ? 0 : 4),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
ConditionalParent(
|
||||||
|
condition: isDesktop,
|
||||||
|
builder: (child) => Expanded(
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
child: ConditionalParent(
|
||||||
|
condition: !isDesktop,
|
||||||
|
builder: (child) => Expanded(
|
||||||
|
child: child,
|
||||||
|
),
|
||||||
|
child: ClipRRect(
|
||||||
|
borderRadius: BorderRadius.circular(
|
||||||
|
Constants.size.circularBorderRadius,
|
||||||
|
),
|
||||||
|
child: TextField(
|
||||||
|
autocorrect: !isDesktop,
|
||||||
|
enableSuggestions: !isDesktop,
|
||||||
|
controller: _searchController,
|
||||||
|
focusNode: searchFieldFocusNode,
|
||||||
|
onChanged: (value) {
|
||||||
|
setState(() {
|
||||||
|
_searchString = value;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopTextExtraSmall(context)
|
||||||
|
.copyWith(
|
||||||
|
color: Theme.of(context)
|
||||||
|
.extension<StackColors>()!
|
||||||
|
.textFieldActiveText,
|
||||||
|
height: 1.8,
|
||||||
|
)
|
||||||
|
: STextStyles.field(context),
|
||||||
|
decoration: standardInputDecoration(
|
||||||
|
"Search...",
|
||||||
|
searchFieldFocusNode,
|
||||||
|
context,
|
||||||
|
desktopMed: isDesktop,
|
||||||
|
).copyWith(
|
||||||
|
prefixIcon: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: isDesktop ? 12 : 10,
|
||||||
|
vertical: isDesktop ? 18 : 16,
|
||||||
|
),
|
||||||
|
child: SvgPicture.asset(
|
||||||
|
Assets.svg.search,
|
||||||
|
width: isDesktop ? 20 : 16,
|
||||||
|
height: isDesktop ? 20 : 16,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
suffixIcon: _searchController.text.isNotEmpty
|
||||||
|
? Padding(
|
||||||
|
padding: const EdgeInsets.only(right: 0),
|
||||||
|
child: UnconstrainedBox(
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
TextFieldIconButton(
|
||||||
|
child: const XIcon(),
|
||||||
|
onTap: () async {
|
||||||
|
setState(() {
|
||||||
|
_searchController.text = "";
|
||||||
|
_searchString = "";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: null,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 8,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: MyTokensList(
|
||||||
|
walletId: widget.walletId,
|
||||||
|
searchTerm: _searchString,
|
||||||
|
tokenContracts: ref
|
||||||
|
.watch(walletsChangeNotifierProvider.select((value) => value
|
||||||
|
.getManager(widget.walletId)
|
||||||
|
.wallet as EthereumWallet))
|
||||||
|
.getWalletTokenContractAddresses(),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
182
lib/pages/token_view/sub_widgets/my_token_select_item.dart
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
import 'package:stackwallet/models/isar/models/ethereum/eth_contract.dart';
|
||||||
|
import 'package:stackwallet/pages/token_view/token_view.dart';
|
||||||
|
import 'package:stackwallet/pages_desktop_specific/my_stack_view/wallet_view/desktop_token_view.dart';
|
||||||
|
import 'package:stackwallet/providers/global/secure_store_provider.dart';
|
||||||
|
import 'package:stackwallet/providers/providers.dart';
|
||||||
|
import 'package:stackwallet/services/coins/ethereum/ethereum_wallet.dart';
|
||||||
|
import 'package:stackwallet/services/ethereum/cached_eth_token_balance.dart';
|
||||||
|
import 'package:stackwallet/services/ethereum/ethereum_token_service.dart';
|
||||||
|
import 'package:stackwallet/services/transaction_notification_tracker.dart';
|
||||||
|
import 'package:stackwallet/utilities/constants.dart';
|
||||||
|
import 'package:stackwallet/utilities/show_loading.dart';
|
||||||
|
import 'package:stackwallet/utilities/text_styles.dart';
|
||||||
|
import 'package:stackwallet/utilities/util.dart';
|
||||||
|
import 'package:stackwallet/widgets/icon_widgets/eth_token_icon.dart';
|
||||||
|
import 'package:stackwallet/widgets/rounded_white_container.dart';
|
||||||
|
|
||||||
|
class MyTokenSelectItem extends ConsumerStatefulWidget {
|
||||||
|
const MyTokenSelectItem({
|
||||||
|
Key? key,
|
||||||
|
required this.walletId,
|
||||||
|
required this.token,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
final String walletId;
|
||||||
|
final EthContract token;
|
||||||
|
|
||||||
|
@override
|
||||||
|
ConsumerState<MyTokenSelectItem> createState() => _MyTokenSelectItemState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _MyTokenSelectItemState extends ConsumerState<MyTokenSelectItem> {
|
||||||
|
final bool isDesktop = Util.isDesktop;
|
||||||
|
|
||||||
|
late final CachedEthTokenBalance cachedBalance;
|
||||||
|
|
||||||
|
void _onPressed() async {
|
||||||
|
ref.read(tokenServiceStateProvider.state).state = EthTokenWallet(
|
||||||
|
token: widget.token,
|
||||||
|
secureStore: ref.read(secureStoreProvider),
|
||||||
|
ethWallet: ref
|
||||||
|
.read(walletsChangeNotifierProvider)
|
||||||
|
.getManager(widget.walletId)
|
||||||
|
.wallet as EthereumWallet,
|
||||||
|
tracker: TransactionNotificationTracker(
|
||||||
|
walletId: widget.walletId,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
await showLoading<void>(
|
||||||
|
whileFuture: ref.read(tokenServiceProvider)!.initialize(),
|
||||||
|
context: context,
|
||||||
|
isDesktop: isDesktop,
|
||||||
|
message: "Loading ${widget.token.name}",
|
||||||
|
);
|
||||||
|
|
||||||
|
if (mounted) {
|
||||||
|
await Navigator.of(context).pushNamed(
|
||||||
|
isDesktop ? DesktopTokenView.routeName : TokenView.routeName,
|
||||||
|
arguments: widget.walletId,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
cachedBalance = CachedEthTokenBalance(widget.walletId, widget.token);
|
||||||
|
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||||
|
final address = await ref
|
||||||
|
.read(walletsChangeNotifierProvider)
|
||||||
|
.getManager(widget.walletId)
|
||||||
|
.currentReceivingAddress;
|
||||||
|
await cachedBalance.fetchAndUpdateCachedBalance(address);
|
||||||
|
if (mounted) {
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return RoundedWhiteContainer(
|
||||||
|
padding: const EdgeInsets.all(0),
|
||||||
|
child: MaterialButton(
|
||||||
|
key: Key("walletListItemButtonKey_${widget.token.symbol}"),
|
||||||
|
padding: isDesktop
|
||||||
|
? const EdgeInsets.symmetric(horizontal: 28, vertical: 24)
|
||||||
|
: const EdgeInsets.symmetric(horizontal: 12, vertical: 13),
|
||||||
|
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(Constants.size.circularBorderRadius),
|
||||||
|
),
|
||||||
|
onPressed: _onPressed,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
EthTokenIcon(
|
||||||
|
contractAddress: widget.token.address,
|
||||||
|
size: isDesktop ? 32 : 28,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: isDesktop ? 12 : 10,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: Consumer(
|
||||||
|
builder: (_, ref, __) {
|
||||||
|
return Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
widget.token.name,
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopTextExtraSmall(context)
|
||||||
|
: STextStyles.titleBold12(context),
|
||||||
|
),
|
||||||
|
const Spacer(),
|
||||||
|
Text(
|
||||||
|
"${cachedBalance.getCachedBalance().total.localizedStringAsFixed(
|
||||||
|
locale: ref.watch(
|
||||||
|
localeServiceChangeNotifierProvider.select(
|
||||||
|
(value) => value.locale,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)} "
|
||||||
|
"${widget.token.symbol}",
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopTextExtraSmall(context)
|
||||||
|
: STextStyles.itemSubtitle(context),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 2,
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
widget.token.symbol,
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopTextExtraExtraSmall(
|
||||||
|
context)
|
||||||
|
: STextStyles.itemSubtitle(context),
|
||||||
|
),
|
||||||
|
const Spacer(),
|
||||||
|
Text(
|
||||||
|
"${ref.watch(
|
||||||
|
priceAnd24hChangeNotifierProvider.select(
|
||||||
|
(value) => value
|
||||||
|
.getTokenPrice(widget.token.address)
|
||||||
|
.item1
|
||||||
|
.toStringAsFixed(2),
|
||||||
|
),
|
||||||
|
)} "
|
||||||
|
"${ref.watch(
|
||||||
|
prefsChangeNotifierProvider.select(
|
||||||
|
(value) => value.currency,
|
||||||
|
),
|
||||||
|
)}",
|
||||||
|
style: isDesktop
|
||||||
|
? STextStyles.desktopTextExtraExtraSmall(
|
||||||
|
context)
|
||||||
|
: STextStyles.itemSubtitle(context),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|