MediaWiki:Common.js: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) (Отмена правки 55632, сделанной Pok (обсуждение)) Метка: отмена |
||
(не показано 258 промежуточных версий 2 участников) | |||
Строка 11: | Строка 11: | ||
id: 'iframe1' | id: 'iframe1' | ||
}, | }, | ||
iframeMapRender: { | |||
srcdoc: '<!doctype html><html data-bs-theme="dark" lang="ru"><head><meta charset="UTF-8"><meta content="width=device-width,initial-scale=1" name="viewport"><meta content="Просмотр карт SS14 Kerisar" name="description"><title>🗺 Просмотр карт SS14 Kerisar 🦎</title><link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" rel="stylesheet"><style>img{image-rendering:pixelated}body{background-color:#2c2c2c;height:100%;overflow:auto}.image-container{cursor:move;width:100%;height:70vh;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;margin-top:20px;margin-left:auto;margin-right:auto}.fullscreen--image-container{background:#212529}.image-container img{cursor:move;max-width:none;height:auto;position:absolute;top:0;left:0;transform-origin:center;z-index:100}:fullscreen .image-container{border:none}#buttonsGroupPlus{display:flex;justify-content:space-between;flex-direction:row}</style><style>html{height:100%;background:radial-gradient(ellipse at bottom,#1b2735 0,#090a0f 100%);overflow:hidden}#stars{width:1px;height:1px;background:0 0;box-shadow:1087px 810px #fff,1020px 1604px #fff,762px 1888px #fff,690px 1374px #fff,988px 1584px #fff,1637px 583px #fff,256px 1972px #fff,657px 1637px #fff,1754px 1121px #fff,1317px 799px #fff,1175px 1699px #fff,1419px 1205px #fff,1304px 767px #fff,290px 449px #fff,902px 978px #fff,1315px 1377px #fff,244px 324px #fff,255px 1777px #fff,316px 213px #fff,1652px 105px #fff,762px 1048px #fff,1329px 1534px #fff,1050px 31px #fff,216px 1069px #fff,867px 1066px #fff,5px 621px #fff,1094px 1225px #fff,419px 237px #fff,1876px 240px #fff,1422px 868px #fff,1889px 978px #fff,892px 718px #fff,141px 1377px #fff,1236px 1224px #fff,1393px 1010px #fff,1505px 1190px #fff,618px 982px #fff,688px 319px #fff,1113px 1855px #fff,102px 1965px #fff,847px 47px #fff,1146px 1330px #fff,95px 347px #fff,1227px 712px #fff,1018px 1562px #fff,1437px 468px #fff,1129px 737px #fff,835px 1792px #fff,1157px 1551px #fff,72px 17px #fff,1522px 87px #fff,1990px 303px #fff,1147px 1132px #fff,631px 1449px #fff,515px 1306px #fff,540px 472px #fff,1868px 1534px #fff,910px 1868px #fff,717px 539px #fff,922px 1962px #fff,1150px 138px #fff,78px 163px #fff,697px 276px #fff,1787px 1827px #fff,1587px 1399px #fff,1681px 1347px #fff,161px 1435px #fff,928px 1175px #fff,1388px 1398px #fff,1415px 1775px #fff,1121px 1321px #fff,1385px 154px #fff,1321px 352px #fff,1285px 429px #fff,256px 1386px #fff,1218px 903px #fff,648px 724px #fff,1793px 891px #fff,1150px 382px #fff,687px 31px #fff,78px 1610px #fff,1019px 1565px #fff,152px 676px #fff,1429px 743px #fff,1577px 1488px #fff,1386px 1719px #fff,1471px 275px #fff,1459px 337px #fff,1513px 159px #fff,1387px 1281px #fff,57px 982px #fff,439px 997px #fff,846px 469px #fff,395px 907px #fff,206px 143px #fff,161px 517px #fff,1488px 1996px #fff,1149px 14px #fff,431px 1956px #fff,469px 1859px #fff,577px 479px #fff,1811px 1092px #fff,294px 1231px #fff,1076px 914px #fff,1324px 426px #fff,553px 1532px #fff,1121px 1188px #fff,148px 1130px #fff,803px 1961px #fff,1653px 1568px #fff,1291px 1732px #fff,382px 878px #fff,299px 1294px #fff,1049px 9px #fff,1697px 1530px #fff,257px 1774px #fff,512px 512px #fff,1305px 575px #fff,808px 1257px #fff,779px 655px #fff,1776px 779px #fff,1750px 1487px #fff,782px 524px #fff,1723px 242px #fff,339px 1487px #fff,1422px 1937px #fff,571px 101px #fff,330px 1814px #fff,874px 994px #fff,1029px 1632px #fff,393px 1168px #fff,398px 617px #fff,678px 746px #fff,1637px 1205px #fff,1076px 1463px #fff,1247px 1858px #fff,1750px 505px #fff,803px 857px #fff,1489px 1702px #fff,1669px 812px #fff,86px 1644px #fff,1625px 1352px #fff,717px 902px #fff,167px 1609px #fff,1883px 711px #fff,1954px 772px #fff,616px 1273px #fff,777px 608px #fff,1262px 1716px #fff,1835px 375px #fff,481px 1484px #fff,1653px 834px #fff,533px 201px #fff,1771px 1636px #fff,1178px 896px #fff,411px 1324px #fff,1886px 710px #fff,368px 1048px #fff,74px 1729px #fff,1567px 1521px #fff,1520px 1264px #fff,1999px 134px #fff,1569px 557px #fff,571px 1786px #fff,1854px 1702px #fff,134px 392px #fff,1475px 827px #fff,1101px 533px #fff,1753px 1548px #fff,629px 1763px #fff,271px 703px #fff,1373px 1564px #fff,68px 668px #fff,930px 1037px #fff,1693px 1762px #fff,1718px 1648px #fff,1585px 25px #fff,1422px 1009px #fff,1405px 188px #fff,140px 894px #fff,560px 1483px #fff,133px 33px #fff,41px 1593px #fff,496px 1534px #fff,582px 693px #fff,178px 1793px #fff,1763px 1410px #fff,1575px 885px #fff,38px 346px #fff,1439px 393px #fff,1700px 380px #fff,1161px 1887px #fff,1315px 1727px #fff,1413px 1971px #fff,129px 1432px #fff,1252px 204px #fff,945px 169px #fff,1530px 1167px #fff,1172px 707px #fff,30px 385px #fff,1005px 1144px #fff,1167px 1477px #fff,217px 1298px #fff,1764px 1164px #fff,1962px 483px #fff,438px 662px #fff,189px 1102px #fff,976px 615px #fff,1633px 740px #fff,169px 1627px #fff,112px 323px #fff,98px 1865px #fff,875px 1918px #fff,67px 1px #fff,1127px 1326px #fff,1296px 929px #fff,1643px 193px #fff,1259px 219px #fff,139px 509px #fff,1903px 1788px #fff,1301px 312px #fff,230px 1960px #fff,1717px 992px #fff,1945px 1338px #fff,216px 642px #fff,903px 733px #fff,1433px 1910px #fff,1366px 198px #fff,244px 1894px #fff,137px 961px #fff,1075px 1459px #fff,143px 1676px #fff,199px 1636px #fff,193px 1415px #fff,757px 665px #fff,158px 201px #fff,168px 3px #fff,225px 1937px #fff,1088px 222px #fff,1793px 1182px #fff,998px 407px #fff,1300px 904px #fff,652px 800px #fff,811px 53px #fff,1062px 1717px #fff,65px 1176px #fff,1524px 1941px #fff,201px 655px #fff,626px 1896px #fff,775px 1462px #fff,342px 1639px #fff,991px 149px #fff,162px 325px #fff,1941px 1009px #fff,1042px 1507px #fff,1736px 181px #fff,1960px 1649px #fff,1858px 1244px #fff,896px 1407px #fff,1986px 11px #fff,902px 979px #fff,818px 272px #fff,1455px 1832px #fff,794px 701px #fff,1567px 36px #fff,781px 176px #fff,1256px 772px #fff,1763px 1439px #fff,439px 491px #fff,9px 148px #fff,809px 1203px #fff,698px 907px #fff,90px 842px #fff,294px 1810px #fff,1146px 116px #fff,69px 550px #fff,516px 1160px #fff,1931px 486px #fff,1428px 1717px #fff,455px 1574px #fff,667px 1338px #fff,264px 13px #fff,300px 1935px #fff,1572px 1723px #fff,870px 69px #fff,199px 1268px #fff,1411px 1414px #fff,1955px 716px #fff,1005px 1873px #fff,1723px 797px #fff,574px 1472px #fff,129px 1289px #fff,190px 815px #fff,1680px 1863px #fff,24px 97px #fff,1378px 831px #fff,435px 233px #fff,1197px 1793px #fff,341px 1735px #fff,1058px 305px #fff,442px 1760px #fff,876px 1367px #fff,1455px 708px #fff,1222px 1682px #fff,83px 325px #fff,243px 694px #fff,1183px 390px #fff,922px 1353px #fff,1937px 85px #fff,1816px 304px #fff,166px 1024px #fff,1297px 462px #fff,427px 1722px #fff,1662px 598px #fff,1267px 1645px #fff,1614px 1111px #fff,990px 205px #fff,1455px 736px #fff,1300px 1737px #fff,155px 801px #fff,1918px 319px #fff,1763px 97px #fff,436px 643px #fff,1877px 259px #fff,213px 1148px #fff,1083px 1508px #fff,1330px 1265px #fff,144px 1523px #fff,326px 160px #fff,678px 359px #fff,270px 112px #fff,1257px 1969px #fff,1838px 279px #fff,1853px 670px #fff,534px 1907px #fff,1596px 150px #fff,1458px 1222px #fff,618px 480px #fff,1550px 989px #fff,1420px 289px #fff,431px 1738px #fff,1913px 944px #fff,330px 1712px #fff,1364px 704px #fff,29px 1778px #fff,762px 1445px #fff,974px 899px #fff,1006px 1953px #fff,1373px 464px #fff,1355px 110px #fff,79px 310px #fff,818px 1998px #fff,1036px 1290px #fff,631px 1724px #fff,1762px 1077px #fff,782px 757px #fff,36px 125px #fff,1860px 1466px #fff,1217px 1795px #fff,304px 457px #fff,476px 363px #fff,1285px 700px #fff,609px 1910px #fff,1829px 439px #fff,1242px 1988px #fff,1228px 1500px #fff,1538px 832px #fff,1227px 1977px #fff,718px 763px #fff,876px 1297px #fff,742px 1965px #fff,1068px 1837px #fff,998px 1521px #fff,1485px 603px #fff,1991px 1046px #fff,361px 112px #fff,976px 271px #fff,1099px 1419px #fff,601px 1959px #fff,283px 1228px #fff,1879px 1473px #fff,99px 303px #fff,1741px 146px #fff,1889px 1169px #fff,1571px 1993px #fff,91px 1602px #fff,735px 1950px #fff,1291px 1281px #fff,243px 1716px #fff,1125px 963px #fff,1074px 826px #fff,1388px 1595px #fff,20px 1517px #fff,230px 1461px #fff,1177px 1429px #fff,1661px 1091px #fff,905px 1908px #fff,733px 515px #fff,25px 1948px #fff,611px 54px #fff,1962px 1710px #fff,1736px 1201px #fff,890px 1026px #fff,392px 1125px #fff,1768px 1260px #fff,560px 1278px #fff,1501px 741px #fff,1343px 750px #fff,853px 432px #fff,1056px 724px #fff,1767px 1014px #fff,1148px 1467px #fff,1655px 1677px #fff,1929px 1719px #fff,854px 866px #fff,187px 79px #fff,1789px 345px #fff,1797px 51px #fff,958px 1562px #fff,3px 1753px #fff,1707px 1916px #fff,1786px 1197px #fff,343px 1527px #fff,1687px 957px #fff,949px 893px #fff,1718px 705px #fff,1603px 1386px #fff,1514px 557px #fff,1179px 1336px #fff,444px 471px #fff,1967px 1397px #fff,298px 511px #fff,1952px 1950px #fff,479px 1526px #fff,156px 381px #fff,617px 1348px #fff,87px 1842px #fff,1416px 1174px #fff,473px 682px #fff,1948px 1066px #fff,382px 958px #fff,979px 1266px #fff,132px 887px #fff,1149px 465px #fff,486px 1067px #fff,245px 839px #fff,843px 604px #fff,1216px 1885px #fff,1369px 298px #fff,1775px 1023px #fff,519px 365px #fff,1254px 1945px #fff,1577px 969px #fff,1307px 581px #fff,1958px 492px #fff,1559px 27px #fff,1004px 1011px #fff,99px 695px #fff,1130px 37px #fff,1053px 881px #fff,1470px 1074px #fff,1701px 1422px #fff,822px 8px #fff,1175px 841px #fff,494px 136px #fff,1544px 65px #fff,1516px 355px #fff,1403px 121px #fff,1241px 163px #fff,341px 379px #fff,580px 1043px #fff,1026px 766px #fff,141px 987px #fff,1591px 1773px #fff,1915px 1032px #fff,428px 107px #fff,949px 574px #fff,144px 592px #fff,1429px 569px #fff,1605px 1488px #fff,1420px 1360px #fff,235px 360px #fff,1091px 546px #fff,588px 1719px #fff,476px 960px #fff,336px 310px #fff,253px 1120px #fff,456px 917px #fff,1774px 742px #fff,1809px 1315px #fff,959px 136px #fff,919px 790px #fff,494px 1449px #fff,5px 342px #fff,349px 1350px #fff,98px 524px #fff,1644px 1275px #fff,955px 1075px #fff,1519px 1777px #fff,446px 1389px #fff,1835px 607px #fff,1052px 54px #fff,600px 1678px #fff,1424px 1936px #fff,1204px 684px #fff,708px 1760px #fff,1265px 1851px #fff,421px 848px #fff,362px 163px #fff,589px 101px #fff,98px 1907px #fff,1619px 1537px #fff,1023px 997px #fff,1035px 605px #fff,879px 1631px #fff,514px 731px #fff,1098px 16px #fff,1265px 1636px #fff,1025px 707px #fff,1982px 1975px #fff,1016px 1285px #fff,117px 713px #fff,1160px 1567px #fff,916px 575px #fff,1155px 1807px #fff,1897px 744px #fff,769px 856px #fff,540px 307px #fff,13px 686px #fff,1138px 51px #fff,1516px 1719px #fff,78px 518px #fff,80px 1800px #fff,234px 1160px #fff,1607px 1688px #fff,1535px 1448px #fff,1584px 1641px #fff,824px 1464px #fff,1243px 882px #fff,48px 1280px #fff,416px 505px #fff,1164px 1576px #fff,579px 135px #fff,1871px 1674px #fff,1278px 926px #fff,496px 1457px #fff,965px 724px #fff,719px 787px #fff,250px 874px #fff,1641px 1483px #fff,1107px 697px #fff,184px 1473px #fff,419px 1337px #fff,1346px 953px #fff,1615px 1484px #fff,1256px 1932px #fff,352px 1564px #fff,1640px 900px #fff,1802px 850px #fff,39px 145px #fff,1761px 1082px #fff,1338px 1727px #fff,552px 419px #fff,1346px 83px #fff,1747px 817px #fff,1407px 500px #fff,1784px 357px #fff,1310px 1032px #fff,1156px 606px #fff,1437px 281px #fff,1635px 1358px #fff,1210px 500px #fff,574px 412px #fff,230px 836px #fff,1596px 1491px #fff,1323px 462px #fff,243px 1989px #fff,125px 1058px #fff,1932px 727px #fff,1652px 907px #fff,1625px 249px #fff,1063px 884px #fff,1945px 1338px #fff,51px 1387px #fff,1119px 711px #fff,814px 317px #fff,250px 1038px #fff,714px 1624px #fff,917px 1351px #fff,670px 275px #fff,986px 943px #fff,206px 362px #fff,1110px 448px #fff,57px 1872px #fff,1388px 1899px #fff,342px 370px #fff,67px 74px #fff,1123px 336px #fff,1936px 1082px #fff,366px 1370px #fff,1683px 1866px #fff,407px 806px #fff,261px 1013px #fff,1505px 647px #fff,85px 169px #fff,635px 1873px #fff,1370px 901px #fff,448px 225px #fff,348px 1838px #fff,745px 710px #fff,1329px 306px #fff,247px 154px #fff,1467px 768px #fff,141px 1946px #fff,1282px 1338px #fff,803px 1296px #fff,1229px 156px #fff,1257px 788px #fff,1247px 739px #fff,1954px 1827px #fff,1623px 224px #fff,120px 473px #fff,509px 1541px #fff,221px 537px #fff,1196px 845px #fff,1982px 1382px #fff,1164px 1570px #fff,436px 1201px #fff,912px 506px #fff,1232px 1901px #fff,1721px 935px #fff,1116px 532px #fff,1514px 1144px #fff,1303px 1778px #fff,1326px 1175px #fff,345px 1048px #fff,818px 1751px #fff,1360px 951px #fff,991px 1030px #fff,1997px 408px #fff,1165px 540px #fff,755px 1278px #fff,1532px 1131px #fff,1347px 191px #fff,1485px 310px #fff,1941px 930px #fff,357px 691px #fff,1275px 1924px #fff,1234px 1472px #fff,936px 1367px #fff,1516px 221px #fff,1746px 1491px #fff,412px 877px #fff,663px 963px #fff,1935px 1408px #fff,1688px 1259px #fff,1307px 1432px #fff,522px 204px #fff,1096px 1878px #fff,826px 1442px #fff,458px 341px #fff,902px 487px #fff,1113px 854px #fff,1783px 809px #fff,34px 883px #fff,631px 1454px #fff,1514px 1566px #fff,428px 1406px #fff,1583px 1590px #fff,1617px 571px #fff,354px 1099px #fff,1458px 1142px #fff,19px 1710px #fff,589px 11px #fff,1300px 1424px #fff,1354px 270px #fff,1867px 1202px #fff,1158px 1079px #fff,828px 1848px #fff,300px 420px #fff,1442px 741px #fff,1249px 6px #fff,1577px 1802px #fff,1826px 1068px #fff,438px 825px #fff,759px 1478px #fff,78px 1920px #fff,284px 1825px #fff,1903px 963px #fff,1188px 1633px #fff,534px 1009px #fff,536px 124px #fff,521px 1521px #fff,1669px 313px #fff,1509px 529px #fff,1718px 394px #fff,1443px 668px #fff,433px 831px #fff,1773px 130px #fff,723px 429px #fff;animation:animStar 500s linear infinite}#stars:after{content:" ";position:absolute;top:2000px;width:1px;height:1px;background:0 0;box-shadow:1087px 810px #fff,1020px 1604px #fff,762px 1888px #fff,690px 1374px #fff,988px 1584px #fff,1637px 583px #fff,256px 1972px #fff,657px 1637px #fff,1754px 1121px #fff,1317px 799px #fff,1175px 1699px #fff,1419px 1205px #fff,1304px 767px #fff,290px 449px #fff,902px 978px #fff,1315px 1377px #fff,244px 324px #fff,255px 1777px #fff,316px 213px #fff,1652px 105px #fff,762px 1048px #fff,1329px 1534px #fff,1050px 31px #fff,216px 1069px #fff,867px 1066px #fff,5px 621px #fff,1094px 1225px #fff,419px 237px #fff,1876px 240px #fff,1422px 868px #fff,1889px 978px #fff,892px 718px #fff,141px 1377px #fff,1236px 1224px #fff,1393px 1010px #fff,1505px 1190px #fff,618px 982px #fff,688px 319px #fff,1113px 1855px #fff,102px 1965px #fff,847px 47px #fff,1146px 1330px #fff,95px 347px #fff,1227px 712px #fff,1018px 1562px #fff,1437px 468px #fff,1129px 737px #fff,835px 1792px #fff,1157px 1551px #fff,72px 17px #fff,1522px 87px #fff,1990px 303px #fff,1147px 1132px #fff,631px 1449px #fff,515px 1306px #fff,540px 472px #fff,1868px 1534px #fff,910px 1868px #fff,717px 539px #fff,922px 1962px #fff,1150px 138px #fff,78px 163px #fff,697px 276px #fff,1787px 1827px #fff,1587px 1399px #fff,1681px 1347px #fff,161px 1435px #fff,928px 1175px #fff,1388px 1398px #fff,1415px 1775px #fff,1121px 1321px #fff,1385px 154px #fff,1321px 352px #fff,1285px 429px #fff,256px 1386px #fff,1218px 903px #fff,648px 724px #fff,1793px 891px #fff,1150px 382px #fff,687px 31px #fff,78px 1610px #fff,1019px 1565px #fff,152px 676px #fff,1429px 743px #fff,1577px 1488px #fff,1386px 1719px #fff,1471px 275px #fff,1459px 337px #fff,1513px 159px #fff,1387px 1281px #fff,57px 982px #fff,439px 997px #fff,846px 469px #fff,395px 907px #fff,206px 143px #fff,161px 517px #fff,1488px 1996px #fff,1149px 14px #fff,431px 1956px #fff,469px 1859px #fff,577px 479px #fff,1811px 1092px #fff,294px 1231px #fff,1076px 914px #fff,1324px 426px #fff,553px 1532px #fff,1121px 1188px #fff,148px 1130px #fff,803px 1961px #fff,1653px 1568px #fff,1291px 1732px #fff,382px 878px #fff,299px 1294px #fff,1049px 9px #fff,1697px 1530px #fff,257px 1774px #fff,512px 512px #fff,1305px 575px #fff,808px 1257px #fff,779px 655px #fff,1776px 779px #fff,1750px 1487px #fff,782px 524px #fff,1723px 242px #fff,339px 1487px #fff,1422px 1937px #fff,571px 101px #fff,330px 1814px #fff,874px 994px #fff,1029px 1632px #fff,393px 1168px #fff,398px 617px #fff,678px 746px #fff,1637px 1205px #fff,1076px 1463px #fff,1247px 1858px #fff,1750px 505px #fff,803px 857px #fff,1489px 1702px #fff,1669px 812px #fff,86px 1644px #fff,1625px 1352px #fff,717px 902px #fff,167px 1609px #fff,1883px 711px #fff,1954px 772px #fff,616px 1273px #fff,777px 608px #fff,1262px 1716px #fff,1835px 375px #fff,481px 1484px #fff,1653px 834px #fff,533px 201px #fff,1771px 1636px #fff,1178px 896px #fff,411px 1324px #fff,1886px 710px #fff,368px 1048px #fff,74px 1729px #fff,1567px 1521px #fff,1520px 1264px #fff,1999px 134px #fff,1569px 557px #fff,571px 1786px #fff,1854px 1702px #fff,134px 392px #fff,1475px 827px #fff,1101px 533px #fff,1753px 1548px #fff,629px 1763px #fff,271px 703px #fff,1373px 1564px #fff,68px 668px #fff,930px 1037px #fff,1693px 1762px #fff,1718px 1648px #fff,1585px 25px #fff,1422px 1009px #fff,1405px 188px #fff,140px 894px #fff,560px 1483px #fff,133px 33px #fff,41px 1593px #fff,496px 1534px #fff,582px 693px #fff,178px 1793px #fff,1763px 1410px #fff,1575px 885px #fff,38px 346px #fff,1439px 393px #fff,1700px 380px #fff,1161px 1887px #fff,1315px 1727px #fff,1413px 1971px #fff,129px 1432px #fff,1252px 204px #fff,945px 169px #fff,1530px 1167px #fff,1172px 707px #fff,30px 385px #fff,1005px 1144px #fff,1167px 1477px #fff,217px 1298px #fff,1764px 1164px #fff,1962px 483px #fff,438px 662px #fff,189px 1102px #fff,976px 615px #fff,1633px 740px #fff,169px 1627px #fff,112px 323px #fff,98px 1865px #fff,875px 1918px #fff,67px 1px #fff,1127px 1326px #fff,1296px 929px #fff,1643px 193px #fff,1259px 219px #fff,139px 509px #fff,1903px 1788px #fff,1301px 312px #fff,230px 1960px #fff,1717px 992px #fff,1945px 1338px #fff,216px 642px #fff,903px 733px #fff,1433px 1910px #fff,1366px 198px #fff,244px 1894px #fff,137px 961px #fff,1075px 1459px #fff,143px 1676px #fff,199px 1636px #fff,193px 1415px #fff,757px 665px #fff,158px 201px #fff,168px 3px #fff,225px 1937px #fff,1088px 222px #fff,1793px 1182px #fff,998px 407px #fff,1300px 904px #fff,652px 800px #fff,811px 53px #fff,1062px 1717px #fff,65px 1176px #fff,1524px 1941px #fff,201px 655px #fff,626px 1896px #fff,775px 1462px #fff,342px 1639px #fff,991px 149px #fff,162px 325px #fff,1941px 1009px #fff,1042px 1507px #fff,1736px 181px #fff,1960px 1649px #fff,1858px 1244px #fff,896px 1407px #fff,1986px 11px #fff,902px 979px #fff,818px 272px #fff,1455px 1832px #fff,794px 701px #fff,1567px 36px #fff,781px 176px #fff,1256px 772px #fff,1763px 1439px #fff,439px 491px #fff,9px 148px #fff,809px 1203px #fff,698px 907px #fff,90px 842px #fff,294px 1810px #fff,1146px 116px #fff,69px 550px #fff,516px 1160px #fff,1931px 486px #fff,1428px 1717px #fff,455px 1574px #fff,667px 1338px #fff,264px 13px #fff,300px 1935px #fff,1572px 1723px #fff,870px 69px #fff,199px 1268px #fff,1411px 1414px #fff,1955px 716px #fff,1005px 1873px #fff,1723px 797px #fff,574px 1472px #fff,129px 1289px #fff,190px 815px #fff,1680px 1863px #fff,24px 97px #fff,1378px 831px #fff,435px 233px #fff,1197px 1793px #fff,341px 1735px #fff,1058px 305px #fff,442px 1760px #fff,876px 1367px #fff,1455px 708px #fff,1222px 1682px #fff,83px 325px #fff,243px 694px #fff,1183px 390px #fff,922px 1353px #fff,1937px 85px #fff,1816px 304px #fff,166px 1024px #fff,1297px 462px #fff,427px 1722px #fff,1662px 598px #fff,1267px 1645px #fff,1614px 1111px #fff,990px 205px #fff,1455px 736px #fff,1300px 1737px #fff,155px 801px #fff,1918px 319px #fff,1763px 97px #fff,436px 643px #fff,1877px 259px #fff,213px 1148px #fff,1083px 1508px #fff,1330px 1265px #fff,144px 1523px #fff,326px 160px #fff,678px 359px #fff,270px 112px #fff,1257px 1969px #fff,1838px 279px #fff,1853px 670px #fff,534px 1907px #fff,1596px 150px #fff,1458px 1222px #fff,618px 480px #fff,1550px 989px #fff,1420px 289px #fff,431px 1738px #fff,1913px 944px #fff,330px 1712px #fff,1364px 704px #fff,29px 1778px #fff,762px 1445px #fff,974px 899px #fff,1006px 1953px #fff,1373px 464px #fff,1355px 110px #fff,79px 310px #fff,818px 1998px #fff,1036px 1290px #fff,631px 1724px #fff,1762px 1077px #fff,782px 757px #fff,36px 125px #fff,1860px 1466px #fff,1217px 1795px #fff,304px 457px #fff,476px 363px #fff,1285px 700px #fff,609px 1910px #fff,1829px 439px #fff,1242px 1988px #fff,1228px 1500px #fff,1538px 832px #fff,1227px 1977px #fff,718px 763px #fff,876px 1297px #fff,742px 1965px #fff,1068px 1837px #fff,998px 1521px #fff,1485px 603px #fff,1991px 1046px #fff,361px 112px #fff,976px 271px #fff,1099px 1419px #fff,601px 1959px #fff,283px 1228px #fff,1879px 1473px #fff,99px 303px #fff,1741px 146px #fff,1889px 1169px #fff,1571px 1993px #fff,91px 1602px #fff,735px 1950px #fff,1291px 1281px #fff,243px 1716px #fff,1125px 963px #fff,1074px 826px #fff,1388px 1595px #fff,20px 1517px #fff,230px 1461px #fff,1177px 1429px #fff,1661px 1091px #fff,905px 1908px #fff,733px 515px #fff,25px 1948px #fff,611px 54px #fff,1962px 1710px #fff,1736px 1201px #fff,890px 1026px #fff,392px 1125px #fff,1768px 1260px #fff,560px 1278px #fff,1501px 741px #fff,1343px 750px #fff,853px 432px #fff,1056px 724px #fff,1767px 1014px #fff,1148px 1467px #fff,1655px 1677px #fff,1929px 1719px #fff,854px 866px #fff,187px 79px #fff,1789px 345px #fff,1797px 51px #fff,958px 1562px #fff,3px 1753px #fff,1707px 1916px #fff,1786px 1197px #fff,343px 1527px #fff,1687px 957px #fff,949px 893px #fff,1718px 705px #fff,1603px 1386px #fff,1514px 557px #fff,1179px 1336px #fff,444px 471px #fff,1967px 1397px #fff,298px 511px #fff,1952px 1950px #fff,479px 1526px #fff,156px 381px #fff,617px 1348px #fff,87px 1842px #fff,1416px 1174px #fff,473px 682px #fff,1948px 1066px #fff,382px 958px #fff,979px 1266px #fff,132px 887px #fff,1149px 465px #fff,486px 1067px #fff,245px 839px #fff,843px 604px #fff,1216px 1885px #fff,1369px 298px #fff,1775px 1023px #fff,519px 365px #fff,1254px 1945px #fff,1577px 969px #fff,1307px 581px #fff,1958px 492px #fff,1559px 27px #fff,1004px 1011px #fff,99px 695px #fff,1130px 37px #fff,1053px 881px #fff,1470px 1074px #fff,1701px 1422px #fff,822px 8px #fff,1175px 841px #fff,494px 136px #fff,1544px 65px #fff,1516px 355px #fff,1403px 121px #fff,1241px 163px #fff,341px 379px #fff,580px 1043px #fff,1026px 766px #fff,141px 987px #fff,1591px 1773px #fff,1915px 1032px #fff,428px 107px #fff,949px 574px #fff,144px 592px #fff,1429px 569px #fff,1605px 1488px #fff,1420px 1360px #fff,235px 360px #fff,1091px 546px #fff,588px 1719px #fff,476px 960px #fff,336px 310px #fff,253px 1120px #fff,456px 917px #fff,1774px 742px #fff,1809px 1315px #fff,959px 136px #fff,919px 790px #fff,494px 1449px #fff,5px 342px #fff,349px 1350px #fff,98px 524px #fff,1644px 1275px #fff,955px 1075px #fff,1519px 1777px #fff,446px 1389px #fff,1835px 607px #fff,1052px 54px #fff,600px 1678px #fff,1424px 1936px #fff,1204px 684px #fff,708px 1760px #fff,1265px 1851px #fff,421px 848px #fff,362px 163px #fff,589px 101px #fff,98px 1907px #fff,1619px 1537px #fff,1023px 997px #fff,1035px 605px #fff,879px 1631px #fff,514px 731px #fff,1098px 16px #fff,1265px 1636px #fff,1025px 707px #fff,1982px 1975px #fff,1016px 1285px #fff,117px 713px #fff,1160px 1567px #fff,916px 575px #fff,1155px 1807px #fff,1897px 744px #fff,769px 856px #fff,540px 307px #fff,13px 686px #fff,1138px 51px #fff,1516px 1719px #fff,78px 518px #fff,80px 1800px #fff,234px 1160px #fff,1607px 1688px #fff,1535px 1448px #fff,1584px 1641px #fff,824px 1464px #fff,1243px 882px #fff,48px 1280px #fff,416px 505px #fff,1164px 1576px #fff,579px 135px #fff,1871px 1674px #fff,1278px 926px #fff,496px 1457px #fff,965px 724px #fff,719px 787px #fff,250px 874px #fff,1641px 1483px #fff,1107px 697px #fff,184px 1473px #fff,419px 1337px #fff,1346px 953px #fff,1615px 1484px #fff,1256px 1932px #fff,352px 1564px #fff,1640px 900px #fff,1802px 850px #fff,39px 145px #fff,1761px 1082px #fff,1338px 1727px #fff,552px 419px #fff,1346px 83px #fff,1747px 817px #fff,1407px 500px #fff,1784px 357px #fff,1310px 1032px #fff,1156px 606px #fff,1437px 281px #fff,1635px 1358px #fff,1210px 500px #fff,574px 412px #fff,230px 836px #fff,1596px 1491px #fff,1323px 462px #fff,243px 1989px #fff,125px 1058px #fff,1932px 727px #fff,1652px 907px #fff,1625px 249px #fff,1063px 884px #fff,1945px 1338px #fff,51px 1387px #fff,1119px 711px #fff,814px 317px #fff,250px 1038px #fff,714px 1624px #fff,917px 1351px #fff,670px 275px #fff,986px 943px #fff,206px 362px #fff,1110px 448px #fff,57px 1872px #fff,1388px 1899px #fff,342px 370px #fff,67px 74px #fff,1123px 336px #fff,1936px 1082px #fff,366px 1370px #fff,1683px 1866px #fff,407px 806px #fff,261px 1013px #fff,1505px 647px #fff,85px 169px #fff,635px 1873px #fff,1370px 901px #fff,448px 225px #fff,348px 1838px #fff,745px 710px #fff,1329px 306px #fff,247px 154px #fff,1467px 768px #fff,141px 1946px #fff,1282px 1338px #fff,803px 1296px #fff,1229px 156px #fff,1257px 788px #fff,1247px 739px #fff,1954px 1827px #fff,1623px 224px #fff,120px 473px #fff,509px 1541px #fff,221px 537px #fff,1196px 845px #fff,1982px 1382px #fff,1164px 1570px #fff,436px 1201px #fff,912px 506px #fff,1232px 1901px #fff,1721px 935px #fff,1116px 532px #fff,1514px 1144px #fff,1303px 1778px #fff,1326px 1175px #fff,345px 1048px #fff,818px 1751px #fff,1360px 951px #fff,991px 1030px #fff,1997px 408px #fff,1165px 540px #fff,755px 1278px #fff,1532px 1131px #fff,1347px 191px #fff,1485px 310px #fff,1941px 930px #fff,357px 691px #fff,1275px 1924px #fff,1234px 1472px #fff,936px 1367px #fff,1516px 221px #fff,1746px 1491px #fff,412px 877px #fff,663px 963px #fff,1935px 1408px #fff,1688px 1259px #fff,1307px 1432px #fff,522px 204px #fff,1096px 1878px #fff,826px 1442px #fff,458px 341px #fff,902px 487px #fff,1113px 854px #fff,1783px 809px #fff,34px 883px #fff,631px 1454px #fff,1514px 1566px #fff,428px 1406px #fff,1583px 1590px #fff,1617px 571px #fff,354px 1099px #fff,1458px 1142px #fff,19px 1710px #fff,589px 11px #fff,1300px 1424px #fff,1354px 270px #fff,1867px 1202px #fff,1158px 1079px #fff,828px 1848px #fff,300px 420px #fff,1442px 741px #fff,1249px 6px #fff,1577px 1802px #fff,1826px 1068px #fff,438px 825px #fff,759px 1478px #fff,78px 1920px #fff,284px 1825px #fff,1903px 963px #fff,1188px 1633px #fff,534px 1009px #fff,536px 124px #fff,521px 1521px #fff,1669px 313px #fff,1509px 529px #fff,1718px 394px #fff,1443px 668px #fff,433px 831px #fff,1773px 130px #fff,723px 429px #fff}#stars2{width:2px;height:2px;background:0 0;box-shadow:1313px 90px #fff,1439px 1727px #fff,1075px 1590px #fff,1289px 1501px #fff,397px 1439px #fff,46px 808px #fff,1892px 131px #fff,1887px 596px #fff,1854px 632px #fff,247px 619px #fff,321px 374px #fff,497px 1295px #fff,801px 1153px #fff,762px 1222px #fff,480px 1847px #fff,1862px 1611px #fff,991px 486px #fff,313px 1181px #fff,499px 507px #fff,1091px 270px #fff,1290px 350px #fff,1244px 220px #fff,1776px 1772px #fff,1259px 555px #fff,572px 1963px #fff,1920px 1534px #fff,669px 802px #fff,631px 1599px #fff,1916px 77px #fff,132px 411px #fff,982px 1481px #fff,1534px 102px #fff,1234px 1960px #fff,633px 1103px #fff,136px 1501px #fff,1413px 352px #fff,265px 1844px #fff,717px 1470px #fff,947px 1666px #fff,1909px 889px #fff,1713px 1544px #fff,442px 1692px #fff,1175px 1550px #fff,138px 908px #fff,218px 1444px #fff,1135px 466px #fff,1541px 1894px #fff,1613px 4px #fff,68px 779px #fff,1225px 1735px #fff,799px 1101px #fff,1331px 176px #fff,353px 1131px #fff,930px 972px #fff,175px 1216px #fff,481px 476px #fff,1268px 64px #fff,1330px 1809px #fff,1429px 290px #fff,455px 1347px #fff,709px 1196px #fff,1349px 618px #fff,1441px 1849px #fff,1724px 804px #fff,718px 1042px #fff,1612px 190px #fff,1683px 116px #fff,527px 265px #fff,35px 1804px #fff,1457px 142px #fff,24px 358px #fff,587px 113px #fff,1238px 713px #fff,40px 193px #fff,694px 330px #fff,1664px 353px #fff,1232px 1585px #fff,608px 155px #fff,849px 329px #fff,1160px 1158px #fff,1451px 479px #fff,214px 1521px #fff,317px 286px #fff,343px 1154px #fff,1890px 520px #fff,1586px 1182px #fff,1628px 993px #fff,1039px 1332px #fff,297px 997px #fff,336px 799px #fff,496px 1903px #fff,847px 1589px #fff,1027px 1171px #fff,378px 57px #fff,1645px 979px #fff,223px 732px #fff,1000px 409px #fff,478px 365px #fff,1866px 468px #fff,962px 1003px #fff,1591px 866px #fff,1561px 1947px #fff,1992px 1920px #fff,1705px 1694px #fff,732px 1376px #fff,1320px 666px #fff,922px 1569px #fff,1750px 580px #fff,1692px 652px #fff,1040px 135px #fff,1646px 718px #fff,1899px 1427px #fff,134px 1933px #fff,1517px 1213px #fff,1593px 1190px #fff,844px 185px #fff,61px 1476px #fff,1728px 1242px #fff,1409px 495px #fff,1720px 361px #fff,619px 1683px #fff,1627px 466px #fff,1856px 970px #fff,902px 1382px #fff,1560px 749px #fff,1044px 466px #fff,184px 949px #fff,263px 443px #fff,1583px 968px #fff,1442px 450px #fff,692px 1306px #fff,118px 1166px #fff,1975px 1143px #fff,1598px 613px #fff,1953px 4px #fff,147px 13px #fff,1588px 1197px #fff,813px 1293px #fff,1093px 1045px #fff,284px 1452px #fff,785px 1446px #fff,408px 512px #fff,694px 1677px #fff,1404px 1447px #fff,637px 1911px #fff,1408px 1931px #fff,384px 239px #fff,193px 1591px #fff,944px 1683px #fff,1236px 1940px #fff,1772px 1082px #fff,497px 1167px #fff,1289px 1292px #fff,1409px 1863px #fff,551px 515px #fff,857px 1376px #fff,1392px 73px #fff,1645px 79px #fff,958px 1817px #fff,1270px 1011px #fff,1450px 1882px #fff,1251px 1601px #fff,308px 545px #fff,748px 135px #fff,1508px 509px #fff,614px 1694px #fff,1581px 1528px #fff,324px 1586px #fff,20px 1447px #fff,349px 1399px #fff,1988px 450px #fff,1257px 543px #fff,783px 293px #fff,1828px 180px #fff,1082px 1609px #fff,1554px 432px #fff,1182px 1829px #fff,949px 1595px #fff,1158px 1083px #fff,432px 1029px #fff,335px 877px #fff,135px 1793px #fff,1148px 1988px #fff,1480px 1936px #fff,1785px 1406px #fff,2px 1855px #fff,200px 1136px #fff,1770px 210px #fff,1366px 1406px #fff,1912px 302px #fff,1041px 1406px #fff,1899px 1159px #fff,1763px 445px #fff,282px 1197px #fff,666px 1888px #fff,1649px 239px #fff,1741px 1084px #fff,476px 1415px #fff,785px 895px #fff,1218px 180px #fff;animation:animStar 1000s linear infinite}#stars2:after{content:" ";position:absolute;top:2000px;width:2px;height:2px;background:0 0;box-shadow:1313px 90px #fff,1439px 1727px #fff,1075px 1590px #fff,1289px 1501px #fff,397px 1439px #fff,46px 808px #fff,1892px 131px #fff,1887px 596px #fff,1854px 632px #fff,247px 619px #fff,321px 374px #fff,497px 1295px #fff,801px 1153px #fff,762px 1222px #fff,480px 1847px #fff,1862px 1611px #fff,991px 486px #fff,313px 1181px #fff,499px 507px #fff,1091px 270px #fff,1290px 350px #fff,1244px 220px #fff,1776px 1772px #fff,1259px 555px #fff,572px 1963px #fff,1920px 1534px #fff,669px 802px #fff,631px 1599px #fff,1916px 77px #fff,132px 411px #fff,982px 1481px #fff,1534px 102px #fff,1234px 1960px #fff,633px 1103px #fff,136px 1501px #fff,1413px 352px #fff,265px 1844px #fff,717px 1470px #fff,947px 1666px #fff,1909px 889px #fff,1713px 1544px #fff,442px 1692px #fff,1175px 1550px #fff,138px 908px #fff,218px 1444px #fff,1135px 466px #fff,1541px 1894px #fff,1613px 4px #fff,68px 779px #fff,1225px 1735px #fff,799px 1101px #fff,1331px 176px #fff,353px 1131px #fff,930px 972px #fff,175px 1216px #fff,481px 476px #fff,1268px 64px #fff,1330px 1809px #fff,1429px 290px #fff,455px 1347px #fff,709px 1196px #fff,1349px 618px #fff,1441px 1849px #fff,1724px 804px #fff,718px 1042px #fff,1612px 190px #fff,1683px 116px #fff,527px 265px #fff,35px 1804px #fff,1457px 142px #fff,24px 358px #fff,587px 113px #fff,1238px 713px #fff,40px 193px #fff,694px 330px #fff,1664px 353px #fff,1232px 1585px #fff,608px 155px #fff,849px 329px #fff,1160px 1158px #fff,1451px 479px #fff,214px 1521px #fff,317px 286px #fff,343px 1154px #fff,1890px 520px #fff,1586px 1182px #fff,1628px 993px #fff,1039px 1332px #fff,297px 997px #fff,336px 799px #fff,496px 1903px #fff,847px 1589px #fff,1027px 1171px #fff,378px 57px #fff,1645px 979px #fff,223px 732px #fff,1000px 409px #fff,478px 365px #fff,1866px 468px #fff,962px 1003px #fff,1591px 866px #fff,1561px 1947px #fff,1992px 1920px #fff,1705px 1694px #fff,732px 1376px #fff,1320px 666px #fff,922px 1569px #fff,1750px 580px #fff,1692px 652px #fff,1040px 135px #fff,1646px 718px #fff,1899px 1427px #fff,134px 1933px #fff,1517px 1213px #fff,1593px 1190px #fff,844px 185px #fff,61px 1476px #fff,1728px 1242px #fff,1409px 495px #fff,1720px 361px #fff,619px 1683px #fff,1627px 466px #fff,1856px 970px #fff,902px 1382px #fff,1560px 749px #fff,1044px 466px #fff,184px 949px #fff,263px 443px #fff,1583px 968px #fff,1442px 450px #fff,692px 1306px #fff,118px 1166px #fff,1975px 1143px #fff,1598px 613px #fff,1953px 4px #fff,147px 13px #fff,1588px 1197px #fff,813px 1293px #fff,1093px 1045px #fff,284px 1452px #fff,785px 1446px #fff,408px 512px #fff,694px 1677px #fff,1404px 1447px #fff,637px 1911px #fff,1408px 1931px #fff,384px 239px #fff,193px 1591px #fff,944px 1683px #fff,1236px 1940px #fff,1772px 1082px #fff,497px 1167px #fff,1289px 1292px #fff,1409px 1863px #fff,551px 515px #fff,857px 1376px #fff,1392px 73px #fff,1645px 79px #fff,958px 1817px #fff,1270px 1011px #fff,1450px 1882px #fff,1251px 1601px #fff,308px 545px #fff,748px 135px #fff,1508px 509px #fff,614px 1694px #fff,1581px 1528px #fff,324px 1586px #fff,20px 1447px #fff,349px 1399px #fff,1988px 450px #fff,1257px 543px #fff,783px 293px #fff,1828px 180px #fff,1082px 1609px #fff,1554px 432px #fff,1182px 1829px #fff,949px 1595px #fff,1158px 1083px #fff,432px 1029px #fff,335px 877px #fff,135px 1793px #fff,1148px 1988px #fff,1480px 1936px #fff,1785px 1406px #fff,2px 1855px #fff,200px 1136px #fff,1770px 210px #fff,1366px 1406px #fff,1912px 302px #fff,1041px 1406px #fff,1899px 1159px #fff,1763px 445px #fff,282px 1197px #fff,666px 1888px #fff,1649px 239px #fff,1741px 1084px #fff,476px 1415px #fff,785px 895px #fff,1218px 180px #fff}#stars3{width:3px;height:3px;background:0 0;box-shadow:1478px 1894px #fff,806px 226px #fff,367px 1724px #fff,259px 1519px #fff,386px 116px #fff,1661px 1592px #fff,1451px 505px #fff,822px 875px #fff,434px 1291px #fff,361px 31px #fff,614px 1484px #fff,1158px 481px #fff,8px 1871px #fff,1250px 545px #fff,408px 1211px #fff,1885px 1418px #fff,113px 1827px #fff,967px 1135px #fff,1222px 1677px #fff,1817px 1489px #fff,145px 1578px #fff,226px 767px #fff,1596px 1598px #fff,986px 1593px #fff,1967px 1521px #fff,1306px 1301px #fff,59px 475px #fff,46px 542px #fff,1677px 251px #fff,92px 147px #fff,1854px 1676px #fff,404px 1806px #fff,1420px 404px #fff,524px 270px #fff,1929px 1990px #fff,1440px 1674px #fff,923px 1547px #fff,874px 1082px #fff,1417px 683px #fff,1819px 1657px #fff,409px 1695px #fff,370px 1601px #fff,313px 1546px #fff,287px 1829px #fff,1048px 443px #fff,133px 168px #fff,572px 1560px #fff,450px 1012px #fff,1065px 202px #fff,1055px 655px #fff,1066px 298px #fff,94px 1803px #fff,1959px 576px #fff,1404px 136px #fff,815px 475px #fff,1940px 348px #fff,68px 911px #fff,476px 213px #fff,1456px 215px #fff,331px 1648px #fff,101px 1262px #fff,796px 1421px #fff,1175px 1356px #fff,1136px 122px #fff,327px 933px #fff,206px 91px #fff,759px 1362px #fff,188px 375px #fff,424px 576px #fff,1769px 701px #fff,1413px 39px #fff,1957px 961px #fff,772px 866px #fff,1595px 1037px #fff,1536px 419px #fff,163px 1858px #fff,1952px 620px #fff,412px 1436px #fff,10px 1875px #fff,1618px 1696px #fff,1018px 1756px #fff,337px 1571px #fff,1615px 1286px #fff,1016px 890px #fff,1168px 1926px #fff,1427px 1215px #fff,306px 959px #fff,116px 1677px #fff,1595px 1499px #fff,897px 1071px #fff,732px 1232px #fff,922px 1322px #fff,1785px 1248px #fff,1890px 1180px #fff,711px 1840px #fff,156px 967px #fff,1244px 244px #fff,1471px 69px #fff,418px 1058px #fff,159px 1620px #fff;animation:animStar 1500s linear infinite}#stars3:after{content:" ";position:absolute;top:2000px;width:3px;height:3px;background:0 0;box-shadow:1478px 1894px #fff,806px 226px #fff,367px 1724px #fff,259px 1519px #fff,386px 116px #fff,1661px 1592px #fff,1451px 505px #fff,822px 875px #fff,434px 1291px #fff,361px 31px #fff,614px 1484px #fff,1158px 481px #fff,8px 1871px #fff,1250px 545px #fff,408px 1211px #fff,1885px 1418px #fff,113px 1827px #fff,967px 1135px #fff,1222px 1677px #fff,1817px 1489px #fff,145px 1578px #fff,226px 767px #fff,1596px 1598px #fff,986px 1593px #fff,1967px 1521px #fff,1306px 1301px #fff,59px 475px #fff,46px 542px #fff,1677px 251px #fff,92px 147px #fff,1854px 1676px #fff,404px 1806px #fff,1420px 404px #fff,524px 270px #fff,1929px 1990px #fff,1440px 1674px #fff,923px 1547px #fff,874px 1082px #fff,1417px 683px #fff,1819px 1657px #fff,409px 1695px #fff,370px 1601px #fff,313px 1546px #fff,287px 1829px #fff,1048px 443px #fff,133px 168px #fff,572px 1560px #fff,450px 1012px #fff,1065px 202px #fff,1055px 655px #fff,1066px 298px #fff,94px 1803px #fff,1959px 576px #fff,1404px 136px #fff,815px 475px #fff,1940px 348px #fff,68px 911px #fff,476px 213px #fff,1456px 215px #fff,331px 1648px #fff,101px 1262px #fff,796px 1421px #fff,1175px 1356px #fff,1136px 122px #fff,327px 933px #fff,206px 91px #fff,759px 1362px #fff,188px 375px #fff,424px 576px #fff,1769px 701px #fff,1413px 39px #fff,1957px 961px #fff,772px 866px #fff,1595px 1037px #fff,1536px 419px #fff,163px 1858px #fff,1952px 620px #fff,412px 1436px #fff,10px 1875px #fff,1618px 1696px #fff,1018px 1756px #fff,337px 1571px #fff,1615px 1286px #fff,1016px 890px #fff,1168px 1926px #fff,1427px 1215px #fff,306px 959px #fff,116px 1677px #fff,1595px 1499px #fff,897px 1071px #fff,732px 1232px #fff,922px 1322px #fff,1785px 1248px #fff,1890px 1180px #fff,711px 1840px #fff,156px 967px #fff,1244px 244px #fff,1471px 69px #fff,418px 1058px #fff,159px 1620px #fff}@keyframes animStar{from{transform:translateY(0)}to{transform:translateY(-2000px)}}</style></head><body><div class="container"><div class="mb-3 d-flex flex-wrap" id="folder-list"></div><div class="mb-3" id="file-list"></div><div class="image-container" id="image-container"><img alt="Изображение" id="panzoom-image" src="https://station14.ru/images/logo.svg"><div id="stars"></div><div id="stars2"></div><div id="stars3"></div></div><div class="m-1" id="buttonsGroupPlus"><button class="btn btn-outline-light btn-sm" id="fullscreen-toggle">Полный экран</button><button class="btn btn-outline-light btn-sm" id="open-in-new-window">Открыть в отдельном окне</button><a class="btn btn-outline-light btn-sm" href="https://station14.ru" target="_top">Вернуться на главную страницу вики</a></div></div><script src="https://cdn.jsdelivr.net/npm/[email protected].3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"></script><script src="https://unpkg.com/[email protected]/dist/panzoom.min.js"></script><script>async function fetchFilesFromFolder(e){const t=await fetch(e);return[...(await t.text()).matchAll(/{"name":"(.*?)",.*?"type":"file"}/g)].map(e=>e[1])}async function displayFiles(e){const t=await fetchFilesFromFolder(e),n={};for(const e of t){const[l,o]=e.split("-"),c=l+"_pool.txt";if(t.includes(c)){const t="⭐️ "+l;n[t]||(n[t]=[]),n[t].push(e)}else{if(e.endsWith("_pool.txt"))continue;n[l]||(n[l]=[]),n[l].push(e)}}document.getElementById("folder-list").innerHTML="";for(const e in n)displayFolderData(e,n[e])}function displayFolderData(e,t){const n=document.createElement("div");n.classList.add("folder");const l=document.createElement("button");l.classList.add("btn","btn-outline-light","m-1","btn-sm"),l.textContent=e,l.onclick=(()=>loadFilesForMap(e,t)),n.appendChild(l),document.getElementById("folder-list").appendChild(n)}function loadFilesForMap(e,t){const n=document.getElementById("file-list");n.innerHTML="";for(const e of t)if(e.endsWith("_maxsize.txt")){const n=e.split("_")[0],l=t.findIndex(e=>e.includes(n));t[l].includes("📌 ")||(t[l]="📌 "+t[l])}for(const l of t){if(l.endsWith("_pool.txt")||l.endsWith("_maxsize.txt"))continue;const t=document.createElement("button");t.textContent=l.split(".")[0],t.classList.add("btn","btn-outline-light","m-1","btn-sm"),t.onclick=(()=>showMap(e.replace("⭐️ ",""),l,t)),n.appendChild(t)}}async function showMap(e,t,n){const l="https://thumb.cloud.mail.ru/weblink/thumb/xw1/cxkL/ePLV5CycA/"+t.replace("📌 ",""),o=document.getElementById("panzoom-image");o.src=l;panzoom(o,{canvas:!0,initialZoom:.3,smoothScroll:!1});const c=o.parentElement;c.addEventListener("wheel",panzoom.zoomWithWheel),c.addEventListener("wheel",function(e){e.shiftKey&&panzoom.zoomWithWheel(e)});const s=document.getElementById("open-in-new-window");s.style.display="block",s.onclick=(()=>window.open(l,"_blank")),document.querySelectorAll("#file-list button").forEach(e=>e.classList.remove("active")),n.classList.add("active")}function toggleFullscreen(){const e=document.getElementById("image-container");document.fullscreenElement?document.exitFullscreen():e.requestFullscreen().catch(e=>{console.log("Ошибка при попытке открыть в полноэкранном режиме:",e)})}document.getElementById("fullscreen-toggle").addEventListener("click",toggleFullscreen),document.addEventListener("fullscreenchange",()=>{const e=document.getElementById("image-container");document.fullscreenElement?e.classList.add("fullscreen--image-container"):e.classList.remove("fullscreen--image-container")}),document.getElementById("fullscreen-toggle").addEventListener("click",toggleFullscreen);const folderUrl="https://api.codetabs.com/v1/proxy/?quest=https://cloud.mail.ru/public/cxkL/ePLV5CycA";displayFiles(folderUrl);</script></body></html>', | |||
srcdoc: '<!doctype html><html lang=" | width: '100%', | ||
width: ' | height: '100%', | ||
height: ' | name: 'iframeMapRender', | ||
name: ' | id: 'iframeMapRender' | ||
id: ' | |||
}, | }, | ||
iframeSkillsTableRed: { | iframeSkillsTableRed: { | ||
Строка 32: | Строка 28: | ||
const serversStatus = [{ | const serversStatus = [{ | ||
name: "server-main", | name: "server-main", | ||
connect: "https://game2.station14.ru/main/server/status", | connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/main/server/status", | ||
serverconnect: "game2.station14.ru/main/server" | serverconnect: "game2.station14.ru/main/server" | ||
}, { | }, { | ||
name: "server-nova", | name: "server-nova", | ||
connect: "https://game2.station14.ru/nova/server/status", | connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/nova/server/status", | ||
serverconnect: "game2.station14.ru/nova/server" | serverconnect: "game2.station14.ru/nova/server" | ||
}, { | }, { | ||
name: "server-athara", | name: "server-athara", | ||
connect: "https://game2.station14.ru/athara/server/status", | connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/athara/server/status", | ||
serverconnect: "game2.station14.ru/athara/server" | serverconnect: "game2.station14.ru/athara/server" | ||
}, { | }, { | ||
name: "server-solaris", | name: "server-solaris", | ||
connect: "https://game2.station14.ru/solaris/server/status", | connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/solaris/server/status", | ||
serverconnect: "game2.station14.ru/solaris/server" | serverconnect: "game2.station14.ru/solaris/server" | ||
}, { | }, { | ||
name: "server-echo", | name: "server-echo", | ||
connect: "https://game2.station14.ru/echo/server/status", | connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/echo/server/status", | ||
serverconnect: "game2.station14.ru/echo/server" | serverconnect: "game2.station14.ru/echo/server" | ||
}, { | }, { | ||
name: "server-elysium", | name: "server-elysium", | ||
connect: "https://game2.station14.ru/elysium/server/status", | connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/elysium/server/status", | ||
serverconnect: "game2.station14.ru/elysium/server" | serverconnect: "game2.station14.ru/elysium/server" | ||
}, { | }, { | ||
name: "server-nebula", | name: "server-nebula", | ||
connect: "https://game2.station14.ru/nebula/server/status", | connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/nebula/server/status", | ||
serverconnect: "game2.station14.ru/nebula/server" | serverconnect: "game2.station14.ru/nebula/server" | ||
}, { | }, { | ||
name: "server-wl", | name: "server-wl", | ||
connect: "https://game2.station14.ru/wl/server/status", | connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/wl/server/status", | ||
serverconnect: "game2.station14.ru/wl/server" | serverconnect: "game2.station14.ru/wl/server" | ||
}, { | }, { | ||
Строка 72: | Строка 68: | ||
}, { | }, { | ||
name: "server-marines", | name: "server-marines", | ||
connect: "https://game1.station14.ru/marines-main/server/status", | connect: "https://api.codetabs.com/v1/proxy/?quest=https://game1.station14.ru/marines-main/server/status", | ||
serverconnect: "game1.station14.ru/marines-main/server" | serverconnect: "game1.station14.ru/marines-main/server" | ||
}, { | }, { | ||
name: "server-stalker", | name: "server-stalker", | ||
connect: "https://api.codetabs.com/v1/proxy/?quest= | connect: "https://api.codetabs.com/v1/proxy/?quest=http://game.stalkers14.xyz/status", | ||
serverconnect: "game.stalkers14.xyz" | serverconnect: "game.stalkers14.xyz" | ||
}]; | }]; | ||
Строка 102: | Строка 98: | ||
return getXHRInfo(connect).then(function(serverData) { | return getXHRInfo(connect).then(function(serverData) { | ||
var unixStartRound = getUnixTime(serverData.round_start_time); | var unixStartRound = getUnixTime(serverData.round_start_time); | ||
var timeDisplay = unixStartRound ? secondsToDHM(currentUnixTime - | var timeDisplay = unixStartRound ? secondsToDHM(currentUnixTime - unixStartRound) : "–"; | ||
var currentPlayers = serverData.players; | var currentPlayers = serverData.players; | ||
var maxPlayers = serverData.soft_max_players; | var maxPlayers = serverData.soft_max_players; | ||
// Вычисляем процент | // Вычисляем процент | ||
var percentage = maxPlayers > 0 ? Math.round((currentPlayers / | var percentage = maxPlayers > 0 ? Math.round((currentPlayers / maxPlayers) * 100) : 0; | ||
// Форматируем строку с количеством игроков | // Форматируем строку с количеством игроков | ||
var playersDisplay = currentPlayers && maxPlayers ? currentPlayers + '/' + | var playersDisplay = currentPlayers && maxPlayers ? currentPlayers + '/' + maxPlayers : "–"; | ||
// Функция для проверки на пустые данные | // Функция для проверки на пустые данные | ||
function checkValue(value) { | function checkValue(value) { | ||
Строка 155: | Строка 148: | ||
function getServerTime() { | function getServerTime() { | ||
return fetch( | return fetch('https://station14.ru/api.php?action=query&meta=siteinfo&siprop=general&format=json').then( | ||
function(response) { | |||
return response.json(); | |||
}).then(function(data) { | |||
return getUnixTime(data.query.general.time); | return getUnixTime(data.query.general.time); | ||
}); | }); | ||
Строка 171: | Строка 163: | ||
2: "Завершение" | 2: "Завершение" | ||
}; | }; | ||
serverStatusFrame.querySelector(".serverInfoRoundSet").textContent = "#" + | serverStatusFrame.querySelector(".serverInfoRoundSet").textContent = "#" + serverObj.round; | ||
serverStatusFrame.querySelector(".serverStatusSet").textContent = statusText[serverObj.status] || | |||
serverStatusFrame.querySelector(".serverStatusSet").textContent = statusText[ | "Неизвестный статус"; | ||
serverStatusFrame.querySelector(".serverMapSet").textContent = serverObj.map; | serverStatusFrame.querySelector(".serverMapSet").textContent = serverObj.map; | ||
serverStatusFrame.querySelector(".serverTimeSet").textContent = serverObj.time; | serverStatusFrame.querySelector(".serverTimeSet").textContent = serverObj.time; | ||
Строка 183: | Строка 174: | ||
return server.name === serverName; | return server.name === serverName; | ||
}); | }); | ||
var connectionStringElement = serverStatusFrame.querySelector( | var connectionStringElement = serverStatusFrame.querySelector(".serverConnectSet"); | ||
if (connectionStringElement) { | if (connectionStringElement) { | ||
connectionStringElement.textContent = serverData ? serverData.serverconnect : | connectionStringElement.textContent = serverData ? serverData.serverconnect : '-'; // Устанавливаем строку подключения | ||
} | } | ||
// Обновляем прогресс-бар | // Обновляем прогресс-бар | ||
Строка 233: | Строка 222: | ||
function escapeAndMinifyCSS(css) { | function escapeAndMinifyCSS(css) { | ||
return css.replace(/\\/g, '\\\\') // Экранируем обратный слэш | |||
.replace(/\n/g, '') // Удаляем переносы строк (по желанию) | |||
.replace(/\/\*[\s\S]*?\*\//g, '') // Удаляем комментарии | |||
.replace(/\s+/g, ' ') // Заменяем множественные пробелы на один | |||
.trim(); // Удаляем пробелы в начале и конце | |||
} | } | ||
const addedStyles = new Set(); | const addedStyles = new Set(); | ||
function customCSS(textCSS) { | function customCSS(textCSS) { | ||
const escapedCSS = escapeAndMinifyCSS(textCSS); // Экранируем CSS | |||
// Проверяем, был ли уже добавлен этот CSS | |||
if (!addedStyles.has(escapedCSS)) { | |||
addedStyles.add(escapedCSS); // Добавляем в множество уникальных стилей | |||
const styleSheet = document.createElement("style"); | |||
styleSheet.textContent = escapedCSS; | |||
document.head.appendChild(styleSheet); | |||
} | |||
} | } | ||
Строка 291: | Строка 276: | ||
return iframe; | return iframe; | ||
} | } | ||
// Функция для увеличения яркости цвета | |||
function brightenColor(color, factor) { | |||
function getBrightness(r, g, b) { | |||
return 0.2126 * r + 0.7152 * g + 0.0722 * b; | |||
} | |||
function isGray(r, g, b) { | |||
var maxDiff = 20; // Максимальное допустимое отклонение между RGB для серого | |||
return Math.abs(r - g) < maxDiff && Math.abs(g - b) < maxDiff && Math.abs(r - b) < maxDiff; | |||
} | |||
var rgbValues = color.match(/\d+(\.\d+)?/g); | |||
var r = parseInt(rgbValues[0], 10); | |||
var g = parseInt(rgbValues[1], 10); | |||
var b = parseInt(rgbValues[2], 10); | |||
var a = rgbValues.length === 4 ? parseFloat(rgbValues[3]) : 1; | |||
var brightness = getBrightness(r, g, b); | |||
if (factor === undefined) { | |||
if (brightness <= 40) { | |||
factor = 6; | |||
} else if (brightness <= 180) { | |||
factor = 4; | |||
} else { | |||
factor = 0; | |||
} | |||
} | |||
// Если цвет серый, уменьшаем фактор | |||
if (isGray(r, g, b)) { | |||
factor = Math.max(1, factor * 0.50); | |||
} | |||
// Добавляем фактор вместо умножения | |||
r = Math.min(255, r + factor); | |||
g = Math.min(255, g + factor); | |||
b = Math.min(255, b + factor); | |||
return a < 1 ? 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')' : 'rgb(' + r + ', ' + g + ', ' + b + ')'; | |||
} | } | ||
// Функция для подсветки ячеек в таблице при наведении | // Функция для подсветки ячеек в таблице при наведении | ||
function applyHighlighting() { | function applyHighlighting() { | ||
if (/Mobi|Android/i.test(navigator.userAgent)) { | |||
return; | |||
} | |||
var tables = document.querySelectorAll('.wikitable:not(.no-highlight-table)'); | |||
Array.prototype.forEach.call(tables, function(table) { | |||
var tbody = table.querySelector('tbody'); | |||
var thead = table.querySelector('thead'); | |||
var noHeader = table.classList.contains('no-header-table'); | |||
if (tbody) { | |||
// Получаем все строки <tr> внутри первого уровня <tbody> | |||
var rows = Array.prototype.slice.call(tbody.querySelectorAll('tr')).filter(function(row) { | |||
// Проверяем, что <tr> находится на первом уровне, и исключаем строки с вложенными таблицами | |||
return row.parentElement === tbody && !row.querySelector('table'); | |||
}); | |||
// Пропускаем первую строку, если нет <thead> и нет класса 'no-header-table' | |||
var topLevelRows = (!thead && !noHeader) ? rows.slice(1) : rows; | |||
var hasInvalidRowspan = false; | |||
var hasTooManyRowspan = false; | |||
// Проверка на ошибки в rowspan | |||
Array.prototype.forEach.call(topLevelRows, function(row) { | |||
var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')).filter(function(cell) { | |||
return !cell.classList.contains('mobile'); | |||
}); | |||
var cellCount = cells.length; | |||
var rowspanCount = cells.filter(function(cell) { | |||
return cell.hasAttribute('rowspan') && cell.getAttribute('rowspan') !== '1'; // Игнорируем rowspan="1" | |||
}).length; | |||
// Проверка на слишком большое количество rowspan или неправильное расположение rowspan | |||
if (rowspanCount > 2) { | |||
hasTooManyRowspan = true; | |||
return; | |||
} | |||
// Проверяем, что ячейки с rowspan находятся по краям строки | |||
var hasValidRowspanEdge = cells.some(function(cell, index) { | |||
return cell.hasAttribute('rowspan') && cell.getAttribute('rowspan') !== '1' && (index === 0 || index === cells.length - 1); | |||
}); | |||
// Если ячейки с rowspan находятся не по краям | |||
if (!hasValidRowspanEdge && cells.some(function(cell, index) { | |||
return cell.hasAttribute('rowspan') && cell.getAttribute('rowspan') !== '1' && index > 0 && index < cells.length - 1; | |||
})) { | |||
hasInvalidRowspan = true; | |||
} | |||
}); | |||
// Если есть ошибки в rowspan, выходим | |||
if (hasTooManyRowspan || hasInvalidRowspan) return; | |||
// Обработка наведения на строки и ячейки | |||
Array.prototype.forEach.call(topLevelRows, function(row, rowIndex) { | |||
var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')); | |||
// Сохраняем оригинальные стили для каждой ячейки | |||
var originalStyles = cells.map(function(cell) { | |||
return { | |||
backgroundColor: getComputedStyle(cell).backgroundColor, | |||
color: getComputedStyle(cell).color | |||
}; | |||
}); | |||
// Наведение на строку (tr) | |||
row.addEventListener('mouseover', function() { | |||
highlightRow(row, rowIndex, true); | |||
}); | |||
row.addEventListener('mouseout', function() { | |||
highlightRow(row, rowIndex, false); | |||
}); | |||
// Наведение на ячейки с rowspan | |||
Array.prototype.forEach.call(cells, function(cell, cellIndex) { | |||
// Обрабатываем только ячейки с rowspan > 1 | |||
if (cell.hasAttribute('rowspan') && parseInt(cell.getAttribute('rowspan')) > 1) { | |||
var rowspan = parseInt(cell.getAttribute('rowspan')); | |||
// Обработка rowspan ячейки | |||
cell.addEventListener('mouseover', function() { | |||
// Отключаем обработку строки при наведении на rowspan ячейку | |||
row.classList.add('highlighted'); | |||
highlightRowspanArea(rowIndex, cellIndex, rowspan, true); | |||
}); | |||
cell.addEventListener('mouseout', function() { | |||
// Восстанавливаем состояние строки при уходе курсора | |||
row.classList.remove('highlighted'); | |||
highlightRowspanArea(rowIndex, cellIndex, rowspan, false); | |||
}); | |||
} | |||
}); | |||
// Функция подсветки строки (только текущее tr) | |||
function highlightRow(row, rowIndex, highlight) { | |||
if (row.classList.contains('highlighted')) return; // Избегаем повторного применения подсветки | |||
var rowCells = Array.prototype.slice.call(row.querySelectorAll('td, th')); | |||
Array.prototype.forEach.call(rowCells, function(cell, cellIndex) { | |||
// Подсвечиваем только ячейки, не имеющие атрибут rowSpan или с rowspan="1" | |||
if (!cell.hasAttribute('rowspan') || parseInt(cell.getAttribute('rowspan')) === 1) { | |||
var cellStyle = getComputedStyle(cell); | |||
cell.style.setProperty('background-color', highlight ? brightenColor(cellStyle.backgroundColor) : | |||
originalStyles[cellIndex].backgroundColor, 'important'); | |||
cell.style.setProperty('color', highlight ? brightenColor(cellStyle.color) : originalStyles[cellIndex].color, 'important'); | |||
} | |||
}); | |||
} | |||
// Функция подсветки для ячеек с rowspan (подсвечивает все строки, которые охватывает ячейка) | |||
function highlightRowspanArea(rowIndex, cellIndex, rowspan, highlight) { | |||
for (var i = 0; i < rowspan; i++) { | |||
var targetRow = topLevelRows[rowIndex + i]; | |||
if (targetRow) { | |||
var targetCells = Array.prototype.slice.call(targetRow.querySelectorAll('td, th')); | |||
// Обработка ячейки в каждой строке, затронутой rowspan | |||
Array.prototype.forEach.call(targetCells, function(targetCell) { | |||
var targetCellStyle = getComputedStyle(targetCell); | |||
// Сохраняем оригинальные стили для каждой ячейки, если подсветка включена | |||
if (highlight) { | |||
targetCell.originalBackground = targetCellStyle.backgroundColor; | |||
targetCell.originalColor = targetCellStyle.color; | |||
} | |||
// Применяем подсветку или восстанавливаем оригинальные стили | |||
targetCell.style.setProperty('background-color', highlight ? brightenColor(targetCellStyle.backgroundColor) : | |||
targetCell.originalBackground, 'important'); | |||
targetCell.style.setProperty('color', highlight ? brightenColor(targetCellStyle.color) : | |||
targetCell.originalColor, 'important'); | |||
}); | |||
} | |||
} | |||
} | |||
}); | |||
} | |||
}); | |||
} | |||
// Функция для логики меню, создаваемого модулем CategoryMenu | |||
function initCategorySwitcher() { | |||
var categories = document.querySelectorAll('.navigation__categories > div'); | |||
var menus = document.querySelectorAll('.navigation__menu-item'); | |||
var contentDivs = document.querySelectorAll('.navigation__content > div'); | |||
var menuItems = document.querySelectorAll('.navigation__menu-item > div'); | |||
var currentCategoryIndex = 0; // Индекс текущей активной категории | |||
// Генерация ID из текста | |||
function generateIdFromText(text) { | |||
return text.trim().replace(/\s+/g, '-').replace(/[^a-zа-яёA-ZА-ЯЁ0-9\-]/g, ''); | |||
} | |||
// Присвоение ID категориям и пунктам меню | |||
function assignIds() { | |||
for (var i = 0; i < categories.length; i++) { | |||
var category = categories[i]; | |||
category.setAttribute('id', generateIdFromText(category.textContent || category.innerText)); | |||
var menu = menus[i]; | |||
var menuItems = menu.querySelectorAll('div'); | |||
for (var j = 0; j < menuItems.length; j++) { | |||
menuItems[j].setAttribute('id', generateIdFromText(menuItems[j].textContent || menuItems[j].innerText)); | |||
} | |||
} | |||
} | |||
assignIds(); // Вызов функции для присвоения ID | |||
// Удаление класса active у всех переданных элементов | |||
function clearActiveElements(elements) { | |||
for (var i = 0; i < elements.length; i++) { | |||
elements[i].classList.remove('active'); | |||
} | |||
} | |||
// Переключение категорий | |||
function switchCategory(index) { | |||
clearActiveElements(menus); | |||
clearActiveElements(contentDivs); | |||
clearActiveElements(categories); | |||
var selectedCategory = categories[index]; | |||
if (selectedCategory) { | |||
selectedCategory.classList.add('active'); | |||
var selectedMenu = document.querySelector('.' + selectedCategory.classList[0] + '-menu'); | |||
if (selectedMenu) { | |||
selectedMenu.classList.add('active'); | |||
switchContent(selectedMenu.querySelector('div')); // Открытие первого пункта меню | |||
} | |||
} | |||
currentCategoryIndex = index; | |||
updateArrowStates(); // Обновление состояния стрелок | |||
} | |||
// Переключение контента в меню | |||
function switchContent(menuItem) { | |||
clearActiveElements(menuItems); | |||
clearActiveElements(contentDivs); | |||
if (menuItem) { | |||
var contentClass = menuItem.className + '-content'; | |||
var content = document.querySelector('.' + contentClass); | |||
if (content) { | |||
content.classList.add('active'); | |||
menuItem.classList.add('active'); | |||
} | |||
} | |||
} | |||
// Обновление состояния стрелок (активные/неактивные) | |||
function updateArrowStates() { | |||
var prevArrow = document.getElementById('prev-category'); | |||
var nextArrow = document.getElementById('next-category'); | |||
prevArrow.classList.toggle('disabled', currentCategoryIndex === 0); | |||
prevArrow.style.pointerEvents = currentCategoryIndex === 0 ? 'none' : 'auto'; | |||
nextArrow.classList.toggle('disabled', currentCategoryIndex === categories.length - 1); | |||
nextArrow.style.pointerEvents = currentCategoryIndex === categories.length - 1 ? 'none' : 'auto'; | |||
} | |||
// Стрелки для переключения категорий | |||
document.getElementById('prev-category').addEventListener('click', function() { | |||
if (currentCategoryIndex > 0) { | |||
switchCategory(--currentCategoryIndex); // Переключение на новую категорию | |||
} | |||
}); | |||
document.getElementById('next-category').addEventListener('click', function() { | |||
if (currentCategoryIndex < categories.length - 1) { | |||
switchCategory(++currentCategoryIndex); // Переключение на новую категорию | |||
} | |||
}); | |||
// Функция для обработки якорей | |||
function handleAnchorChange() { | |||
var anchor = window.location.hash.substring(1); // Получаем текущий хеш без символа # | |||
var decodedAnchor = decodeURIComponent(anchor); // Декодируем хеш | |||
var found = false; | |||
// Проверка пунктов меню | |||
for (var i = 0; i < menuItems.length; i++) { | |||
if (menuItems[i].id === decodedAnchor) { // Сравниваем с декодированным значением | |||
var categoryIndex = Array.prototype.indexOf.call(categories, menuItems[i].closest('.navigation__menu-item').previousElementSibling); | |||
if (categoryIndex !== -1) { | |||
switchCategory(categoryIndex); // Открываем категорию | |||
switchContent(menuItems[i]); // Открываем пункт меню | |||
found = true; // Якорь найден | |||
} | |||
break; // Выход из цикла, если якорь найден | |||
} | |||
} | |||
// Проверка категорий, если якорь не найден в пунктах меню | |||
if (!found) { | |||
for (var i = 0; i < categories.length; i++) { | |||
if (categories[i].id === decodedAnchor) { // Сравниваем с декодированным значением | |||
switchCategory(i); // Открываем категорию | |||
found = true; // Якорь найден | |||
break; | |||
} | |||
} | |||
} | |||
} | |||
// Проверяем якорь при изменении URL | |||
window.addEventListener('hashchange', handleAnchorChange); | |||
// Инициализация: открытие первой категории и первого пункта | |||
if (categories.length > 0) { | |||
assignIds(); // Присвоить ID в начале | |||
handleAnchorChange(); // Обработка начального якоря | |||
// Проверка наличия якоря и открытие первой категории только если ID не найден | |||
if (!window.location.hash) { | |||
switchCategory(0); | |||
} else { | |||
switchCategory(currentCategoryIndex); | |||
} | |||
updateArrowStates(); | |||
} | |||
// Клик по элементам меню | |||
for (var i = 0; i < menuItems.length; i++) { | |||
(function(menuItem) { | |||
menuItem.addEventListener('click', function() { | |||
switchContent(menuItem); // Переключение контента при клике на пункт меню | |||
// Убрали изменение хеша при клике | |||
}); | |||
})(menuItems[i]); | |||
} | |||
document.querySelector('.navigation__menu-toggle').addEventListener('click', function() { | |||
var menu = document.querySelector('.navigation__menu-container'); | |||
menu.classList.toggle('active'); // Переключение класса для показа/скрытия меню | |||
this.classList.toggle('active'); // Переключение для перемещения кнопки | |||
}); | |||
} | } | ||
const currentPageTitle = document.title; | |||
$(document).ready(function() { | $(document).ready(function() { | ||
var serversStatus = document.querySelectorAll('.serversStatus'); | var serversStatus = document.querySelectorAll('.serversStatus'); | ||
Строка 440: | Строка 630: | ||
} | } | ||
} | } | ||
const copyServerConnectionIcon = document.querySelectorAll( | const copyServerConnectionIcon = document.querySelectorAll('.copyServerConnectionIcon'); | ||
copyServerConnectionIcon.forEach(function(icon) { | copyServerConnectionIcon.forEach(function(icon) { | ||
icon.addEventListener('click', function() { | icon.addEventListener('click', function() { | ||
Строка 462: | Строка 651: | ||
var tables = document.querySelectorAll('.wikitable'); | var tables = document.querySelectorAll('.wikitable'); | ||
if (tables.length > 0) { | if (tables.length > 0) { | ||
setTimeout(function() { | |||
applyHighlighting(); | |||
}, 1000); | |||
} | |||
if (currentPageTitle.includes("Kerisar")) { | |||
console.log("Привет, Kerisar!"); | |||
var button = document.createElement("button"); | |||
button.innerText = "Создать архив"; | |||
document.getElementById("archivetest").appendChild(button); | |||
button.onclick = function() { | |||
var apiUrl = | |||
"https://station14.ru/api.php?action=parse&page=Шаблон:Бумажная работа/paperWork.json&prop=text&formatversion=2&format=json"; | |||
fetch(apiUrl).then(function(response) { | |||
return response.json(); | |||
}).then(function(data) { | |||
var text = data.parse.text; | |||
//console.log(text); | |||
// Извлекаем содержимое между [testarchivestart] и [testarchivestop] | |||
var startTag = "[testarchivestart]"; | |||
var endTag = "[testarchivestop]"; | |||
var startIndex = text.indexOf(startTag); | |||
var endIndex = text.indexOf(endTag); | |||
if (startIndex !== -1 && endIndex !== -1) { | |||
var extractedContent = text.substring(startIndex + startTag.length, endIndex); | |||
// Декодируем base64 в бинарные данные | |||
var binaryString = window.atob(extractedContent); | |||
var len = binaryString.length; | |||
var bytes = new Uint8Array(len); | |||
for (var i = 0; i < len; i++) { | |||
bytes[i] = binaryString.charCodeAt(i); | |||
} | |||
// Создаем Blob из бинарных данных | |||
var blob = new Blob([bytes], { | |||
type: "application/zip" | |||
}); | |||
// Создаем ссылку для скачивания | |||
var link = document.createElement("a"); | |||
link.href = URL.createObjectURL(blob); | |||
link.download = "archive.zip"; // Имя файла для скачивания | |||
link.innerText = "Скачать архив"; | |||
document.getElementById("archivetest").appendChild(link); | |||
} else { | |||
alert("Теги [testarchivestart] и [testarchivestop] не найдены."); | |||
} | |||
}).catch(function(error) { | |||
console.error("Ошибка:", error); | |||
}); | |||
}; | |||
} | |||
var categoriesExist = document.querySelectorAll('.navigation'); | |||
if (categoriesExist.length > 0) { | |||
initCategorySwitcher(); | |||
} | } | ||
}); | }); | ||
Строка 470: | Строка 708: | ||
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) { | if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) { | ||
mw.loader.load( | mw.loader.load( | ||
'//ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript' | '//ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript'); | ||
} | } | ||
var customizeToolbar = function() { | var customizeToolbar = function() { | ||
Строка 534: | Строка 771: | ||
// Create button starting with hide text | // Create button starting with hide text | ||
// Will be changed to the show text while calculating the maximum button size | // Will be changed to the show text while calculating the maximum button size | ||
var $buttonTemplate = $('<span>').addClass( | var $buttonTemplate = $('<span>').addClass('mw-editsection-like load-page-button').append('[ ', $( | ||
'<span>').addClass('jslink').text(i18n.hideText), ' ]'); | |||
var extractList = function($contentContainer, listClass) { | var extractList = function($contentContainer, listClass) { | ||
var $content = $contentContainer.find('.mw-parser-output > ul > li > ul') | var $content = $contentContainer.find('.mw-parser-output > ul > li > ul').children( | ||
':not(.nbttree-inherited)'); | |||
if (listClass) { | if (listClass) { | ||
$content.addClass(listClass); | $content.addClass(listClass); | ||
Строка 569: | Строка 805: | ||
$heading.append($button); | $heading.append($button); | ||
// Move the edit button to the right spot | // Move the edit button to the right spot | ||
$contentContainer.find('.mw-editsection, .mw-editsection-like').insertAfter( | $contentContainer.find('.mw-editsection, .mw-editsection-like').insertAfter($button); | ||
// Find max button width, and set its min-width to it | // Find max button width, and set its min-width to it | ||
var hideWidth = $button.width(); | var hideWidth = $button.width(); | ||
Строка 601: | Строка 836: | ||
$('.pageloader-contentloaded').each(function() { | $('.pageloader-contentloaded').each(function() { | ||
var $fLoader = $(this); | var $fLoader = $(this); | ||
if ($fLoader.data('page') === page && $fLoader.data( | if ($fLoader.data('page') === page && $fLoader.data('pageloader-content')) { | ||
$contentContainer.html($fLoader.data('pageloader-content')).removeClass('noscript'); | |||
$contentContainer.html($fLoader.data('pageloader-content')).removeClass( | |||
mw.hook('wikipage.content').fire($contentContainer); | mw.hook('wikipage.content').fire($contentContainer); | ||
if (treeview) { | if (treeview) { | ||
Строка 625: | Строка 858: | ||
// $spinner will be false if the content somehow loaded before the module did | // $spinner will be false if the content somehow loaded before the module did | ||
if ($spinner) { | if ($spinner) { | ||
$spinner = $.createSpinner().addClass('mw-editsection-like').css( | $spinner = $.createSpinner().addClass('mw-editsection-like').css('min-width', $button.css( | ||
'min-width')); | |||
$button.hide().after($spinner); | $button.hide().after($spinner); | ||
} | } | ||
Строка 649: | Строка 882: | ||
var $link = $(this); | var $link = $(this); | ||
if ($link.attr('href') === curPage) { | if ($link.attr('href') === curPage) { | ||
$link.replaceWith($('<strong>').addClass('selflink').append( | $link.replaceWith($('<strong>').addClass('selflink').append($link.contents())); | ||
} | } | ||
}); | }); |
Текущая версия от 02:53, 2 ноября 2024
const IFRAME_CONFIG = { iframe1: { src: 'https://example.com', srcdoc: '', width: '600', height: '400', name: 'iframe1', allow: 'clipboard-write', referrerpolicy: 'no-referrer', sandbox: 'allow-same-origin', id: 'iframe1' }, iframeMapRender: { srcdoc: '<!doctype html><html data-bs-theme="dark" lang="ru"><head><meta charset="UTF-8"><meta content="width=device-width,initial-scale=1" name="viewport"><meta content="Просмотр карт SS14 Kerisar" name="description"><title>🗺 Просмотр карт SS14 Kerisar 🦎</title><link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" rel="stylesheet"><style>img{image-rendering:pixelated}body{background-color:#2c2c2c;height:100%;overflow:auto}.image-container{cursor:move;width:100%;height:70vh;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;margin-top:20px;margin-left:auto;margin-right:auto}.fullscreen--image-container{background:#212529}.image-container img{cursor:move;max-width:none;height:auto;position:absolute;top:0;left:0;transform-origin:center;z-index:100}:fullscreen .image-container{border:none}#buttonsGroupPlus{display:flex;justify-content:space-between;flex-direction:row}</style><style>html{height:100%;background:radial-gradient(ellipse at bottom,#1b2735 0,#090a0f 100%);overflow:hidden}#stars{width:1px;height:1px;background:0 0;box-shadow:1087px 810px #fff,1020px 1604px #fff,762px 1888px #fff,690px 1374px #fff,988px 1584px #fff,1637px 583px #fff,256px 1972px #fff,657px 1637px #fff,1754px 1121px #fff,1317px 799px #fff,1175px 1699px #fff,1419px 1205px #fff,1304px 767px #fff,290px 449px #fff,902px 978px #fff,1315px 1377px #fff,244px 324px #fff,255px 1777px #fff,316px 213px #fff,1652px 105px #fff,762px 1048px #fff,1329px 1534px #fff,1050px 31px #fff,216px 1069px #fff,867px 1066px #fff,5px 621px #fff,1094px 1225px #fff,419px 237px #fff,1876px 240px #fff,1422px 868px #fff,1889px 978px #fff,892px 718px #fff,141px 1377px #fff,1236px 1224px #fff,1393px 1010px #fff,1505px 1190px #fff,618px 982px #fff,688px 319px #fff,1113px 1855px #fff,102px 1965px #fff,847px 47px #fff,1146px 1330px #fff,95px 347px #fff,1227px 712px #fff,1018px 1562px #fff,1437px 468px #fff,1129px 737px #fff,835px 1792px #fff,1157px 1551px #fff,72px 17px #fff,1522px 87px #fff,1990px 303px #fff,1147px 1132px #fff,631px 1449px #fff,515px 1306px #fff,540px 472px #fff,1868px 1534px #fff,910px 1868px #fff,717px 539px #fff,922px 1962px #fff,1150px 138px #fff,78px 163px #fff,697px 276px #fff,1787px 1827px #fff,1587px 1399px #fff,1681px 1347px #fff,161px 1435px #fff,928px 1175px #fff,1388px 1398px #fff,1415px 1775px #fff,1121px 1321px #fff,1385px 154px #fff,1321px 352px #fff,1285px 429px #fff,256px 1386px #fff,1218px 903px #fff,648px 724px #fff,1793px 891px #fff,1150px 382px #fff,687px 31px #fff,78px 1610px #fff,1019px 1565px #fff,152px 676px #fff,1429px 743px #fff,1577px 1488px #fff,1386px 1719px #fff,1471px 275px #fff,1459px 337px #fff,1513px 159px #fff,1387px 1281px #fff,57px 982px #fff,439px 997px #fff,846px 469px #fff,395px 907px #fff,206px 143px #fff,161px 517px #fff,1488px 1996px #fff,1149px 14px #fff,431px 1956px #fff,469px 1859px #fff,577px 479px #fff,1811px 1092px #fff,294px 1231px #fff,1076px 914px #fff,1324px 426px #fff,553px 1532px #fff,1121px 1188px #fff,148px 1130px #fff,803px 1961px #fff,1653px 1568px #fff,1291px 1732px #fff,382px 878px #fff,299px 1294px #fff,1049px 9px #fff,1697px 1530px #fff,257px 1774px #fff,512px 512px #fff,1305px 575px #fff,808px 1257px #fff,779px 655px #fff,1776px 779px #fff,1750px 1487px #fff,782px 524px #fff,1723px 242px #fff,339px 1487px #fff,1422px 1937px #fff,571px 101px #fff,330px 1814px #fff,874px 994px #fff,1029px 1632px #fff,393px 1168px #fff,398px 617px #fff,678px 746px #fff,1637px 1205px #fff,1076px 1463px #fff,1247px 1858px #fff,1750px 505px #fff,803px 857px #fff,1489px 1702px #fff,1669px 812px #fff,86px 1644px #fff,1625px 1352px #fff,717px 902px #fff,167px 1609px #fff,1883px 711px #fff,1954px 772px #fff,616px 1273px #fff,777px 608px #fff,1262px 1716px #fff,1835px 375px #fff,481px 1484px #fff,1653px 834px #fff,533px 201px #fff,1771px 1636px #fff,1178px 896px #fff,411px 1324px #fff,1886px 710px #fff,368px 1048px #fff,74px 1729px #fff,1567px 1521px #fff,1520px 1264px #fff,1999px 134px #fff,1569px 557px #fff,571px 1786px #fff,1854px 1702px #fff,134px 392px #fff,1475px 827px #fff,1101px 533px #fff,1753px 1548px #fff,629px 1763px #fff,271px 703px #fff,1373px 1564px #fff,68px 668px #fff,930px 1037px #fff,1693px 1762px #fff,1718px 1648px #fff,1585px 25px #fff,1422px 1009px #fff,1405px 188px #fff,140px 894px #fff,560px 1483px #fff,133px 33px #fff,41px 1593px #fff,496px 1534px #fff,582px 693px #fff,178px 1793px #fff,1763px 1410px #fff,1575px 885px #fff,38px 346px #fff,1439px 393px #fff,1700px 380px #fff,1161px 1887px #fff,1315px 1727px #fff,1413px 1971px #fff,129px 1432px #fff,1252px 204px #fff,945px 169px #fff,1530px 1167px #fff,1172px 707px #fff,30px 385px #fff,1005px 1144px #fff,1167px 1477px #fff,217px 1298px #fff,1764px 1164px #fff,1962px 483px #fff,438px 662px #fff,189px 1102px #fff,976px 615px #fff,1633px 740px #fff,169px 1627px #fff,112px 323px #fff,98px 1865px #fff,875px 1918px #fff,67px 1px #fff,1127px 1326px #fff,1296px 929px #fff,1643px 193px #fff,1259px 219px #fff,139px 509px #fff,1903px 1788px #fff,1301px 312px #fff,230px 1960px #fff,1717px 992px #fff,1945px 1338px #fff,216px 642px #fff,903px 733px #fff,1433px 1910px #fff,1366px 198px #fff,244px 1894px #fff,137px 961px #fff,1075px 1459px #fff,143px 1676px #fff,199px 1636px #fff,193px 1415px #fff,757px 665px #fff,158px 201px #fff,168px 3px #fff,225px 1937px #fff,1088px 222px #fff,1793px 1182px #fff,998px 407px #fff,1300px 904px #fff,652px 800px #fff,811px 53px #fff,1062px 1717px #fff,65px 1176px #fff,1524px 1941px #fff,201px 655px #fff,626px 1896px #fff,775px 1462px #fff,342px 1639px #fff,991px 149px #fff,162px 325px #fff,1941px 1009px #fff,1042px 1507px #fff,1736px 181px #fff,1960px 1649px #fff,1858px 1244px #fff,896px 1407px #fff,1986px 11px #fff,902px 979px #fff,818px 272px #fff,1455px 1832px #fff,794px 701px #fff,1567px 36px #fff,781px 176px #fff,1256px 772px #fff,1763px 1439px #fff,439px 491px #fff,9px 148px #fff,809px 1203px #fff,698px 907px #fff,90px 842px #fff,294px 1810px #fff,1146px 116px #fff,69px 550px #fff,516px 1160px #fff,1931px 486px #fff,1428px 1717px #fff,455px 1574px #fff,667px 1338px #fff,264px 13px #fff,300px 1935px #fff,1572px 1723px #fff,870px 69px #fff,199px 1268px #fff,1411px 1414px #fff,1955px 716px #fff,1005px 1873px #fff,1723px 797px #fff,574px 1472px #fff,129px 1289px #fff,190px 815px #fff,1680px 1863px #fff,24px 97px #fff,1378px 831px #fff,435px 233px #fff,1197px 1793px #fff,341px 1735px #fff,1058px 305px #fff,442px 1760px #fff,876px 1367px #fff,1455px 708px #fff,1222px 1682px #fff,83px 325px #fff,243px 694px #fff,1183px 390px #fff,922px 1353px #fff,1937px 85px #fff,1816px 304px #fff,166px 1024px #fff,1297px 462px #fff,427px 1722px #fff,1662px 598px #fff,1267px 1645px #fff,1614px 1111px #fff,990px 205px #fff,1455px 736px #fff,1300px 1737px #fff,155px 801px #fff,1918px 319px #fff,1763px 97px #fff,436px 643px #fff,1877px 259px #fff,213px 1148px #fff,1083px 1508px #fff,1330px 1265px #fff,144px 1523px #fff,326px 160px #fff,678px 359px #fff,270px 112px #fff,1257px 1969px #fff,1838px 279px #fff,1853px 670px #fff,534px 1907px #fff,1596px 150px #fff,1458px 1222px #fff,618px 480px #fff,1550px 989px #fff,1420px 289px #fff,431px 1738px #fff,1913px 944px #fff,330px 1712px #fff,1364px 704px #fff,29px 1778px #fff,762px 1445px #fff,974px 899px #fff,1006px 1953px #fff,1373px 464px #fff,1355px 110px #fff,79px 310px #fff,818px 1998px #fff,1036px 1290px #fff,631px 1724px #fff,1762px 1077px #fff,782px 757px #fff,36px 125px #fff,1860px 1466px #fff,1217px 1795px #fff,304px 457px #fff,476px 363px #fff,1285px 700px #fff,609px 1910px #fff,1829px 439px #fff,1242px 1988px #fff,1228px 1500px #fff,1538px 832px #fff,1227px 1977px #fff,718px 763px #fff,876px 1297px #fff,742px 1965px #fff,1068px 1837px #fff,998px 1521px #fff,1485px 603px #fff,1991px 1046px #fff,361px 112px #fff,976px 271px #fff,1099px 1419px #fff,601px 1959px #fff,283px 1228px #fff,1879px 1473px #fff,99px 303px #fff,1741px 146px #fff,1889px 1169px #fff,1571px 1993px #fff,91px 1602px #fff,735px 1950px #fff,1291px 1281px #fff,243px 1716px #fff,1125px 963px #fff,1074px 826px #fff,1388px 1595px #fff,20px 1517px #fff,230px 1461px #fff,1177px 1429px #fff,1661px 1091px #fff,905px 1908px #fff,733px 515px #fff,25px 1948px #fff,611px 54px #fff,1962px 1710px #fff,1736px 1201px #fff,890px 1026px #fff,392px 1125px #fff,1768px 1260px #fff,560px 1278px #fff,1501px 741px #fff,1343px 750px #fff,853px 432px #fff,1056px 724px #fff,1767px 1014px #fff,1148px 1467px #fff,1655px 1677px #fff,1929px 1719px #fff,854px 866px #fff,187px 79px #fff,1789px 345px #fff,1797px 51px #fff,958px 1562px #fff,3px 1753px #fff,1707px 1916px #fff,1786px 1197px #fff,343px 1527px #fff,1687px 957px #fff,949px 893px #fff,1718px 705px #fff,1603px 1386px #fff,1514px 557px #fff,1179px 1336px #fff,444px 471px #fff,1967px 1397px #fff,298px 511px #fff,1952px 1950px #fff,479px 1526px #fff,156px 381px #fff,617px 1348px #fff,87px 1842px #fff,1416px 1174px #fff,473px 682px #fff,1948px 1066px #fff,382px 958px #fff,979px 1266px #fff,132px 887px #fff,1149px 465px #fff,486px 1067px #fff,245px 839px #fff,843px 604px #fff,1216px 1885px #fff,1369px 298px #fff,1775px 1023px #fff,519px 365px #fff,1254px 1945px #fff,1577px 969px #fff,1307px 581px #fff,1958px 492px #fff,1559px 27px #fff,1004px 1011px #fff,99px 695px #fff,1130px 37px #fff,1053px 881px #fff,1470px 1074px #fff,1701px 1422px #fff,822px 8px #fff,1175px 841px #fff,494px 136px #fff,1544px 65px #fff,1516px 355px #fff,1403px 121px #fff,1241px 163px #fff,341px 379px #fff,580px 1043px #fff,1026px 766px #fff,141px 987px #fff,1591px 1773px #fff,1915px 1032px #fff,428px 107px #fff,949px 574px #fff,144px 592px #fff,1429px 569px #fff,1605px 1488px #fff,1420px 1360px #fff,235px 360px #fff,1091px 546px #fff,588px 1719px #fff,476px 960px #fff,336px 310px #fff,253px 1120px #fff,456px 917px #fff,1774px 742px #fff,1809px 1315px #fff,959px 136px #fff,919px 790px #fff,494px 1449px #fff,5px 342px #fff,349px 1350px #fff,98px 524px #fff,1644px 1275px #fff,955px 1075px #fff,1519px 1777px #fff,446px 1389px #fff,1835px 607px #fff,1052px 54px #fff,600px 1678px #fff,1424px 1936px #fff,1204px 684px #fff,708px 1760px #fff,1265px 1851px #fff,421px 848px #fff,362px 163px #fff,589px 101px #fff,98px 1907px #fff,1619px 1537px #fff,1023px 997px #fff,1035px 605px #fff,879px 1631px #fff,514px 731px #fff,1098px 16px #fff,1265px 1636px #fff,1025px 707px #fff,1982px 1975px #fff,1016px 1285px #fff,117px 713px #fff,1160px 1567px #fff,916px 575px #fff,1155px 1807px #fff,1897px 744px #fff,769px 856px #fff,540px 307px #fff,13px 686px #fff,1138px 51px #fff,1516px 1719px #fff,78px 518px #fff,80px 1800px #fff,234px 1160px #fff,1607px 1688px #fff,1535px 1448px #fff,1584px 1641px #fff,824px 1464px #fff,1243px 882px #fff,48px 1280px #fff,416px 505px #fff,1164px 1576px #fff,579px 135px #fff,1871px 1674px #fff,1278px 926px #fff,496px 1457px #fff,965px 724px #fff,719px 787px #fff,250px 874px #fff,1641px 1483px #fff,1107px 697px #fff,184px 1473px #fff,419px 1337px #fff,1346px 953px #fff,1615px 1484px #fff,1256px 1932px #fff,352px 1564px #fff,1640px 900px #fff,1802px 850px #fff,39px 145px #fff,1761px 1082px #fff,1338px 1727px #fff,552px 419px #fff,1346px 83px #fff,1747px 817px #fff,1407px 500px #fff,1784px 357px #fff,1310px 1032px #fff,1156px 606px #fff,1437px 281px #fff,1635px 1358px #fff,1210px 500px #fff,574px 412px #fff,230px 836px #fff,1596px 1491px #fff,1323px 462px #fff,243px 1989px #fff,125px 1058px #fff,1932px 727px #fff,1652px 907px #fff,1625px 249px #fff,1063px 884px #fff,1945px 1338px #fff,51px 1387px #fff,1119px 711px #fff,814px 317px #fff,250px 1038px #fff,714px 1624px #fff,917px 1351px #fff,670px 275px #fff,986px 943px #fff,206px 362px #fff,1110px 448px #fff,57px 1872px #fff,1388px 1899px #fff,342px 370px #fff,67px 74px #fff,1123px 336px #fff,1936px 1082px #fff,366px 1370px #fff,1683px 1866px #fff,407px 806px #fff,261px 1013px #fff,1505px 647px #fff,85px 169px #fff,635px 1873px #fff,1370px 901px #fff,448px 225px #fff,348px 1838px #fff,745px 710px #fff,1329px 306px #fff,247px 154px #fff,1467px 768px #fff,141px 1946px #fff,1282px 1338px #fff,803px 1296px #fff,1229px 156px #fff,1257px 788px #fff,1247px 739px #fff,1954px 1827px #fff,1623px 224px #fff,120px 473px #fff,509px 1541px #fff,221px 537px #fff,1196px 845px #fff,1982px 1382px #fff,1164px 1570px #fff,436px 1201px #fff,912px 506px #fff,1232px 1901px #fff,1721px 935px #fff,1116px 532px #fff,1514px 1144px #fff,1303px 1778px #fff,1326px 1175px #fff,345px 1048px #fff,818px 1751px #fff,1360px 951px #fff,991px 1030px #fff,1997px 408px #fff,1165px 540px #fff,755px 1278px #fff,1532px 1131px #fff,1347px 191px #fff,1485px 310px #fff,1941px 930px #fff,357px 691px #fff,1275px 1924px #fff,1234px 1472px #fff,936px 1367px #fff,1516px 221px #fff,1746px 1491px #fff,412px 877px #fff,663px 963px #fff,1935px 1408px #fff,1688px 1259px #fff,1307px 1432px #fff,522px 204px #fff,1096px 1878px #fff,826px 1442px #fff,458px 341px #fff,902px 487px #fff,1113px 854px #fff,1783px 809px #fff,34px 883px #fff,631px 1454px #fff,1514px 1566px #fff,428px 1406px #fff,1583px 1590px #fff,1617px 571px #fff,354px 1099px #fff,1458px 1142px #fff,19px 1710px #fff,589px 11px #fff,1300px 1424px #fff,1354px 270px #fff,1867px 1202px #fff,1158px 1079px #fff,828px 1848px #fff,300px 420px #fff,1442px 741px #fff,1249px 6px #fff,1577px 1802px #fff,1826px 1068px #fff,438px 825px #fff,759px 1478px #fff,78px 1920px #fff,284px 1825px #fff,1903px 963px #fff,1188px 1633px #fff,534px 1009px #fff,536px 124px #fff,521px 1521px #fff,1669px 313px #fff,1509px 529px #fff,1718px 394px #fff,1443px 668px #fff,433px 831px #fff,1773px 130px #fff,723px 429px #fff;animation:animStar 500s linear infinite}#stars:after{content:" ";position:absolute;top:2000px;width:1px;height:1px;background:0 0;box-shadow:1087px 810px #fff,1020px 1604px #fff,762px 1888px #fff,690px 1374px #fff,988px 1584px #fff,1637px 583px #fff,256px 1972px #fff,657px 1637px #fff,1754px 1121px #fff,1317px 799px #fff,1175px 1699px #fff,1419px 1205px #fff,1304px 767px #fff,290px 449px #fff,902px 978px #fff,1315px 1377px #fff,244px 324px #fff,255px 1777px #fff,316px 213px #fff,1652px 105px #fff,762px 1048px #fff,1329px 1534px #fff,1050px 31px #fff,216px 1069px #fff,867px 1066px #fff,5px 621px #fff,1094px 1225px #fff,419px 237px #fff,1876px 240px #fff,1422px 868px #fff,1889px 978px #fff,892px 718px #fff,141px 1377px #fff,1236px 1224px #fff,1393px 1010px #fff,1505px 1190px #fff,618px 982px #fff,688px 319px #fff,1113px 1855px #fff,102px 1965px #fff,847px 47px #fff,1146px 1330px #fff,95px 347px #fff,1227px 712px #fff,1018px 1562px #fff,1437px 468px #fff,1129px 737px #fff,835px 1792px #fff,1157px 1551px #fff,72px 17px #fff,1522px 87px #fff,1990px 303px #fff,1147px 1132px #fff,631px 1449px #fff,515px 1306px #fff,540px 472px #fff,1868px 1534px #fff,910px 1868px #fff,717px 539px #fff,922px 1962px #fff,1150px 138px #fff,78px 163px #fff,697px 276px #fff,1787px 1827px #fff,1587px 1399px #fff,1681px 1347px #fff,161px 1435px #fff,928px 1175px #fff,1388px 1398px #fff,1415px 1775px #fff,1121px 1321px #fff,1385px 154px #fff,1321px 352px #fff,1285px 429px #fff,256px 1386px #fff,1218px 903px #fff,648px 724px #fff,1793px 891px #fff,1150px 382px #fff,687px 31px #fff,78px 1610px #fff,1019px 1565px #fff,152px 676px #fff,1429px 743px #fff,1577px 1488px #fff,1386px 1719px #fff,1471px 275px #fff,1459px 337px #fff,1513px 159px #fff,1387px 1281px #fff,57px 982px #fff,439px 997px #fff,846px 469px #fff,395px 907px #fff,206px 143px #fff,161px 517px #fff,1488px 1996px #fff,1149px 14px #fff,431px 1956px #fff,469px 1859px #fff,577px 479px #fff,1811px 1092px #fff,294px 1231px #fff,1076px 914px #fff,1324px 426px #fff,553px 1532px #fff,1121px 1188px #fff,148px 1130px #fff,803px 1961px #fff,1653px 1568px #fff,1291px 1732px #fff,382px 878px #fff,299px 1294px #fff,1049px 9px #fff,1697px 1530px #fff,257px 1774px #fff,512px 512px #fff,1305px 575px #fff,808px 1257px #fff,779px 655px #fff,1776px 779px #fff,1750px 1487px #fff,782px 524px #fff,1723px 242px #fff,339px 1487px #fff,1422px 1937px #fff,571px 101px #fff,330px 1814px #fff,874px 994px #fff,1029px 1632px #fff,393px 1168px #fff,398px 617px #fff,678px 746px #fff,1637px 1205px #fff,1076px 1463px #fff,1247px 1858px #fff,1750px 505px #fff,803px 857px #fff,1489px 1702px #fff,1669px 812px #fff,86px 1644px #fff,1625px 1352px #fff,717px 902px #fff,167px 1609px #fff,1883px 711px #fff,1954px 772px #fff,616px 1273px #fff,777px 608px #fff,1262px 1716px #fff,1835px 375px #fff,481px 1484px #fff,1653px 834px #fff,533px 201px #fff,1771px 1636px #fff,1178px 896px #fff,411px 1324px #fff,1886px 710px #fff,368px 1048px #fff,74px 1729px #fff,1567px 1521px #fff,1520px 1264px #fff,1999px 134px #fff,1569px 557px #fff,571px 1786px #fff,1854px 1702px #fff,134px 392px #fff,1475px 827px #fff,1101px 533px #fff,1753px 1548px #fff,629px 1763px #fff,271px 703px #fff,1373px 1564px #fff,68px 668px #fff,930px 1037px #fff,1693px 1762px #fff,1718px 1648px #fff,1585px 25px #fff,1422px 1009px #fff,1405px 188px #fff,140px 894px #fff,560px 1483px #fff,133px 33px #fff,41px 1593px #fff,496px 1534px #fff,582px 693px #fff,178px 1793px #fff,1763px 1410px #fff,1575px 885px #fff,38px 346px #fff,1439px 393px #fff,1700px 380px #fff,1161px 1887px #fff,1315px 1727px #fff,1413px 1971px #fff,129px 1432px #fff,1252px 204px #fff,945px 169px #fff,1530px 1167px #fff,1172px 707px #fff,30px 385px #fff,1005px 1144px #fff,1167px 1477px #fff,217px 1298px #fff,1764px 1164px #fff,1962px 483px #fff,438px 662px #fff,189px 1102px #fff,976px 615px #fff,1633px 740px #fff,169px 1627px #fff,112px 323px #fff,98px 1865px #fff,875px 1918px #fff,67px 1px #fff,1127px 1326px #fff,1296px 929px #fff,1643px 193px #fff,1259px 219px #fff,139px 509px #fff,1903px 1788px #fff,1301px 312px #fff,230px 1960px #fff,1717px 992px #fff,1945px 1338px #fff,216px 642px #fff,903px 733px #fff,1433px 1910px #fff,1366px 198px #fff,244px 1894px #fff,137px 961px #fff,1075px 1459px #fff,143px 1676px #fff,199px 1636px #fff,193px 1415px #fff,757px 665px #fff,158px 201px #fff,168px 3px #fff,225px 1937px #fff,1088px 222px #fff,1793px 1182px #fff,998px 407px #fff,1300px 904px #fff,652px 800px #fff,811px 53px #fff,1062px 1717px #fff,65px 1176px #fff,1524px 1941px #fff,201px 655px #fff,626px 1896px #fff,775px 1462px #fff,342px 1639px #fff,991px 149px #fff,162px 325px #fff,1941px 1009px #fff,1042px 1507px #fff,1736px 181px #fff,1960px 1649px #fff,1858px 1244px #fff,896px 1407px #fff,1986px 11px #fff,902px 979px #fff,818px 272px #fff,1455px 1832px #fff,794px 701px #fff,1567px 36px #fff,781px 176px #fff,1256px 772px #fff,1763px 1439px #fff,439px 491px #fff,9px 148px #fff,809px 1203px #fff,698px 907px #fff,90px 842px #fff,294px 1810px #fff,1146px 116px #fff,69px 550px #fff,516px 1160px #fff,1931px 486px #fff,1428px 1717px #fff,455px 1574px #fff,667px 1338px #fff,264px 13px #fff,300px 1935px #fff,1572px 1723px #fff,870px 69px #fff,199px 1268px #fff,1411px 1414px #fff,1955px 716px #fff,1005px 1873px #fff,1723px 797px #fff,574px 1472px #fff,129px 1289px #fff,190px 815px #fff,1680px 1863px #fff,24px 97px #fff,1378px 831px #fff,435px 233px #fff,1197px 1793px #fff,341px 1735px #fff,1058px 305px #fff,442px 1760px #fff,876px 1367px #fff,1455px 708px #fff,1222px 1682px #fff,83px 325px #fff,243px 694px #fff,1183px 390px #fff,922px 1353px #fff,1937px 85px #fff,1816px 304px #fff,166px 1024px #fff,1297px 462px #fff,427px 1722px #fff,1662px 598px #fff,1267px 1645px #fff,1614px 1111px #fff,990px 205px #fff,1455px 736px #fff,1300px 1737px #fff,155px 801px #fff,1918px 319px #fff,1763px 97px #fff,436px 643px #fff,1877px 259px #fff,213px 1148px #fff,1083px 1508px #fff,1330px 1265px #fff,144px 1523px #fff,326px 160px #fff,678px 359px #fff,270px 112px #fff,1257px 1969px #fff,1838px 279px #fff,1853px 670px #fff,534px 1907px #fff,1596px 150px #fff,1458px 1222px #fff,618px 480px #fff,1550px 989px #fff,1420px 289px #fff,431px 1738px #fff,1913px 944px #fff,330px 1712px #fff,1364px 704px #fff,29px 1778px #fff,762px 1445px #fff,974px 899px #fff,1006px 1953px #fff,1373px 464px #fff,1355px 110px #fff,79px 310px #fff,818px 1998px #fff,1036px 1290px #fff,631px 1724px #fff,1762px 1077px #fff,782px 757px #fff,36px 125px #fff,1860px 1466px #fff,1217px 1795px #fff,304px 457px #fff,476px 363px #fff,1285px 700px #fff,609px 1910px #fff,1829px 439px #fff,1242px 1988px #fff,1228px 1500px #fff,1538px 832px #fff,1227px 1977px #fff,718px 763px #fff,876px 1297px #fff,742px 1965px #fff,1068px 1837px #fff,998px 1521px #fff,1485px 603px #fff,1991px 1046px #fff,361px 112px #fff,976px 271px #fff,1099px 1419px #fff,601px 1959px #fff,283px 1228px #fff,1879px 1473px #fff,99px 303px #fff,1741px 146px #fff,1889px 1169px #fff,1571px 1993px #fff,91px 1602px #fff,735px 1950px #fff,1291px 1281px #fff,243px 1716px #fff,1125px 963px #fff,1074px 826px #fff,1388px 1595px #fff,20px 1517px #fff,230px 1461px #fff,1177px 1429px #fff,1661px 1091px #fff,905px 1908px #fff,733px 515px #fff,25px 1948px #fff,611px 54px #fff,1962px 1710px #fff,1736px 1201px #fff,890px 1026px #fff,392px 1125px #fff,1768px 1260px #fff,560px 1278px #fff,1501px 741px #fff,1343px 750px #fff,853px 432px #fff,1056px 724px #fff,1767px 1014px #fff,1148px 1467px #fff,1655px 1677px #fff,1929px 1719px #fff,854px 866px #fff,187px 79px #fff,1789px 345px #fff,1797px 51px #fff,958px 1562px #fff,3px 1753px #fff,1707px 1916px #fff,1786px 1197px #fff,343px 1527px #fff,1687px 957px #fff,949px 893px #fff,1718px 705px #fff,1603px 1386px #fff,1514px 557px #fff,1179px 1336px #fff,444px 471px #fff,1967px 1397px #fff,298px 511px #fff,1952px 1950px #fff,479px 1526px #fff,156px 381px #fff,617px 1348px #fff,87px 1842px #fff,1416px 1174px #fff,473px 682px #fff,1948px 1066px #fff,382px 958px #fff,979px 1266px #fff,132px 887px #fff,1149px 465px #fff,486px 1067px #fff,245px 839px #fff,843px 604px #fff,1216px 1885px #fff,1369px 298px #fff,1775px 1023px #fff,519px 365px #fff,1254px 1945px #fff,1577px 969px #fff,1307px 581px #fff,1958px 492px #fff,1559px 27px #fff,1004px 1011px #fff,99px 695px #fff,1130px 37px #fff,1053px 881px #fff,1470px 1074px #fff,1701px 1422px #fff,822px 8px #fff,1175px 841px #fff,494px 136px #fff,1544px 65px #fff,1516px 355px #fff,1403px 121px #fff,1241px 163px #fff,341px 379px #fff,580px 1043px #fff,1026px 766px #fff,141px 987px #fff,1591px 1773px #fff,1915px 1032px #fff,428px 107px #fff,949px 574px #fff,144px 592px #fff,1429px 569px #fff,1605px 1488px #fff,1420px 1360px #fff,235px 360px #fff,1091px 546px #fff,588px 1719px #fff,476px 960px #fff,336px 310px #fff,253px 1120px #fff,456px 917px #fff,1774px 742px #fff,1809px 1315px #fff,959px 136px #fff,919px 790px #fff,494px 1449px #fff,5px 342px #fff,349px 1350px #fff,98px 524px #fff,1644px 1275px #fff,955px 1075px #fff,1519px 1777px #fff,446px 1389px #fff,1835px 607px #fff,1052px 54px #fff,600px 1678px #fff,1424px 1936px #fff,1204px 684px #fff,708px 1760px #fff,1265px 1851px #fff,421px 848px #fff,362px 163px #fff,589px 101px #fff,98px 1907px #fff,1619px 1537px #fff,1023px 997px #fff,1035px 605px #fff,879px 1631px #fff,514px 731px #fff,1098px 16px #fff,1265px 1636px #fff,1025px 707px #fff,1982px 1975px #fff,1016px 1285px #fff,117px 713px #fff,1160px 1567px #fff,916px 575px #fff,1155px 1807px #fff,1897px 744px #fff,769px 856px #fff,540px 307px #fff,13px 686px #fff,1138px 51px #fff,1516px 1719px #fff,78px 518px #fff,80px 1800px #fff,234px 1160px #fff,1607px 1688px #fff,1535px 1448px #fff,1584px 1641px #fff,824px 1464px #fff,1243px 882px #fff,48px 1280px #fff,416px 505px #fff,1164px 1576px #fff,579px 135px #fff,1871px 1674px #fff,1278px 926px #fff,496px 1457px #fff,965px 724px #fff,719px 787px #fff,250px 874px #fff,1641px 1483px #fff,1107px 697px #fff,184px 1473px #fff,419px 1337px #fff,1346px 953px #fff,1615px 1484px #fff,1256px 1932px #fff,352px 1564px #fff,1640px 900px #fff,1802px 850px #fff,39px 145px #fff,1761px 1082px #fff,1338px 1727px #fff,552px 419px #fff,1346px 83px #fff,1747px 817px #fff,1407px 500px #fff,1784px 357px #fff,1310px 1032px #fff,1156px 606px #fff,1437px 281px #fff,1635px 1358px #fff,1210px 500px #fff,574px 412px #fff,230px 836px #fff,1596px 1491px #fff,1323px 462px #fff,243px 1989px #fff,125px 1058px #fff,1932px 727px #fff,1652px 907px #fff,1625px 249px #fff,1063px 884px #fff,1945px 1338px #fff,51px 1387px #fff,1119px 711px #fff,814px 317px #fff,250px 1038px #fff,714px 1624px #fff,917px 1351px #fff,670px 275px #fff,986px 943px #fff,206px 362px #fff,1110px 448px #fff,57px 1872px #fff,1388px 1899px #fff,342px 370px #fff,67px 74px #fff,1123px 336px #fff,1936px 1082px #fff,366px 1370px #fff,1683px 1866px #fff,407px 806px #fff,261px 1013px #fff,1505px 647px #fff,85px 169px #fff,635px 1873px #fff,1370px 901px #fff,448px 225px #fff,348px 1838px #fff,745px 710px #fff,1329px 306px #fff,247px 154px #fff,1467px 768px #fff,141px 1946px #fff,1282px 1338px #fff,803px 1296px #fff,1229px 156px #fff,1257px 788px #fff,1247px 739px #fff,1954px 1827px #fff,1623px 224px #fff,120px 473px #fff,509px 1541px #fff,221px 537px #fff,1196px 845px #fff,1982px 1382px #fff,1164px 1570px #fff,436px 1201px #fff,912px 506px #fff,1232px 1901px #fff,1721px 935px #fff,1116px 532px #fff,1514px 1144px #fff,1303px 1778px #fff,1326px 1175px #fff,345px 1048px #fff,818px 1751px #fff,1360px 951px #fff,991px 1030px #fff,1997px 408px #fff,1165px 540px #fff,755px 1278px #fff,1532px 1131px #fff,1347px 191px #fff,1485px 310px #fff,1941px 930px #fff,357px 691px #fff,1275px 1924px #fff,1234px 1472px #fff,936px 1367px #fff,1516px 221px #fff,1746px 1491px #fff,412px 877px #fff,663px 963px #fff,1935px 1408px #fff,1688px 1259px #fff,1307px 1432px #fff,522px 204px #fff,1096px 1878px #fff,826px 1442px #fff,458px 341px #fff,902px 487px #fff,1113px 854px #fff,1783px 809px #fff,34px 883px #fff,631px 1454px #fff,1514px 1566px #fff,428px 1406px #fff,1583px 1590px #fff,1617px 571px #fff,354px 1099px #fff,1458px 1142px #fff,19px 1710px #fff,589px 11px #fff,1300px 1424px #fff,1354px 270px #fff,1867px 1202px #fff,1158px 1079px #fff,828px 1848px #fff,300px 420px #fff,1442px 741px #fff,1249px 6px #fff,1577px 1802px #fff,1826px 1068px #fff,438px 825px #fff,759px 1478px #fff,78px 1920px #fff,284px 1825px #fff,1903px 963px #fff,1188px 1633px #fff,534px 1009px #fff,536px 124px #fff,521px 1521px #fff,1669px 313px #fff,1509px 529px #fff,1718px 394px #fff,1443px 668px #fff,433px 831px #fff,1773px 130px #fff,723px 429px #fff}#stars2{width:2px;height:2px;background:0 0;box-shadow:1313px 90px #fff,1439px 1727px #fff,1075px 1590px #fff,1289px 1501px #fff,397px 1439px #fff,46px 808px #fff,1892px 131px #fff,1887px 596px #fff,1854px 632px #fff,247px 619px #fff,321px 374px #fff,497px 1295px #fff,801px 1153px #fff,762px 1222px #fff,480px 1847px #fff,1862px 1611px #fff,991px 486px #fff,313px 1181px #fff,499px 507px #fff,1091px 270px #fff,1290px 350px #fff,1244px 220px #fff,1776px 1772px #fff,1259px 555px #fff,572px 1963px #fff,1920px 1534px #fff,669px 802px #fff,631px 1599px #fff,1916px 77px #fff,132px 411px #fff,982px 1481px #fff,1534px 102px #fff,1234px 1960px #fff,633px 1103px #fff,136px 1501px #fff,1413px 352px #fff,265px 1844px #fff,717px 1470px #fff,947px 1666px #fff,1909px 889px #fff,1713px 1544px #fff,442px 1692px #fff,1175px 1550px #fff,138px 908px #fff,218px 1444px #fff,1135px 466px #fff,1541px 1894px #fff,1613px 4px #fff,68px 779px #fff,1225px 1735px #fff,799px 1101px #fff,1331px 176px #fff,353px 1131px #fff,930px 972px #fff,175px 1216px #fff,481px 476px #fff,1268px 64px #fff,1330px 1809px #fff,1429px 290px #fff,455px 1347px #fff,709px 1196px #fff,1349px 618px #fff,1441px 1849px #fff,1724px 804px #fff,718px 1042px #fff,1612px 190px #fff,1683px 116px #fff,527px 265px #fff,35px 1804px #fff,1457px 142px #fff,24px 358px #fff,587px 113px #fff,1238px 713px #fff,40px 193px #fff,694px 330px #fff,1664px 353px #fff,1232px 1585px #fff,608px 155px #fff,849px 329px #fff,1160px 1158px #fff,1451px 479px #fff,214px 1521px #fff,317px 286px #fff,343px 1154px #fff,1890px 520px #fff,1586px 1182px #fff,1628px 993px #fff,1039px 1332px #fff,297px 997px #fff,336px 799px #fff,496px 1903px #fff,847px 1589px #fff,1027px 1171px #fff,378px 57px #fff,1645px 979px #fff,223px 732px #fff,1000px 409px #fff,478px 365px #fff,1866px 468px #fff,962px 1003px #fff,1591px 866px #fff,1561px 1947px #fff,1992px 1920px #fff,1705px 1694px #fff,732px 1376px #fff,1320px 666px #fff,922px 1569px #fff,1750px 580px #fff,1692px 652px #fff,1040px 135px #fff,1646px 718px #fff,1899px 1427px #fff,134px 1933px #fff,1517px 1213px #fff,1593px 1190px #fff,844px 185px #fff,61px 1476px #fff,1728px 1242px #fff,1409px 495px #fff,1720px 361px #fff,619px 1683px #fff,1627px 466px #fff,1856px 970px #fff,902px 1382px #fff,1560px 749px #fff,1044px 466px #fff,184px 949px #fff,263px 443px #fff,1583px 968px #fff,1442px 450px #fff,692px 1306px #fff,118px 1166px #fff,1975px 1143px #fff,1598px 613px #fff,1953px 4px #fff,147px 13px #fff,1588px 1197px #fff,813px 1293px #fff,1093px 1045px #fff,284px 1452px #fff,785px 1446px #fff,408px 512px #fff,694px 1677px #fff,1404px 1447px #fff,637px 1911px #fff,1408px 1931px #fff,384px 239px #fff,193px 1591px #fff,944px 1683px #fff,1236px 1940px #fff,1772px 1082px #fff,497px 1167px #fff,1289px 1292px #fff,1409px 1863px #fff,551px 515px #fff,857px 1376px #fff,1392px 73px #fff,1645px 79px #fff,958px 1817px #fff,1270px 1011px #fff,1450px 1882px #fff,1251px 1601px #fff,308px 545px #fff,748px 135px #fff,1508px 509px #fff,614px 1694px #fff,1581px 1528px #fff,324px 1586px #fff,20px 1447px #fff,349px 1399px #fff,1988px 450px #fff,1257px 543px #fff,783px 293px #fff,1828px 180px #fff,1082px 1609px #fff,1554px 432px #fff,1182px 1829px #fff,949px 1595px #fff,1158px 1083px #fff,432px 1029px #fff,335px 877px #fff,135px 1793px #fff,1148px 1988px #fff,1480px 1936px #fff,1785px 1406px #fff,2px 1855px #fff,200px 1136px #fff,1770px 210px #fff,1366px 1406px #fff,1912px 302px #fff,1041px 1406px #fff,1899px 1159px #fff,1763px 445px #fff,282px 1197px #fff,666px 1888px #fff,1649px 239px #fff,1741px 1084px #fff,476px 1415px #fff,785px 895px #fff,1218px 180px #fff;animation:animStar 1000s linear infinite}#stars2:after{content:" ";position:absolute;top:2000px;width:2px;height:2px;background:0 0;box-shadow:1313px 90px #fff,1439px 1727px #fff,1075px 1590px #fff,1289px 1501px #fff,397px 1439px #fff,46px 808px #fff,1892px 131px #fff,1887px 596px #fff,1854px 632px #fff,247px 619px #fff,321px 374px #fff,497px 1295px #fff,801px 1153px #fff,762px 1222px #fff,480px 1847px #fff,1862px 1611px #fff,991px 486px #fff,313px 1181px #fff,499px 507px #fff,1091px 270px #fff,1290px 350px #fff,1244px 220px #fff,1776px 1772px #fff,1259px 555px #fff,572px 1963px #fff,1920px 1534px #fff,669px 802px #fff,631px 1599px #fff,1916px 77px #fff,132px 411px #fff,982px 1481px #fff,1534px 102px #fff,1234px 1960px #fff,633px 1103px #fff,136px 1501px #fff,1413px 352px #fff,265px 1844px #fff,717px 1470px #fff,947px 1666px #fff,1909px 889px #fff,1713px 1544px #fff,442px 1692px #fff,1175px 1550px #fff,138px 908px #fff,218px 1444px #fff,1135px 466px #fff,1541px 1894px #fff,1613px 4px #fff,68px 779px #fff,1225px 1735px #fff,799px 1101px #fff,1331px 176px #fff,353px 1131px #fff,930px 972px #fff,175px 1216px #fff,481px 476px #fff,1268px 64px #fff,1330px 1809px #fff,1429px 290px #fff,455px 1347px #fff,709px 1196px #fff,1349px 618px #fff,1441px 1849px #fff,1724px 804px #fff,718px 1042px #fff,1612px 190px #fff,1683px 116px #fff,527px 265px #fff,35px 1804px #fff,1457px 142px #fff,24px 358px #fff,587px 113px #fff,1238px 713px #fff,40px 193px #fff,694px 330px #fff,1664px 353px #fff,1232px 1585px #fff,608px 155px #fff,849px 329px #fff,1160px 1158px #fff,1451px 479px #fff,214px 1521px #fff,317px 286px #fff,343px 1154px #fff,1890px 520px #fff,1586px 1182px #fff,1628px 993px #fff,1039px 1332px #fff,297px 997px #fff,336px 799px #fff,496px 1903px #fff,847px 1589px #fff,1027px 1171px #fff,378px 57px #fff,1645px 979px #fff,223px 732px #fff,1000px 409px #fff,478px 365px #fff,1866px 468px #fff,962px 1003px #fff,1591px 866px #fff,1561px 1947px #fff,1992px 1920px #fff,1705px 1694px #fff,732px 1376px #fff,1320px 666px #fff,922px 1569px #fff,1750px 580px #fff,1692px 652px #fff,1040px 135px #fff,1646px 718px #fff,1899px 1427px #fff,134px 1933px #fff,1517px 1213px #fff,1593px 1190px #fff,844px 185px #fff,61px 1476px #fff,1728px 1242px #fff,1409px 495px #fff,1720px 361px #fff,619px 1683px #fff,1627px 466px #fff,1856px 970px #fff,902px 1382px #fff,1560px 749px #fff,1044px 466px #fff,184px 949px #fff,263px 443px #fff,1583px 968px #fff,1442px 450px #fff,692px 1306px #fff,118px 1166px #fff,1975px 1143px #fff,1598px 613px #fff,1953px 4px #fff,147px 13px #fff,1588px 1197px #fff,813px 1293px #fff,1093px 1045px #fff,284px 1452px #fff,785px 1446px #fff,408px 512px #fff,694px 1677px #fff,1404px 1447px #fff,637px 1911px #fff,1408px 1931px #fff,384px 239px #fff,193px 1591px #fff,944px 1683px #fff,1236px 1940px #fff,1772px 1082px #fff,497px 1167px #fff,1289px 1292px #fff,1409px 1863px #fff,551px 515px #fff,857px 1376px #fff,1392px 73px #fff,1645px 79px #fff,958px 1817px #fff,1270px 1011px #fff,1450px 1882px #fff,1251px 1601px #fff,308px 545px #fff,748px 135px #fff,1508px 509px #fff,614px 1694px #fff,1581px 1528px #fff,324px 1586px #fff,20px 1447px #fff,349px 1399px #fff,1988px 450px #fff,1257px 543px #fff,783px 293px #fff,1828px 180px #fff,1082px 1609px #fff,1554px 432px #fff,1182px 1829px #fff,949px 1595px #fff,1158px 1083px #fff,432px 1029px #fff,335px 877px #fff,135px 1793px #fff,1148px 1988px #fff,1480px 1936px #fff,1785px 1406px #fff,2px 1855px #fff,200px 1136px #fff,1770px 210px #fff,1366px 1406px #fff,1912px 302px #fff,1041px 1406px #fff,1899px 1159px #fff,1763px 445px #fff,282px 1197px #fff,666px 1888px #fff,1649px 239px #fff,1741px 1084px #fff,476px 1415px #fff,785px 895px #fff,1218px 180px #fff}#stars3{width:3px;height:3px;background:0 0;box-shadow:1478px 1894px #fff,806px 226px #fff,367px 1724px #fff,259px 1519px #fff,386px 116px #fff,1661px 1592px #fff,1451px 505px #fff,822px 875px #fff,434px 1291px #fff,361px 31px #fff,614px 1484px #fff,1158px 481px #fff,8px 1871px #fff,1250px 545px #fff,408px 1211px #fff,1885px 1418px #fff,113px 1827px #fff,967px 1135px #fff,1222px 1677px #fff,1817px 1489px #fff,145px 1578px #fff,226px 767px #fff,1596px 1598px #fff,986px 1593px #fff,1967px 1521px #fff,1306px 1301px #fff,59px 475px #fff,46px 542px #fff,1677px 251px #fff,92px 147px #fff,1854px 1676px #fff,404px 1806px #fff,1420px 404px #fff,524px 270px #fff,1929px 1990px #fff,1440px 1674px #fff,923px 1547px #fff,874px 1082px #fff,1417px 683px #fff,1819px 1657px #fff,409px 1695px #fff,370px 1601px #fff,313px 1546px #fff,287px 1829px #fff,1048px 443px #fff,133px 168px #fff,572px 1560px #fff,450px 1012px #fff,1065px 202px #fff,1055px 655px #fff,1066px 298px #fff,94px 1803px #fff,1959px 576px #fff,1404px 136px #fff,815px 475px #fff,1940px 348px #fff,68px 911px #fff,476px 213px #fff,1456px 215px #fff,331px 1648px #fff,101px 1262px #fff,796px 1421px #fff,1175px 1356px #fff,1136px 122px #fff,327px 933px #fff,206px 91px #fff,759px 1362px #fff,188px 375px #fff,424px 576px #fff,1769px 701px #fff,1413px 39px #fff,1957px 961px #fff,772px 866px #fff,1595px 1037px #fff,1536px 419px #fff,163px 1858px #fff,1952px 620px #fff,412px 1436px #fff,10px 1875px #fff,1618px 1696px #fff,1018px 1756px #fff,337px 1571px #fff,1615px 1286px #fff,1016px 890px #fff,1168px 1926px #fff,1427px 1215px #fff,306px 959px #fff,116px 1677px #fff,1595px 1499px #fff,897px 1071px #fff,732px 1232px #fff,922px 1322px #fff,1785px 1248px #fff,1890px 1180px #fff,711px 1840px #fff,156px 967px #fff,1244px 244px #fff,1471px 69px #fff,418px 1058px #fff,159px 1620px #fff;animation:animStar 1500s linear infinite}#stars3:after{content:" ";position:absolute;top:2000px;width:3px;height:3px;background:0 0;box-shadow:1478px 1894px #fff,806px 226px #fff,367px 1724px #fff,259px 1519px #fff,386px 116px #fff,1661px 1592px #fff,1451px 505px #fff,822px 875px #fff,434px 1291px #fff,361px 31px #fff,614px 1484px #fff,1158px 481px #fff,8px 1871px #fff,1250px 545px #fff,408px 1211px #fff,1885px 1418px #fff,113px 1827px #fff,967px 1135px #fff,1222px 1677px #fff,1817px 1489px #fff,145px 1578px #fff,226px 767px #fff,1596px 1598px #fff,986px 1593px #fff,1967px 1521px #fff,1306px 1301px #fff,59px 475px #fff,46px 542px #fff,1677px 251px #fff,92px 147px #fff,1854px 1676px #fff,404px 1806px #fff,1420px 404px #fff,524px 270px #fff,1929px 1990px #fff,1440px 1674px #fff,923px 1547px #fff,874px 1082px #fff,1417px 683px #fff,1819px 1657px #fff,409px 1695px #fff,370px 1601px #fff,313px 1546px #fff,287px 1829px #fff,1048px 443px #fff,133px 168px #fff,572px 1560px #fff,450px 1012px #fff,1065px 202px #fff,1055px 655px #fff,1066px 298px #fff,94px 1803px #fff,1959px 576px #fff,1404px 136px #fff,815px 475px #fff,1940px 348px #fff,68px 911px #fff,476px 213px #fff,1456px 215px #fff,331px 1648px #fff,101px 1262px #fff,796px 1421px #fff,1175px 1356px #fff,1136px 122px #fff,327px 933px #fff,206px 91px #fff,759px 1362px #fff,188px 375px #fff,424px 576px #fff,1769px 701px #fff,1413px 39px #fff,1957px 961px #fff,772px 866px #fff,1595px 1037px #fff,1536px 419px #fff,163px 1858px #fff,1952px 620px #fff,412px 1436px #fff,10px 1875px #fff,1618px 1696px #fff,1018px 1756px #fff,337px 1571px #fff,1615px 1286px #fff,1016px 890px #fff,1168px 1926px #fff,1427px 1215px #fff,306px 959px #fff,116px 1677px #fff,1595px 1499px #fff,897px 1071px #fff,732px 1232px #fff,922px 1322px #fff,1785px 1248px #fff,1890px 1180px #fff,711px 1840px #fff,156px 967px #fff,1244px 244px #fff,1471px 69px #fff,418px 1058px #fff,159px 1620px #fff}@keyframes animStar{from{transform:translateY(0)}to{transform:translateY(-2000px)}}</style></head><body><div class="container"><div class="mb-3 d-flex flex-wrap" id="folder-list"></div><div class="mb-3" id="file-list"></div><div class="image-container" id="image-container"><img alt="Изображение" id="panzoom-image" src="https://station14.ru/images/logo.svg"><div id="stars"></div><div id="stars2"></div><div id="stars3"></div></div><div class="m-1" id="buttonsGroupPlus"><button class="btn btn-outline-light btn-sm" id="fullscreen-toggle">Полный экран</button><button class="btn btn-outline-light btn-sm" id="open-in-new-window">Открыть в отдельном окне</button><a class="btn btn-outline-light btn-sm" href="https://station14.ru" target="_top">Вернуться на главную страницу вики</a></div></div><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz"></script><script src="https://unpkg.com/[email protected]/dist/panzoom.min.js"></script><script>async function fetchFilesFromFolder(e){const t=await fetch(e);return[...(await t.text()).matchAll(/{"name":"(.*?)",.*?"type":"file"}/g)].map(e=>e[1])}async function displayFiles(e){const t=await fetchFilesFromFolder(e),n={};for(const e of t){const[l,o]=e.split("-"),c=l+"_pool.txt";if(t.includes(c)){const t="⭐️ "+l;n[t]||(n[t]=[]),n[t].push(e)}else{if(e.endsWith("_pool.txt"))continue;n[l]||(n[l]=[]),n[l].push(e)}}document.getElementById("folder-list").innerHTML="";for(const e in n)displayFolderData(e,n[e])}function displayFolderData(e,t){const n=document.createElement("div");n.classList.add("folder");const l=document.createElement("button");l.classList.add("btn","btn-outline-light","m-1","btn-sm"),l.textContent=e,l.onclick=(()=>loadFilesForMap(e,t)),n.appendChild(l),document.getElementById("folder-list").appendChild(n)}function loadFilesForMap(e,t){const n=document.getElementById("file-list");n.innerHTML="";for(const e of t)if(e.endsWith("_maxsize.txt")){const n=e.split("_")[0],l=t.findIndex(e=>e.includes(n));t[l].includes("📌 ")||(t[l]="📌 "+t[l])}for(const l of t){if(l.endsWith("_pool.txt")||l.endsWith("_maxsize.txt"))continue;const t=document.createElement("button");t.textContent=l.split(".")[0],t.classList.add("btn","btn-outline-light","m-1","btn-sm"),t.onclick=(()=>showMap(e.replace("⭐️ ",""),l,t)),n.appendChild(t)}}async function showMap(e,t,n){const l="https://thumb.cloud.mail.ru/weblink/thumb/xw1/cxkL/ePLV5CycA/"+t.replace("📌 ",""),o=document.getElementById("panzoom-image");o.src=l;panzoom(o,{canvas:!0,initialZoom:.3,smoothScroll:!1});const c=o.parentElement;c.addEventListener("wheel",panzoom.zoomWithWheel),c.addEventListener("wheel",function(e){e.shiftKey&&panzoom.zoomWithWheel(e)});const s=document.getElementById("open-in-new-window");s.style.display="block",s.onclick=(()=>window.open(l,"_blank")),document.querySelectorAll("#file-list button").forEach(e=>e.classList.remove("active")),n.classList.add("active")}function toggleFullscreen(){const e=document.getElementById("image-container");document.fullscreenElement?document.exitFullscreen():e.requestFullscreen().catch(e=>{console.log("Ошибка при попытке открыть в полноэкранном режиме:",e)})}document.getElementById("fullscreen-toggle").addEventListener("click",toggleFullscreen),document.addEventListener("fullscreenchange",()=>{const e=document.getElementById("image-container");document.fullscreenElement?e.classList.add("fullscreen--image-container"):e.classList.remove("fullscreen--image-container")}),document.getElementById("fullscreen-toggle").addEventListener("click",toggleFullscreen);const folderUrl="https://api.codetabs.com/v1/proxy/?quest=https://cloud.mail.ru/public/cxkL/ePLV5CycA";displayFiles(folderUrl);</script></body></html>', width: '100%', height: '100%', name: 'iframeMapRender', id: 'iframeMapRender' }, iframeSkillsTableRed: { src: 'https://docs.google.com/spreadsheets/d/1AvfEvRdw98iezJk2i0DVJpTgoJu2sgLnhMK9fp-LqFk/edit?gid=189048440#gid=189048440', width: '100%', height: '1900px', id: "iframeSkillsTableRed" }, }; const currentURL = window.location.href; const serversStatus = [{ name: "server-main", connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/main/server/status", serverconnect: "game2.station14.ru/main/server" }, { name: "server-nova", connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/nova/server/status", serverconnect: "game2.station14.ru/nova/server" }, { name: "server-athara", connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/athara/server/status", serverconnect: "game2.station14.ru/athara/server" }, { name: "server-solaris", connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/solaris/server/status", serverconnect: "game2.station14.ru/solaris/server" }, { name: "server-echo", connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/echo/server/status", serverconnect: "game2.station14.ru/echo/server" }, { name: "server-elysium", connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/elysium/server/status", serverconnect: "game2.station14.ru/elysium/server" }, { name: "server-nebula", connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/nebula/server/status", serverconnect: "game2.station14.ru/nebula/server" }, { name: "server-wl", connect: "https://api.codetabs.com/v1/proxy/?quest=https://game2.station14.ru/wl/server/status", serverconnect: "game2.station14.ru/wl/server" }, { name: "server-frontier", connect: "https://api.codetabs.com/v1/proxy/?quest=https://arles.station14.ru/frontier-main/server/status", serverconnect: "arles.station14.ru/frontier-main/server" }, { name: "server-fallout", connect: "https://api.codetabs.com/v1/proxy/?quest=http://188.92.78.98:1221/status", serverconnect: "188.92.78.98:1221" }, { name: "server-marines", connect: "https://api.codetabs.com/v1/proxy/?quest=https://game1.station14.ru/marines-main/server/status", serverconnect: "game1.station14.ru/marines-main/server" }, { name: "server-stalker", connect: "https://api.codetabs.com/v1/proxy/?quest=http://game.stalkers14.xyz/status", serverconnect: "game.stalkers14.xyz" }]; function getXHRInfo(url) { return new Promise(function(resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { resolve(JSON.parse(xhr.responseText)); } else { reject('Ошибка при выполнении запроса: ' + xhr.status); } }; xhr.onerror = function() { reject('Ошибка при выполнении запроса'); }; xhr.send(); }); } function updateServerInfoByConnect(connect, name) { getServerTime().then(function(currentUnixTime) { return getXHRInfo(connect).then(function(serverData) { var unixStartRound = getUnixTime(serverData.round_start_time); var timeDisplay = unixStartRound ? secondsToDHM(currentUnixTime - unixStartRound) : "–"; var currentPlayers = serverData.players; var maxPlayers = serverData.soft_max_players; // Вычисляем процент var percentage = maxPlayers > 0 ? Math.round((currentPlayers / maxPlayers) * 100) : 0; // Форматируем строку с количеством игроков var playersDisplay = currentPlayers && maxPlayers ? currentPlayers + '/' + maxPlayers : "–"; // Функция для проверки на пустые данные function checkValue(value) { return value ? value : "–"; } var serverInfo = { name: checkValue(serverData.name), round: checkValue(serverData.round_id), status: checkValue(serverData.run_level), map: checkValue(serverData.map), time: timeDisplay, players: playersDisplay, preset: checkValue(serverData.preset), percentage: percentage }; updateServerInfo(serverInfo, name); //console.log("serverInfo", serverInfo, "currentUnixTime", currentUnixTime,"unixStartRound", unixStartRound); }); }).catch(function(error) { console.error(error); }); } function getUnixTime(dateString) { return Math.floor(new Date(dateString).getTime() / 1000); // Делим на 1000, чтобы получить секунды } function secondsToDHM(seconds) { var days = Math.floor(seconds / 86400); var hours = Math.floor((seconds % 86400) / 3600); var minutes = Math.floor((seconds % 3600) / 60); var result = ""; if (days > 0) result += days + " дн, "; if (hours > 0) result += hours + " ч "; // Проверка на наличие минут if (minutes > 0) { result += minutes + " мин"; } else { result += "–"; // Символ ожидания, если минут нет } return result.trim(); } function getServerTime() { return fetch('https://station14.ru/api.php?action=query&meta=siteinfo&siprop=general&format=json').then( function(response) { return response.json(); }).then(function(data) { return getUnixTime(data.query.general.time); }); } function updateServerInfo(serverObj, serverName) { var serverStatusFrame = document.getElementById(serverName); var statusText = { 0: "Лобби", 1: "Раунд идёт", 2: "Завершение" }; serverStatusFrame.querySelector(".serverInfoRoundSet").textContent = "#" + serverObj.round; serverStatusFrame.querySelector(".serverStatusSet").textContent = statusText[serverObj.status] || "Неизвестный статус"; serverStatusFrame.querySelector(".serverMapSet").textContent = serverObj.map; serverStatusFrame.querySelector(".serverTimeSet").textContent = serverObj.time; serverStatusFrame.querySelector(".serverPlayersSet").textContent = serverObj.players; serverStatusFrame.querySelector(".serverPresetSet").textContent = serverObj.preset; // Получаем строку подключения из serversStatus const serverData = serversStatus.find(function(server) { return server.name === serverName; }); var connectionStringElement = serverStatusFrame.querySelector(".serverConnectSet"); if (connectionStringElement) { connectionStringElement.textContent = serverData ? serverData.serverconnect : '-'; // Устанавливаем строку подключения } // Обновляем прогресс-бар var progressBar = serverStatusFrame.querySelector(".progressBar"); // Предполагаем, что у вас есть элемент для прогресс-бара if (progressBar) { progressBar.style.width = serverObj.percentage + '%'; // Устанавливаем ширину прогресс-бара } // Обновляем отображение процента var percentageDisplay = serverStatusFrame.querySelector(".percentageDisplay"); // Элемент для отображения процента if (percentageDisplay) { percentageDisplay.textContent = serverObj.percentage + '%'; // Устанавливаем текст с процентом } } function updateAllServersInfo() { serversStatus.forEach(function(server) { updateServerInfoByConnect(server.connect, server.name); }); } function copyToClipboard(connectUrl) { const copyIcons = document.querySelectorAll('.copy-icon'); copyIcons.forEach(function(icon) { icon.addEventListener('click', function() { // Находим предыдущий элемент const previousElement = this.previousElementSibling; if (previousElement) { // Получаем текстовое содержимое const textToCopy = previousElement.textContent; const tempInput = document.createElement('input'); tempInput.value = textToCopy; document.body.appendChild(tempInput); tempInput.select(); document.execCommand('copy'); document.body.removeChild(tempInput); // Визуальный эффект this.style.opacity = '0.5'; // Сменяем прозрачность setTimeout(function() { this.style.opacity = '1'; // Возвращаем прозрачность }.bind(this), 200); // Через 1 секунду } }); }); } function escapeAndMinifyCSS(css) { return css.replace(/\\/g, '\\\\') // Экранируем обратный слэш .replace(/\n/g, '') // Удаляем переносы строк (по желанию) .replace(/\/\*[\s\S]*?\*\//g, '') // Удаляем комментарии .replace(/\s+/g, ' ') // Заменяем множественные пробелы на один .trim(); // Удаляем пробелы в начале и конце } const addedStyles = new Set(); function customCSS(textCSS) { const escapedCSS = escapeAndMinifyCSS(textCSS); // Экранируем CSS // Проверяем, был ли уже добавлен этот CSS if (!addedStyles.has(escapedCSS)) { addedStyles.add(escapedCSS); // Добавляем в множество уникальных стилей const styleSheet = document.createElement("style"); styleSheet.textContent = escapedCSS; document.head.appendChild(styleSheet); } } function createIframe(id) { const config = IFRAME_CONFIG[id]; if (!config) return; const iframe = document.createElement('iframe'); if (config.src && config.src !== "") { iframe.src = config.src; } if (config.srcdoc && config.srcdoc !== "") { iframe.srcdoc = config.srcdoc; } if (config.width && config.width !== "") { iframe.width = config.width; } else { iframe.width = '100%'; // Значение по умолчанию } if (config.height && config.height !== "") { iframe.height = config.height; } else { iframe.height = '400px'; // Значение по умолчанию } if (config.name && config.name !== "") { iframe.name = config.name; } if (config.allow && config.allow !== "") { iframe.allow = config.allow; } if (config.referrerpolicy && config.referrerpolicy !== "") { iframe.referrerPolicy = config.referrerpolicy; } if (config.sandbox && config.sandbox !== "") { iframe.sandbox = config.sandbox; } iframe.id = config.id || ''; // id может быть пустым, если не задано return iframe; } // Функция для увеличения яркости цвета function brightenColor(color, factor) { function getBrightness(r, g, b) { return 0.2126 * r + 0.7152 * g + 0.0722 * b; } function isGray(r, g, b) { var maxDiff = 20; // Максимальное допустимое отклонение между RGB для серого return Math.abs(r - g) < maxDiff && Math.abs(g - b) < maxDiff && Math.abs(r - b) < maxDiff; } var rgbValues = color.match(/\d+(\.\d+)?/g); var r = parseInt(rgbValues[0], 10); var g = parseInt(rgbValues[1], 10); var b = parseInt(rgbValues[2], 10); var a = rgbValues.length === 4 ? parseFloat(rgbValues[3]) : 1; var brightness = getBrightness(r, g, b); if (factor === undefined) { if (brightness <= 40) { factor = 6; } else if (brightness <= 180) { factor = 4; } else { factor = 0; } } // Если цвет серый, уменьшаем фактор if (isGray(r, g, b)) { factor = Math.max(1, factor * 0.50); } // Добавляем фактор вместо умножения r = Math.min(255, r + factor); g = Math.min(255, g + factor); b = Math.min(255, b + factor); return a < 1 ? 'rgba(' + r + ', ' + g + ', ' + b + ', ' + a + ')' : 'rgb(' + r + ', ' + g + ', ' + b + ')'; } // Функция для подсветки ячеек в таблице при наведении function applyHighlighting() { if (/Mobi|Android/i.test(navigator.userAgent)) { return; } var tables = document.querySelectorAll('.wikitable:not(.no-highlight-table)'); Array.prototype.forEach.call(tables, function(table) { var tbody = table.querySelector('tbody'); var thead = table.querySelector('thead'); var noHeader = table.classList.contains('no-header-table'); if (tbody) { // Получаем все строки <tr> внутри первого уровня <tbody> var rows = Array.prototype.slice.call(tbody.querySelectorAll('tr')).filter(function(row) { // Проверяем, что <tr> находится на первом уровне, и исключаем строки с вложенными таблицами return row.parentElement === tbody && !row.querySelector('table'); }); // Пропускаем первую строку, если нет <thead> и нет класса 'no-header-table' var topLevelRows = (!thead && !noHeader) ? rows.slice(1) : rows; var hasInvalidRowspan = false; var hasTooManyRowspan = false; // Проверка на ошибки в rowspan Array.prototype.forEach.call(topLevelRows, function(row) { var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')).filter(function(cell) { return !cell.classList.contains('mobile'); }); var cellCount = cells.length; var rowspanCount = cells.filter(function(cell) { return cell.hasAttribute('rowspan') && cell.getAttribute('rowspan') !== '1'; // Игнорируем rowspan="1" }).length; // Проверка на слишком большое количество rowspan или неправильное расположение rowspan if (rowspanCount > 2) { hasTooManyRowspan = true; return; } // Проверяем, что ячейки с rowspan находятся по краям строки var hasValidRowspanEdge = cells.some(function(cell, index) { return cell.hasAttribute('rowspan') && cell.getAttribute('rowspan') !== '1' && (index === 0 || index === cells.length - 1); }); // Если ячейки с rowspan находятся не по краям if (!hasValidRowspanEdge && cells.some(function(cell, index) { return cell.hasAttribute('rowspan') && cell.getAttribute('rowspan') !== '1' && index > 0 && index < cells.length - 1; })) { hasInvalidRowspan = true; } }); // Если есть ошибки в rowspan, выходим if (hasTooManyRowspan || hasInvalidRowspan) return; // Обработка наведения на строки и ячейки Array.prototype.forEach.call(topLevelRows, function(row, rowIndex) { var cells = Array.prototype.slice.call(row.querySelectorAll('td, th')); // Сохраняем оригинальные стили для каждой ячейки var originalStyles = cells.map(function(cell) { return { backgroundColor: getComputedStyle(cell).backgroundColor, color: getComputedStyle(cell).color }; }); // Наведение на строку (tr) row.addEventListener('mouseover', function() { highlightRow(row, rowIndex, true); }); row.addEventListener('mouseout', function() { highlightRow(row, rowIndex, false); }); // Наведение на ячейки с rowspan Array.prototype.forEach.call(cells, function(cell, cellIndex) { // Обрабатываем только ячейки с rowspan > 1 if (cell.hasAttribute('rowspan') && parseInt(cell.getAttribute('rowspan')) > 1) { var rowspan = parseInt(cell.getAttribute('rowspan')); // Обработка rowspan ячейки cell.addEventListener('mouseover', function() { // Отключаем обработку строки при наведении на rowspan ячейку row.classList.add('highlighted'); highlightRowspanArea(rowIndex, cellIndex, rowspan, true); }); cell.addEventListener('mouseout', function() { // Восстанавливаем состояние строки при уходе курсора row.classList.remove('highlighted'); highlightRowspanArea(rowIndex, cellIndex, rowspan, false); }); } }); // Функция подсветки строки (только текущее tr) function highlightRow(row, rowIndex, highlight) { if (row.classList.contains('highlighted')) return; // Избегаем повторного применения подсветки var rowCells = Array.prototype.slice.call(row.querySelectorAll('td, th')); Array.prototype.forEach.call(rowCells, function(cell, cellIndex) { // Подсвечиваем только ячейки, не имеющие атрибут rowSpan или с rowspan="1" if (!cell.hasAttribute('rowspan') || parseInt(cell.getAttribute('rowspan')) === 1) { var cellStyle = getComputedStyle(cell); cell.style.setProperty('background-color', highlight ? brightenColor(cellStyle.backgroundColor) : originalStyles[cellIndex].backgroundColor, 'important'); cell.style.setProperty('color', highlight ? brightenColor(cellStyle.color) : originalStyles[cellIndex].color, 'important'); } }); } // Функция подсветки для ячеек с rowspan (подсвечивает все строки, которые охватывает ячейка) function highlightRowspanArea(rowIndex, cellIndex, rowspan, highlight) { for (var i = 0; i < rowspan; i++) { var targetRow = topLevelRows[rowIndex + i]; if (targetRow) { var targetCells = Array.prototype.slice.call(targetRow.querySelectorAll('td, th')); // Обработка ячейки в каждой строке, затронутой rowspan Array.prototype.forEach.call(targetCells, function(targetCell) { var targetCellStyle = getComputedStyle(targetCell); // Сохраняем оригинальные стили для каждой ячейки, если подсветка включена if (highlight) { targetCell.originalBackground = targetCellStyle.backgroundColor; targetCell.originalColor = targetCellStyle.color; } // Применяем подсветку или восстанавливаем оригинальные стили targetCell.style.setProperty('background-color', highlight ? brightenColor(targetCellStyle.backgroundColor) : targetCell.originalBackground, 'important'); targetCell.style.setProperty('color', highlight ? brightenColor(targetCellStyle.color) : targetCell.originalColor, 'important'); }); } } } }); } }); } // Функция для логики меню, создаваемого модулем CategoryMenu function initCategorySwitcher() { var categories = document.querySelectorAll('.navigation__categories > div'); var menus = document.querySelectorAll('.navigation__menu-item'); var contentDivs = document.querySelectorAll('.navigation__content > div'); var menuItems = document.querySelectorAll('.navigation__menu-item > div'); var currentCategoryIndex = 0; // Индекс текущей активной категории // Генерация ID из текста function generateIdFromText(text) { return text.trim().replace(/\s+/g, '-').replace(/[^a-zа-яёA-ZА-ЯЁ0-9\-]/g, ''); } // Присвоение ID категориям и пунктам меню function assignIds() { for (var i = 0; i < categories.length; i++) { var category = categories[i]; category.setAttribute('id', generateIdFromText(category.textContent || category.innerText)); var menu = menus[i]; var menuItems = menu.querySelectorAll('div'); for (var j = 0; j < menuItems.length; j++) { menuItems[j].setAttribute('id', generateIdFromText(menuItems[j].textContent || menuItems[j].innerText)); } } } assignIds(); // Вызов функции для присвоения ID // Удаление класса active у всех переданных элементов function clearActiveElements(elements) { for (var i = 0; i < elements.length; i++) { elements[i].classList.remove('active'); } } // Переключение категорий function switchCategory(index) { clearActiveElements(menus); clearActiveElements(contentDivs); clearActiveElements(categories); var selectedCategory = categories[index]; if (selectedCategory) { selectedCategory.classList.add('active'); var selectedMenu = document.querySelector('.' + selectedCategory.classList[0] + '-menu'); if (selectedMenu) { selectedMenu.classList.add('active'); switchContent(selectedMenu.querySelector('div')); // Открытие первого пункта меню } } currentCategoryIndex = index; updateArrowStates(); // Обновление состояния стрелок } // Переключение контента в меню function switchContent(menuItem) { clearActiveElements(menuItems); clearActiveElements(contentDivs); if (menuItem) { var contentClass = menuItem.className + '-content'; var content = document.querySelector('.' + contentClass); if (content) { content.classList.add('active'); menuItem.classList.add('active'); } } } // Обновление состояния стрелок (активные/неактивные) function updateArrowStates() { var prevArrow = document.getElementById('prev-category'); var nextArrow = document.getElementById('next-category'); prevArrow.classList.toggle('disabled', currentCategoryIndex === 0); prevArrow.style.pointerEvents = currentCategoryIndex === 0 ? 'none' : 'auto'; nextArrow.classList.toggle('disabled', currentCategoryIndex === categories.length - 1); nextArrow.style.pointerEvents = currentCategoryIndex === categories.length - 1 ? 'none' : 'auto'; } // Стрелки для переключения категорий document.getElementById('prev-category').addEventListener('click', function() { if (currentCategoryIndex > 0) { switchCategory(--currentCategoryIndex); // Переключение на новую категорию } }); document.getElementById('next-category').addEventListener('click', function() { if (currentCategoryIndex < categories.length - 1) { switchCategory(++currentCategoryIndex); // Переключение на новую категорию } }); // Функция для обработки якорей function handleAnchorChange() { var anchor = window.location.hash.substring(1); // Получаем текущий хеш без символа # var decodedAnchor = decodeURIComponent(anchor); // Декодируем хеш var found = false; // Проверка пунктов меню for (var i = 0; i < menuItems.length; i++) { if (menuItems[i].id === decodedAnchor) { // Сравниваем с декодированным значением var categoryIndex = Array.prototype.indexOf.call(categories, menuItems[i].closest('.navigation__menu-item').previousElementSibling); if (categoryIndex !== -1) { switchCategory(categoryIndex); // Открываем категорию switchContent(menuItems[i]); // Открываем пункт меню found = true; // Якорь найден } break; // Выход из цикла, если якорь найден } } // Проверка категорий, если якорь не найден в пунктах меню if (!found) { for (var i = 0; i < categories.length; i++) { if (categories[i].id === decodedAnchor) { // Сравниваем с декодированным значением switchCategory(i); // Открываем категорию found = true; // Якорь найден break; } } } } // Проверяем якорь при изменении URL window.addEventListener('hashchange', handleAnchorChange); // Инициализация: открытие первой категории и первого пункта if (categories.length > 0) { assignIds(); // Присвоить ID в начале handleAnchorChange(); // Обработка начального якоря // Проверка наличия якоря и открытие первой категории только если ID не найден if (!window.location.hash) { switchCategory(0); } else { switchCategory(currentCategoryIndex); } updateArrowStates(); } // Клик по элементам меню for (var i = 0; i < menuItems.length; i++) { (function(menuItem) { menuItem.addEventListener('click', function() { switchContent(menuItem); // Переключение контента при клике на пункт меню // Убрали изменение хеша при клике }); })(menuItems[i]); } document.querySelector('.navigation__menu-toggle').addEventListener('click', function() { var menu = document.querySelector('.navigation__menu-container'); menu.classList.toggle('active'); // Переключение класса для показа/скрытия меню this.classList.toggle('active'); // Переключение для перемещения кнопки }); } const currentPageTitle = document.title; $(document).ready(function() { var serversStatus = document.querySelectorAll('.serversStatus'); if (serversStatus.length > 0) { updateAllServersInfo(); // Перезапускать каждую минуту (60000 мс) setInterval(updateAllServersInfo, 60000); } var cssEls = document.querySelectorAll('.customCSS'); if (cssEls.length > 0) { for (var j = 0; j < cssEls.length; j++) { const textCSS = cssEls[j].textContent; customCSS(textCSS); } } const copyServerConnectionIcon = document.querySelectorAll('.copyServerConnectionIcon'); copyServerConnectionIcon.forEach(function(icon) { icon.addEventListener('click', function() { const connectUrl = this.getAttribute('data-connect'); copyToClipboard(connectUrl); }); }); copyToClipboard(); var divs = document.querySelectorAll('.customIFrame'); if (divs) { for (var i = 0; i < divs.length; i++) { var div = divs[i]; var id = div.id; var iframe = createIframe(id); if (iframe) { div.appendChild(iframe); } } } var tables = document.querySelectorAll('.wikitable'); if (tables.length > 0) { setTimeout(function() { applyHighlighting(); }, 1000); } if (currentPageTitle.includes("Kerisar")) { console.log("Привет, Kerisar!"); var button = document.createElement("button"); button.innerText = "Создать архив"; document.getElementById("archivetest").appendChild(button); button.onclick = function() { var apiUrl = "https://station14.ru/api.php?action=parse&page=Шаблон:Бумажная работа/paperWork.json&prop=text&formatversion=2&format=json"; fetch(apiUrl).then(function(response) { return response.json(); }).then(function(data) { var text = data.parse.text; //console.log(text); // Извлекаем содержимое между [testarchivestart] и [testarchivestop] var startTag = "[testarchivestart]"; var endTag = "[testarchivestop]"; var startIndex = text.indexOf(startTag); var endIndex = text.indexOf(endTag); if (startIndex !== -1 && endIndex !== -1) { var extractedContent = text.substring(startIndex + startTag.length, endIndex); // Декодируем base64 в бинарные данные var binaryString = window.atob(extractedContent); var len = binaryString.length; var bytes = new Uint8Array(len); for (var i = 0; i < len; i++) { bytes[i] = binaryString.charCodeAt(i); } // Создаем Blob из бинарных данных var blob = new Blob([bytes], { type: "application/zip" }); // Создаем ссылку для скачивания var link = document.createElement("a"); link.href = URL.createObjectURL(blob); link.download = "archive.zip"; // Имя файла для скачивания link.innerText = "Скачать архив"; document.getElementById("archivetest").appendChild(link); } else { alert("Теги [testarchivestart] и [testarchivestop] не найдены."); } }).catch(function(error) { console.error("Ошибка:", error); }); }; } var categoriesExist = document.querySelectorAll('.navigation'); if (categoriesExist.length > 0) { initCategorySwitcher(); } }); /*WikiEditor/Викификатор*/ if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) { mw.loader.load( '//ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript'); } var customizeToolbar = function() { $('#wpTextbox1').wikiEditor('addToToolbar', { 'section': 'advanced', 'group': 'format', 'tools': { 'wikify': { label: 'Викификатор', type: 'button', icon: '//upload.wikimedia.org/wikipedia/commons/0/06/Wikify-toolbutton.png', action: { type: 'callback', execute: function(context) { Wikify(); } } } } }); }; if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) { mw.loader.using('user.options', function() { if (mw.user.options.get('usebetatoolbar')) { mw.loader.using('ext.wikiEditor.toolbar', function() { $(document).ready(customizeToolbar); }); } }); } /** * Taken from https://wiki.ss220.space/index.php?title=MediaWiki:Common.js&oldid=35626 */ /* Variables for interface text used throughout the script, for ease of translating */ var i18n = { // Collapsible elements and page loader hideText: 'скрыть', showText: 'показать', // Page loader loadErrorTitle: 'Возникла ошибка при загрузке содержимого' }; var mcw = window.mcw = {}; /* Keep track of delegated events on dynamic content */ mcw.events = {}; /* Fired whenever wiki content is added. (#mw-content-text, live preview, load page, etc.) */ mw.hook('wikipage.content').add(function($wikipageContent) { /** * Page loader * * Allows a page to be downloaded and displayed on demand. * Use with Template:LoadPage and Template:LoadBox */ (function() { var $loadPage = $wikipageContent.find('.load-page'); if (!$loadPage.length) { return; } // We need the spinner to show loading is happening, but we don't want // to have a delay while the module downloads, so we'll load this now, // regardless of if something is clicked mw.loader.load('jquery.spinner'); // Create button starting with hide text // Will be changed to the show text while calculating the maximum button size var $buttonTemplate = $('<span>').addClass('mw-editsection-like load-page-button').append('[ ', $( '<span>').addClass('jslink').text(i18n.hideText), ' ]'); var extractList = function($contentContainer, listClass) { var $content = $contentContainer.find('.mw-parser-output > ul > li > ul').children( ':not(.nbttree-inherited)'); if (listClass) { $content.addClass(listClass); } return $content; }; $loadPage.each(function() { var $body = $(this); var page = $body.data('page'); if (!page) { return; } var template = $body.data('template'); var treeview = $body.data('treeview'); var treeviewClass = $body.data('treeviewclass'); var $heading; var $contentContainer; var $content; var $button = $buttonTemplate.clone(); var $buttonLink = $button.find('.jslink'); if (treeview) { $heading = $body; $contentContainer = $('<div>'); } else { $heading = $body.children().first(); $contentContainer = $body.find('.load-page-content'); } // Add the button $heading.append($button); // Move the edit button to the right spot $contentContainer.find('.mw-editsection, .mw-editsection-like').insertAfter($button); // Find max button width, and set its min-width to it var hideWidth = $button.width(); $buttonLink.text(i18n.showText); var showWidth = $button.width(); if (hideWidth !== showWidth) { $button.css('min-width', hideWidth > showWidth ? hideWidth : showWidth); } $buttonLink.click(function() { if ($body.hasClass('pageloader-contentloaded')) { if ($buttonLink.text() === i18n.showText) { if (treeview) { $content.insertAfter($body); } else { $contentContainer.show(); } $buttonLink.text(i18n.hideText); } else { if (treeview) { $content.detach(); } else { $contentContainer.hide(); } $buttonLink.text(i18n.showText); } return; } // See if this was loaded elsewhere before making a request var gotContent; $('.pageloader-contentloaded').each(function() { var $fLoader = $(this); if ($fLoader.data('page') === page && $fLoader.data('pageloader-content')) { $contentContainer.html($fLoader.data('pageloader-content')).removeClass('noscript'); mw.hook('wikipage.content').fire($contentContainer); if (treeview) { $body.find('.noscript').remove(); $content = extractList($contentContainer, treeviewClass); $content.insertAfter($body); } $buttonLink.text(i18n.hideText); $body.addClass('pageloader-contentloaded'); gotContent = true; return false; } }); if (gotContent) { return; } // Just in-case the spinner module is still not ready yet var $spinner = $(); mw.loader.using('jquery.spinner', function() { // $spinner will be false if the content somehow loaded before the module did if ($spinner) { $spinner = $.createSpinner().addClass('mw-editsection-like').css('min-width', $button.css( 'min-width')); $button.hide().after($spinner); } }); var requestData = { action: 'parse', prop: 'text' }; if (template) { requestData.page = page; } else { requestData.title = mw.config.get('wgPageName'); requestData.text = '{' + '{:' + page + '}}'; } new mw.Api().get(requestData).done(function(data) { var html = data.parse.text['*']; $contentContainer.html(html).removeClass('noscript'); // Resolve self-links if (template) { var curPage = '/' + mw.config.get('wgPageName'); $contentContainer.find('a').each(function() { var $link = $(this); if ($link.attr('href') === curPage) { $link.replaceWith($('<strong>').addClass('selflink').append($link.contents())); } }); html = $contentContainer.html(); } $body.data('pageloader-content', html); // Fire content hook on the new content, running all this stuff again and more :) mw.hook('wikipage.content').fire($contentContainer); if (treeview) { $body.find('.noscript').remove(); $content = extractList($contentContainer, treeviewClass); $content.insertAfter($body); } $spinner.remove(); $spinner = false; $buttonLink.text(i18n.hideText); $button.show(); $body.addClass('pageloader-contentloaded'); }).fail(function(_, error) { $spinner.remove(); $spinner = false; $button.show(); var errorText = ''; if (error.textStatus) { errorText = error.textStatus; } else if (error.error) { errorText = error.error.info; } mw.notify(errorText, { title: i18n.loadErrorTitle, autoHide: false }); }); }); }); }()); /** * Element animator * * Will cycle the active class on any child elements * within an element with the animated class. */ (function() { if (!mcw.animate) { mcw.animate = setInterval(function() { $('.animated').each(function() { var $elem = $(this); var $current = $elem.children('.active'); var $next = $current.nextAll(':not(.skip):first'); // Loop back to the start if (!$next.length) { $next = $elem.children(':not(.skip):first'); } $current.removeClass('active'); $next.addClass('active'); }); }, 2000); } }()); }); // SS220 import end