diff --git a/assets/js/common-dev.js b/assets/js/common-dev.js
new file mode 100644
index 00000000..99eae745
--- /dev/null
+++ b/assets/js/common-dev.js
@@ -0,0 +1,158 @@
+"use strict";
+
+var loading_timer;
+var domain = (/^dev\./.test(document.location.hostname.toString()) ? 'dev' : 'ltn')+'.hitomi.la';
+var galleryblockextension = '.html';
+var galleryblockdir = 'galleryblock';
+var nozomiextension = '.nozomi';
+
+function subdomain_from_url(url, base) {
+ var retval = 'b';
+ if (base) {
+ retval = base;
+ }
+
+ var b = 16;
+
+ var r = /\/[0-9a-f]{61}([0-9a-f]{2})([0-9a-f])/;
+ var m = r.exec(url);
+ if (!m) {
+ return 'a';
+ }
+
+ var g = parseInt(m[2]+m[1], b);
+ if (!isNaN(g)) {
+ retval = String.fromCharCode(97 + gg.m(g)) + retval;
+ }
+
+ return retval;
+}
+
+function url_from_url(url, base) {
+ return url.replace(/\/\/..?\.hitomi\.la\//, '//'+subdomain_from_url(url, base)+'.hitomi.la/');
+}
+
+
+function full_path_from_hash(hash) {
+ return gg.b+gg.s(hash)+'/'+hash;
+}
+
+function real_full_path_from_hash(hash) {
+ return hash.replace(/^.*(..)(.)$/, '$2/$1/'+hash);
+}
+
+
+function url_from_hash(galleryid, image, dir, ext) {
+ ext = ext || dir || image.name.split('.').pop();
+ dir = dir || 'images';
+
+ return 'https://a.hitomi.la/'+dir+'/'+full_path_from_hash(image.hash)+'.'+ext;
+}
+
+function url_from_url_from_hash(galleryid, image, dir, ext, base) {
+ if ('tn' === base) {
+ return url_from_url('https://a.hitomi.la/'+dir+'/'+real_full_path_from_hash(image.hash)+'.'+ext, base);
+ }
+ return url_from_url(url_from_hash(galleryid, image, dir, ext), base);
+}
+
+function rewrite_tn_paths(html) {
+ return html.replace(/\/\/tn\.hitomi\.la\/[^\/]+\/[0-9a-f]\/[0-9a-f]{2}\/[0-9a-f]{64}/g, function(url) {
+ return url_from_url(url, 'tn');
+ });
+}
+
+
+function show_loading() {
+ return vate_loading(true);
+}
+
+function hide_loading() {
+ stop_loading_timer();
+ return vate_loading(false);
+}
+
+function vate_loading(bool) {
+ var el = $('#loader-content');
+ if (!el) return;
+
+ if (bool) {
+ el.show();
+ } else {
+ el.hide();
+ }
+}
+
+
+function start_loading_timer() {
+ hide_loading();
+ loading_timer = setTimeout(show_loading, 500);
+}
+
+function stop_loading_timer() {
+ clearTimeout(loading_timer);
+}
+
+
+
+function scroll_to_top() {
+ document.body.scrollTop = document.documentElement.scrollTop = 0;
+}
+
+
+function localDates() {
+ $(".date").each(function() {
+ //2007-02-06 20:02:00-06
+ //2016-03-27 13:37:33.612-05
+ var r = /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(?:\.\d+)?([+-]\d{2})/;
+ var m = r.exec($(this).html());
+ if (!m) {
+ return;
+ }
+
+ //2007-02-06T20:02:00-06:00
+ $(this).html(new Date(m[1]+'-'+m[2]+'-'+m[3]+'T'+m[4]+':'+m[5]+':'+m[6]+m[7]+':00').toLocaleString(undefined, { year: 'numeric', month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric' })); //Feb 6, 2007, 8:02 PM
+ });
+}
+
+//https://stackoverflow.com/a/51332115/272601
+function retry(fn, retries, err) {
+ retries = typeof retries !== 'undefined' ? retries : 3;
+ err = typeof err !== 'undefined' ? err : null;
+
+ if (!retries) {
+ return Promise.reject(err);
+ }
+ return fn().catch(function(err) {
+ //console.warn(`retry ${3 - retries}, err ${err}`);
+ return retry(fn, (retries - 1), err);
+ });
+}
+
+
+$(document).ready(function() {
+ $("#lang").mouseenter(function() {
+ $("#lang-drop").addClass("active");
+ });
+ $("#lang").mouseleave(function() {
+ $("#lang-drop").removeClass("active");
+ });
+ $("#lang").click(function() {
+ $("#lang-drop").toggleClass("active");
+ });
+ $(".drop-button").click(function() {
+ $("nav").toggleClass("active");
+ });
+ localDates();
+});
+
+if (typeof Cookies !== 'undefined' && Cookies && Cookies.get('observe_cls')) {
+ let cls = 0;
+ const po = new PerformanceObserver((list) => {
+ for (const entry of list.getEntries()) {
+ cls += entry.value;
+ console.log(entry, 'total is now: '+cls);
+ }
+ });
+ po.observe({type: 'layout-shift', buffered: true});
+}
diff --git a/assets/js/gg-dev.js b/assets/js/gg-dev.js
new file mode 100644
index 00000000..842a1515
--- /dev/null
+++ b/assets/js/gg-dev.js
@@ -0,0 +1,2124 @@
+"use strict";
+const gg = { m: function(g) {
+var o = 0;
+switch (g) {
+case 176:
+case 1345:
+case 3985:
+case 726:
+case 3419:
+case 1726:
+case 422:
+case 544:
+case 1007:
+case 211:
+case 2125:
+case 795:
+case 3749:
+case 302:
+case 3331:
+case 201:
+case 963:
+case 3069:
+case 2386:
+case 3936:
+case 1478:
+case 1078:
+case 3358:
+case 148:
+case 3934:
+case 3681:
+case 2753:
+case 1310:
+case 2053:
+case 2864:
+case 2313:
+case 2860:
+case 617:
+case 1777:
+case 1170:
+case 2628:
+case 4045:
+case 3523:
+case 625:
+case 987:
+case 676:
+case 367:
+case 2299:
+case 3548:
+case 1763:
+case 3336:
+case 736:
+case 3264:
+case 1051:
+case 1591:
+case 3859:
+case 1217:
+case 2892:
+case 4026:
+case 1090:
+case 3746:
+case 4024:
+case 2280:
+case 64:
+case 2304:
+case 772:
+case 2973:
+case 3012:
+case 1365:
+case 578:
+case 133:
+case 2702:
+case 2987:
+case 141:
+case 2371:
+case 1689:
+case 1178:
+case 1177:
+case 1456:
+case 2090:
+case 3198:
+case 1719:
+case 3691:
+case 3702:
+case 691:
+case 844:
+case 460:
+case 3878:
+case 602:
+case 3323:
+case 1067:
+case 940:
+case 3030:
+case 2966:
+case 1154:
+case 3618:
+case 2058:
+case 561:
+case 1593:
+case 960:
+case 3213:
+case 3421:
+case 809:
+case 100:
+case 3005:
+case 559:
+case 1810:
+case 1224:
+case 2206:
+case 3751:
+case 674:
+case 547:
+case 1264:
+case 3833:
+case 1344:
+case 3255:
+case 2309:
+case 3989:
+case 939:
+case 47:
+case 4018:
+case 3368:
+case 1875:
+case 1432:
+case 2229:
+case 3551:
+case 3055:
+case 3856:
+case 3783:
+case 1861:
+case 2182:
+case 171:
+case 389:
+case 375:
+case 621:
+case 2779:
+case 2225:
+case 263:
+case 3861:
+case 24:
+case 776:
+case 4044:
+case 2668:
+case 1792:
+case 3559:
+case 653:
+case 4017:
+case 3378:
+case 294:
+case 3650:
+case 3191:
+case 3695:
+case 3514:
+case 3816:
+case 4087:
+case 394:
+case 4034:
+case 597:
+case 116:
+case 3429:
+case 1973:
+case 132:
+case 929:
+case 2732:
+case 789:
+case 2283:
+case 731:
+case 484:
+case 3539:
+case 1953:
+case 520:
+case 2927:
+case 2756:
+case 546:
+case 2776:
+case 905:
+case 265:
+case 1980:
+case 3790:
+case 3450:
+case 2255:
+case 1829:
+case 2235:
+case 3:
+case 2393:
+case 3947:
+case 102:
+case 3175:
+case 2330:
+case 1311:
+case 1413:
+case 697:
+case 4039:
+case 2072:
+case 2387:
+case 1882:
+case 119:
+case 1176:
+case 2932:
+case 3634:
+case 3402:
+case 229:
+case 3444:
+case 1895:
+case 748:
+case 1820:
+case 2042:
+case 223:
+case 326:
+case 3209:
+case 266:
+case 235:
+case 2610:
+case 3013:
+case 1883:
+case 328:
+case 3086:
+case 421:
+case 376:
+case 1394:
+case 3740:
+case 1826:
+case 3742:
+case 3483:
+case 3274:
+case 2298:
+case 1357:
+case 1484:
+case 3325:
+case 3181:
+case 1718:
+case 1698:
+case 2475:
+case 1934:
+case 3709:
+case 178:
+case 3545:
+case 1916:
+case 2954:
+case 1941:
+case 174:
+case 645:
+case 2033:
+case 3475:
+case 2895:
+case 511:
+case 2812:
+case 2693:
+case 140:
+case 1543:
+case 2654:
+case 822:
+case 1634:
+case 2231:
+case 1419:
+case 291:
+case 356:
+case 2725:
+case 2713:
+case 2160:
+case 3318:
+case 3222:
+case 1749:
+case 2348:
+case 2561:
+case 2995:
+case 898:
+case 590:
+case 1077:
+case 3603:
+case 2024:
+case 1780:
+case 1034:
+case 3367:
+case 818:
+case 1750:
+case 2690:
+case 293:
+case 3844:
+case 3434:
+case 2842:
+case 2114:
+case 3901:
+case 3071:
+case 798:
+case 3748:
+case 3174:
+case 1876:
+case 764:
+case 3995:
+case 97:
+case 41:
+case 1378:
+case 1998:
+case 3868:
+case 763:
+case 1309:
+case 3363:
+case 3999:
+case 3525:
+case 3364:
+case 532:
+case 2533:
+case 3682:
+case 2413:
+case 1833:
+case 879:
+case 2126:
+case 3593:
+case 3668:
+case 236:
+case 1131:
+case 2272:
+case 2201:
+case 2347:
+case 26:
+case 180:
+case 3319:
+case 2224:
+case 243:
+case 1391:
+case 2244:
+case 3659:
+case 3723:
+case 315:
+case 2048:
+case 3207:
+case 1113:
+case 233:
+case 807:
+case 871:
+case 3034:
+case 1805:
+case 2432:
+case 3488:
+case 1556:
+case 735:
+case 2267:
+case 3120:
+case 2180:
+case 3046:
+case 1162:
+case 683:
+case 2118:
+case 3136:
+case 2185:
+case 1407:
+case 2097:
+case 2911:
+case 3361:
+case 549:
+case 2734:
+case 4079:
+case 112:
+case 861:
+case 529:
+case 1014:
+case 3167:
+case 2741:
+case 2666:
+case 412:
+case 1775:
+case 2271:
+case 3265:
+case 3293:
+case 1260:
+case 1452:
+case 806:
+case 2355:
+case 2266:
+case 2754:
+case 1259:
+case 3837:
+case 1278:
+case 1211:
+case 3879:
+case 1002:
+case 690:
+case 2957:
+case 827:
+case 1336:
+case 3924:
+case 1583:
+case 3824:
+case 2938:
+case 2481:
+case 2428:
+case 2909:
+case 1381:
+case 3762:
+case 2974:
+case 1326:
+case 973:
+case 2552:
+case 1106:
+case 3080:
+case 1962:
+case 152:
+case 1815:
+case 2566:
+case 627:
+case 1905:
+case 619:
+case 2778:
+case 3562:
+case 652:
+case 1599:
+case 2315:
+case 353:
+case 1134:
+case 677:
+case 1623:
+case 3095:
+case 146:
+case 637:
+case 3580:
+case 1145:
+case 3505:
+case 1834:
+case 1056:
+case 3037:
+case 1528:
+case 1706:
+case 3056:
+case 1164:
+case 1827:
+case 2096:
+case 1707:
+case 2161:
+case 1449:
+case 99:
+case 2595:
+case 1168:
+case 3745:
+case 2748:
+case 374:
+case 2004:
+case 710:
+case 3173:
+case 2112:
+case 2408:
+case 708:
+case 2192:
+case 3014:
+case 2600:
+case 3884:
+case 249:
+case 3937:
+case 221:
+case 1756:
+case 808:
+case 49:
+case 466:
+case 3845:
+case 2127:
+case 705:
+case 220:
+case 1129:
+case 2691:
+case 1221:
+case 655:
+case 1013:
+case 1195:
+case 4090:
+case 1548:
+case 1897:
+case 1838:
+case 1518:
+case 3064:
+case 3920:
+case 3635:
+case 3786:
+case 2977:
+case 1549:
+case 740:
+case 458:
+case 3176:
+case 2814:
+case 368:
+case 3309:
+case 3981:
+case 733:
+case 3915:
+case 504:
+case 2503:
+case 2082:
+case 1919:
+case 1393:
+case 526:
+case 3081:
+case 2590:
+case 2341:
+case 137:
+case 3558:
+case 2166:
+case 3516:
+case 610:
+case 1666:
+case 528:
+case 2281:
+case 3842:
+case 1292:
+case 3942:
+case 3157:
+case 468:
+case 3240:
+case 93:
+case 361:
+case 1645:
+case 149:
+case 1201:
+case 3720:
+case 2532:
+case 3197:
+case 573:
+case 1009:
+case 505:
+case 124:
+case 2699:
+case 1692:
+case 182:
+case 357:
+case 8:
+case 3554:
+case 1489:
+case 801:
+case 1316:
+case 834:
+case 110:
+case 3801:
+case 3211:
+case 2216:
+case 773:
+case 2088:
+case 1993:
+case 3278:
+case 1550:
+case 3324:
+case 614:
+case 2544:
+case 791:
+case 17:
+case 1651:
+case 1250:
+case 2200:
+case 752:
+case 3122:
+case 3430:
+case 503:
+case 3843:
+case 1982:
+case 411:
+case 1135:
+case 477:
+case 399:
+case 1636:
+case 1554:
+case 826:
+case 1057:
+case 2844:
+case 2490:
+case 2008:
+case 3874:
+case 2179:
+case 3312:
+case 2121:
+case 3088:
+case 438:
+case 2070:
+case 2615:
+case 2075:
+case 1877:
+case 796:
+case 2405:
+case 3289:
+case 1701:
+case 2123:
+case 3787:
+case 944:
+case 74:
+case 1346:
+case 860:
+case 3602:
+case 1262:
+case 3961:
+case 3797:
+case 498:
+case 823:
+case 2641:
+case 681:
+case 3821:
+case 2316:
+case 1546:
+case 3806:
+case 855:
+case 3299:
+case 2960:
+case 2942:
+case 2465:
+case 2128:
+case 1172:
+case 4070:
+case 3557:
+case 1101:
+case 2039:
+case 109:
+case 1864:
+case 3106:
+case 248:
+case 338:
+case 1729:
+case 932:
+case 3611:
+case 416:
+case 4015:
+case 886:
+case 2282:
+case 451:
+case 618:
+case 2414:
+case 2410:
+case 472:
+case 666:
+case 2011:
+case 4084:
+case 3729:
+case 1939:
+case 256:
+case 3785:
+case 1240:
+case 3630:
+case 2847:
+case 813:
+case 1969:
+case 1044:
+case 2473:
+case 1269:
+case 369:
+case 1473:
+case 2394:
+case 1181:
+case 3245:
+case 79:
+case 967:
+case 2494:
+case 1557:
+case 2917:
+case 3738:
+case 2788:
+case 2555:
+case 579:
+case 1366:
+case 3570:
+case 3872:
+case 1435:
+case 3819:
+case 283:
+case 3153:
+case 3134:
+case 1380:
+case 3100:
+case 2104:
+case 281:
+case 3560:
+case 429:
+case 490:
+case 1281:
+case 1159:
+case 3009:
+case 3954:
+case 1080:
+case 3121:
+case 3962:
+case 453:
+case 3141:
+case 410:
+case 1041:
+case 184:
+case 2014:
+case 3917:
+case 2594:
+case 892:
+case 3282:
+case 2022:
+case 4042:
+case 675:
+case 1026:
+case 3412:
+case 2829:
+case 3214:
+case 2841:
+case 1542:
+case 596:
+case 1656:
+case 1757:
+case 3394:
+case 500:
+case 3528:
+case 1150:
+case 2627:
+case 327:
+case 1033:
+case 3598:
+case 1818:
+case 126:
+case 3688:
+case 3851:
+case 2219:
+case 1298:
+case 1117:
+case 3258:
+case 1769:
+case 3051:
+case 3519:
+case 889:
+case 3195:
+case 595:
+case 523:
+case 2669:
+case 2768:
+case 1237:
+case 1157:
+case 1802:
+case 30:
+case 3489:
+case 3689:
+case 1620:
+case 2214:
+case 658:
+case 479:
+case 2260:
+case 3096:
+case 1589:
+case 1703:
+case 3645:
+case 1920:
+case 662:
+case 3027:
+case 2158:
+case 3566:
+case 671:
+case 2856:
+case 2317:
+case 215:
+case 199:
+case 1665:
+case 1146:
+case 2639:
+case 170:
+case 4030:
+case 792:
+case 2958:
+case 3441:
+case 2619:
+case 2568:
+case 46:
+case 3200:
+case 4004:
+case 54:
+case 3626:
+case 1120:
+case 2452:
+case 2519:
+case 3504:
+case 2716:
+case 788:
+case 219:
+case 3775:
+case 3812:
+case 1142:
+case 3371:
+case 1774:
+case 959:
+case 741:
+case 3644:
+case 2485:
+case 2937:
+case 3244:
+case 2170:
+case 3921:
+case 870:
+case 2513:
+case 4012:
+case 527:
+case 3940:
+case 3569:
+case 3754:
+case 3040:
+case 3686:
+case 2165:
+case 2434:
+case 1356:
+case 2760:
+case 2537:
+case 9:
+case 857:
+case 330:
+case 4059:
+case 2322:
+case 1213:
+case 355:
+case 2040:
+case 2583:
+case 1115:
+case 3625:
+case 3375:
+case 3520:
+case 3836:
+case 52:
+case 332:
+case 3438:
+case 643:
+case 1136:
+case 2516:
+case 2717:
+case 345:
+case 1104:
+case 2296:
+case 120:
+case 2508:
+case 3752:
+case 444:
+case 3415:
+case 725:
+case 4061:
+case 3328:
+case 2116:
+case 3510:
+case 1083:
+case 729:
+case 3129:
+case 292:
+case 3204:
+case 2972:
+case 1670:
+case 3132:
+case 241:
+case 3447:
+case 1745:
+case 0:
+case 1569:
+case 3826:
+case 1911:
+case 848:
+case 4066:
+case 1503:
+case 2122:
+case 1165:
+case 3990:
+case 749:
+case 2828:
+case 245:
+case 400:
+case 3024:
+case 2802:
+case 3408:
+case 956:
+case 3831:
+case 875:
+case 408:
+case 1534:
+case 1241:
+case 2134:
+case 1874:
+case 2511:
+case 2232:
+case 3614:
+case 1791:
+case 415:
+case 2956:
+case 51:
+case 2672:
+case 2809:
+case 1000:
+case 3373:
+case 1795:
+case 2975:
+case 1030:
+case 1814:
+case 1844:
+case 3075:
+case 4013:
+case 277:
+case 1956:
+case 207:
+case 4032:
+case 743:
+case 3907:
+case 938:
+case 3891:
+case 1155:
+case 841:
+case 612:
+case 569:
+case 242:
+case 730:
+case 2178:
+case 1979:
+case 2060:
+case 3564:
+case 2558:
+case 3913:
+case 586:
+case 3053:
+case 286:
+case 4020:
+case 648:
+case 3509:
+case 3090:
+case 1352:
+case 1052:
+case 2117:
+case 2194:
+case 2157:
+case 838:
+case 3031:
+case 139:
+case 657:
+case 3462:
+case 3753:
+case 1147:
+case 316:
+case 2339:
+case 1567:
+case 3151:
+case 2142:
+case 3317:
+case 360:
+case 3468:
+case 2551:
+case 487:
+case 2867:
+case 3165:
+case 3257:
+case 1114:
+case 1637:
+case 659:
+case 38:
+case 2620:
+case 1901:
+case 1058:
+case 2763:
+case 2626:
+case 3927:
+case 2784:
+case 2789:
+case 570:
+case 2804:
+case 123:
+case 1927:
+case 1690:
+case 3933:
+case 954:
+case 1890:
+case 2597:
+case 445:
+case 636:
+case 1819:
+case 3578:
+case 2659:
+case 3503:
+case 471:
+case 3908:
+case 2035:
+case 82:
+case 2130:
+case 3588:
+case 443:
+case 175:
+case 287:
+case 1520:
+case 1100:
+case 2993:
+case 2990:
+case 509:
+case 961:
+case 1724:
+case 4083:
+case 2257:
+case 2528:
+case 3596:
+case 1951:
+case 3680:
+case 296:
+case 2189:
+case 104:
+case 1474:
+case 3493:
+case 3387:
+case 3154:
+case 762:
+case 2270:
+case 1005:
+case 3997:
+case 3497:
+case 778:
+case 2765:
+case 1944:
+case 2794:
+case 1184:
+case 887:
+case 3900:
+case 1444:
+case 1355:
+case 3393:
+case 2295:
+case 3627:
+case 16:
+case 2370:
+case 1952:
+case 1888:
+case 200:
+case 906:
+case 1803:
+case 1441:
+case 3327:
+case 3632:
+case 101:
+case 3642:
+case 3730:
+case 2203:
+case 1596:
+case 1638:
+case 1742:
+case 3287:
+case 632:
+case 3205:
+case 3427:
+case 1445:
+case 1794:
+case 1955:
+case 628:
+case 3015:
+case 2862:
+case 1455:
+case 3130:
+case 603:
+case 3616:
+case 2199:
+case 3565:
+case 3910:
+case 4088:
+case 2846:
+case 3250:
+case 3187:
+case 264:
+case 2773:
+case 3964:
+case 1552:
+case 485:
+case 516:
+case 1755:
+case 3016:
+case 1254:
+case 3979:
+case 1881:
+case 461:
+case 1405:
+case 3687:
+case 2366:
+case 2156:
+case 878:
+case 3021:
+case 1658:
+case 4001:
+case 3763:
+case 3360:
+case 2891:
+case 761:
+case 303:
+case 131:
+case 2454:
+case 3943:
+case 467:
+case 129:
+case 2459:
+case 1140:
+case 2324:
+case 13:
+case 2478:
+case 3886:
+case 3777:
+case 3541:
+case 2080:
+case 3581:
+case 1633:
+case 1649:
+case 3744:
+case 3587:
+case 2470:
+case 2345:
+case 3662:
+case 883:
+case 168:
+case 3561:
+case 1089:
+case 2929:
+case 2067:
+case 678:
+case 558:
+case 1384:
+case 313:
+case 1382:
+case 3865:
+case 1031:
+case 1655:
+case 2449:
+case 1105:
+case 1913:
+case 1900:
+case 922:
+case 1764:
+case 1042:
+case 727:
+case 3184:
+case 2312:
+case 2238:
+case 2854:
+case 2969:
+case 2863:
+case 1899:
+case 2757:
+case 2351:
+case 3114:
+case 2466:
+case 3576:
+case 1372:
+case 3431:
+case 2986:
+case 900:
+case 1421:
+case 3507:
+case 904:
+case 2572:
+case 276:
+case 704:
+case 413:
+case 380:
+case 3956:
+case 3054:
+case 2029:
+case 299:
+case 1270:
+case 2991:
+case 2709:
+case 3321:
+case 1397:
+case 3768:
+case 300:
+case 3675:
+case 1859:
+case 1950:
+case 3484:
+case 3500:
+case 1730:
+case 3000:
+case 2652:
+case 1424:
+case 156:
+case 3340:
+case 2430:
+case 888:
+case 1267:
+case 383:
+case 2222:
+case 2402:
+case 117:
+case 3958:
+case 687:
+case 2839:
+case 1018:
+case 2585:
+case 2346:
+case 4038:
+case 1709:
+case 1903:
+case 3406:
+case 3457:
+case 1233:
+case 2337:
+case 172:
+case 814:
+case 580:
+case 2579:
+case 2305:
+case 644:
+case 3029:
+case 2791:
+case 1606:
+case 18:
+case 847:
+case 591:
+case 3400:
+case 1234:
+case 843:
+case 1771:
+case 1171:
+case 2569:
+case 3534:
+case 1390:
+case 2041:
+case 3476:
+case 1279:
+case 1059:
+case 1972:
+case 719:
+case 3893:
+case 3971:
+case 1461:
+case 1238:
+case 2474:
+case 2463:
+case 244:
+case 3988:
+case 2889:
+case 3472:
+case 551:
+case 228:
+case 2925:
+case 1931:
+case 935:
+case 3890:
+case 1781:
+case 1907:
+case 2472:
+case 2934:
+case 3973:
+case 1514:
+case 1467:
+case 2172:
+case 3247:
+case 1289:
+case 2838:
+case 246:
+case 3931:
+case 4019:
+case 1086:
+case 2582:
+case 2755:
+case 689:
+case 1537:
+case 575:
+case 3072:
+case 699:
+case 1846:
+case 3652:
+case 4031:
+case 160:
+case 1206:
+case 1609:
+case 2087:
+case 3661:
+case 3359:
+case 1948:
+case 1639:
+case 2570:
+case 2947:
+case 3518:
+case 2278:
+case 1767:
+case 1928:
+case 968:
+case 2621:
+case 903:
+case 4040:
+case 1374:
+case 3384:
+case 1758:
+case 1867:
+case 1723:
+case 2171:
+case 3398:
+case 3731:
+case 1011:
+case 934:
+case 622:
+case 1664:
+case 1338:
+case 2435:
+case 3487:
+case 1563:
+case 1525:
+case 702:
+case 2819:
+case 3594:
+case 4003:
+case 4092:
+case 1476:
+case 1246:
+case 2878:
+case 2749:
+case 1576:
+case 1071:
+case 2274:
+case 358:
+case 2493:
+case 2767:
+case 2492:
+case 3722:
+case 3127:
+case 3418:
+case 239:
+case 2642:
+case 288:
+case 2879:
+case 254:
+case 165:
+case 3322:
+case 3026:
+case 475:
+case 1251:
+case 167:
+case 1232:
+case 1016:
+case 2262:
+case 3639:
+case 7:
+case 1578:
+case 1141:
+case 3379:
+case 21:
+case 747:
+case 2061:
+case 2805:
+case 96:
+case 3646:
+case 3333:
+case 2976:
+case 2133:
+case 3693:
+case 1816:
+case 1019:
+case 1116:
+case 1239:
+case 3094:
+case 3555:
+case 2388:
+case 2564:
+case 1064:
+case 1321:
+case 113:
+case 2144:
+case 1917:
+case 2904:
+case 2792:
+case 3117:
+case 1565:
+case 1871:
+case 3146:
+case 1923:
+case 2205:
+case 3656:
+case 1084:
+case 1522:
+case 2845:
+case 3280:
+case 2062:
+case 2580:
+case 2922:
+case 365:
+case 3351:
+case 1971:
+case 3683:
+case 1205:
+case 402:
+case 2195:
+case 872:
+case 3078:
+case 2213:
+case 3226:
+case 3166:
+case 2939:
+case 3376:
+case 3653:
+case 3416:
+case 589:
+case 3302:
+case 3491:
+case 2550:
+case 333:
+case 1199:
+case 3946:
+case 3342:
+case 988:
+case 2952:
+case 2727:
+case 1097:
+case 2245:
+case 1200:
+case 1700:
+case 1912:
+case 1714:
+case 2968:
+case 2775:
+case 512:
+case 348:
+case 650:
+case 3007:
+case 3914:
+case 3445:
+case 1748:
+case 2400:
+case 3217:
+case 2510:
+case 2249:
+case 2176:
+case 159:
+case 3779:
+case 1521:
+case 78:
+case 563:
+case 3344:
+case 3852:
+case 3073:
+case 780:
+case 724:
+case 2188:
+case 3928:
+case 722:
+case 2480:
+case 3840:
+case 1433:
+case 661:
+case 2098:
+case 1936:
+case 1128:
+case 2488:
+case 324:
+case 1801:
+case 3246:
+case 2596:
+case 641:
+case 3269:
+case 3059:
+case 406:
+case 1679:
+case 3807:
+case 2813:
+case 3521:
+case 1523:
+case 1339:
+case 2609:
+case 572:
+case 3799:
+case 2331:
+case 3732:
+case 3251:
+case 854:
+case 3963:
+case 230:
+case 696:
+case 2718:
+case 2761:
+case 2853:
+case 3145:
+case 1759:
+case 629:
+case 3617:
+case 2032:
+case 1006:
+case 3377:
+case 1055:
+case 2900:
+case 3651:
+case 553:
+case 1926:
+case 2119:
+case 3267:
+case 989:
+case 3658:
+case 923:
+case 274:
+case 1786:
+case 1697:
+case 2124:
+case 3511:
+case 1439:
+case 873:
+case 440:
+case 418:
+case 3047:
+case 1796:
+case 2874:
+case 3750:
+case 1319:
+case 2491:
+case 1843:
+case 3126:
+case 2382:
+case 2682:
+case 1533:
+case 3428:
+case 3463:
+case 2276:
+case 3350:
+case 1112:
+case 2944:
+case 354:
+case 1918:
+case 571:
+case 984:
+case 2556:
+case 1047:
+case 899:
+case 2548:
+case 2859:
+case 3019:
+case 1304:
+case 3048:
+case 1611:
+case 1526:
+case 3111:
+case 3254:
+case 874:
+case 3857:
+case 3018:
+case 193:
+case 87:
+case 321:
+case 1327:
+case 951:
+case 2722:
+case 1684:
+case 1935:
+case 2896:
+case 2750:
+case 3866:
+case 155:
+case 260:
+case 3585:
+case 1330:
+case 2646:
+case 3008:
+case 1909:
+case 2468:
+case 1652:
+case 456:
+case 3853:
+case 2443:
+case 3501:
+case 682:
+case 2982:
+case 1392:
+case 1840:
+case 2356:
+case 3227:
+case 3436:
+case 1001:
+case 1223:
+case 2924:
+case 2743:
+case 84:
+case 2045:
+case 3107:
+case 3513:
+case 1256:
+case 2044:
+case 1632:
+case 1386:
+case 664:
+case 651:
+case 957:
+case 2442:
+case 2811:
+case 3714:
+case 2320:
+case 1410:
+case 3876:
+case 1462:
+case 3654:
+case 69:
+case 2120:
+case 3795:
+case 556:
+case 1702:
+case 3678:
+case 2174:
+case 1624:
+case 2742:
+case 3286:
+case 2706:
+case 3313:
+case 1949:
+case 1132:
+case 1746:
+case 4029:
+case 974:
+case 1431:
+case 692:
+case 111:
+case 2518:
+case 2731:
+case 715:
+case 832:
+case 3020:
+case 3623:
+case 2074:
+case 2817:
+case 902:
+case 1668:
+case 1627:
+case 1586:
+case 3897:
+case 2531:
+case 2625:
+case 3641:
+case 2215:
+case 3967:
+case 3540:
+case 1437:
+case 3093:
+case 3846:
+case 952:
+case 1502:
+case 3996:
+case 209:
+case 2873:
+case 181:
+case 95:
+case 90:
+case 1671:
+case 2498:
+case 998:
+case 1329:
+case 537:
+case 2815:
+case 3163:
+case 620:
+case 2177:
+case 3544:
+case 387:
+case 1183:
+case 742:
+case 2746:
+case 3473:
+case 2785:
+case 2825:
+case 2926:
+case 108:
+case 2648:
+case 965:
+case 1822:
+case 926:
+case 3084:
+case 2006:
+case 966:
+case 2327:
+case 311:
+case 3502:
+case 2202:
+case 3734:
+case 3143:
+case 2367:
+case 3862:
+case 3485:
+case 1340:
+case 390:
+case 882:
+case 2293:
+case 1614:
+case 81:
+case 686:
+case 1963:
+case 2539:
+case 1472:
+case 1024:
+case 1754:
+case 2525:
+case 44:
+case 3301:
+case 2902:
+case 1245:
+case 550:
+case 3203:
+case 2383:
+case 3512:
+case 3202:
+case 2419:
+case 3572:
+case 3003:
+case 943:
+case 1459:
+case 828:
+case 786:
+case 29:
+case 1313:
+case 1487:
+case 2740:
+case 284:
+case 1734:
+case 1359:
+case 2796:
+case 2208:
+case 2094:
+case 920:
+case 4048:
+case 1524:
+case 3135:
+case 2783:
+case 3696:
+case 1898:
+case 2350:
+case 2237:
+case 3930:
+case 2736:
+case 2930:
+case 1873:
+case 2678:
+case 3499:
+case 3283:
+case 1740:
+case 3633:
+case 577:
+case 2688:
+case 2415:
+case 3657:
+case 2175:
+case 3306:
+case 259:
+case 1203:
+case 982:
+case 1721:
+case 1992:
+case 1243:
+case 1037:
+case 482:
+case 1986:
+case 2675:
+case 3655:
+case 3737:
+case 1297:
+case 210:
+case 3356:
+case 1192:
+case 3389:
+case 2823:
+case 3733:
+case 1379:
+case 2883:
+case 31:
+case 3035:
+case 1048:
+case 2685:
+case 1512:
+case 3004:
+case 1498:
+case 1508:
+case 3556:
+case 1194:
+case 2833:
+case 382:
+case 594:
+case 1793:
+case 1837:
+case 1266:
+case 1043:
+case 62:
+case 86:
+case 1284:
+case 1088:
+case 859:
+case 3765:
+case 2418:
+case 3228:
+case 1958:
+case 3332:
+case 2321:
+case 3827:
+case 3986:
+case 2374:
+case 3772:
+case 3224:
+case 2207:
+case 1650:
+case 372:
+case 114:
+case 679:
+case 3221:
+case 693:
+case 463:
+case 1291:
+case 2028:
+case 273:
+case 4000:
+case 1884:
+case 3223:
+case 2303:
+case 1418:
+case 712:
+case 1098:
+case 2445:
+case 4043:
+case 1429:
+case 385:
+case 3944:
+case 2912:
+case 4064:
+case 1401:
+case 157:
+case 1564:
+case 2273:
+case 2319:
+case 1983:
+case 1:
+case 3660:
+case 1511:
+case 3409:
+case 2364:
+case 1581:
+case 491:
+case 2673:
+case 1494:
+case 2012:
+case 996:
+case 3448:
+case 3212:
+case 2507:
+case 2115:
+case 1696:
+case 1070:
+case 1334:
+case 3288:
+case 3586:
+case 646:
+case 1933:
+case 2744:
+case 3459:
+case 1174:
+case 850:
+case 2941:
+case 1915:
+case 1436:
+case 3815:
+case 858:
+case 2416:
+case 2928:
+case 3131:
+case 3396:
+case 3976:
+case 1582:
+case 3219:
+case 3771:
+case 2209:
+case 835:
+case 3904:
+case 1235:
+case 4067:
+case 2140:
+case 3063:
+case 2:
+case 2826:
+case 3895:
+case 3613:
+case 434:
+case 3298:
+case 3365:
+case 962:
+case 3882:
+case 2861:
+case 1491:
+case 295:
+case 3339:
+case 914:
+case 2109:
+case 232:
+case 2139:
+case 1349:
+case 1889:
+case 1045:
+case 1189:
+case 2979:
+case 3180:
+case 3341:
+case 1943:
+case 933:
+case 2077:
+case 433:
+case 435:
+case 169:
+case 1672:
+case 1571:
+case 1185:
+case 1869:
+case 88:
+case 2263:
+case 1303:
+case 1997:
+case 911:
+case 343:
+case 50:
+case 2265:
+case 2198:
+case 759:
+case 2538:
+case 2256:
+case 1414:
+case 2360:
+case 1959:
+case 4069:
+case 76:
+case 3529:
+case 2696:
+case 1123:
+case 3672:
+case 2940:
+case 2427:
+case 2903:
+case 1477:
+case 3162:
+case 1276:
+case 3698:
+case 464:
+case 2487:
+case 3225:
+case 2758:
+case 3531:
+case 2623:
+case 1603:
+case 2549:
+case 187:
+case 2918:
+case 2376:
+case 2563:
+case 2236:
+case 1990:
+case 1560:
+case 2247:
+case 1824:
+case 2314:
+case 3667:
+case 2689:
+case 3171:
+case 2894:
+case 1836:
+case 2950:
+case 630:
+case 829:
+case 1541:
+case 2343:
+case 894:
+case 2824:
+case 1743:
+case 3481:
+case 2613:
+case 2762:
+case 107:
+case 3869:
+case 2429:
+case 2323:
+case 3935:
+case 2153:
+case 1408:
+case 177:
+case 1975:
+case 2401:
+case 2111:
+case 1789:
+case 3216:
+case 2680:
+case 1348:
+case 1784:
+case 2025:
+case 11:
+case 3757:
+case 891:
+case 2649:
+case 606:
+case 3140:
+case 718:
+case 1823:
+case 2279:
+case 3758:
+case 212:
+case 60:
+case 581:
+case 1242:
+case 2694:
+case 842:
+case 1208:
+case 53:
+case 1458:
+case 1062:
+case 508:
+case 3170:
+case 2951:
+case 1821:
+case 1169:
+case 2855:
+case 999:
+case 1630:
+case 428:
+case 4057:
+case 2848:
+case 1853:
+case 3896:
+case 3033:
+case 1025:
+case 2500:
+case 1932:
+case 3284:
+case 347:
+case 4085:
+case 810:
+case 2970:
+case 3142:
+case 2850:
+case 2002:
+case 20:
+case 2301:
+case 605:
+case 3705:
+case 1227:
+case 4016:
+case 1066:
+case 2529:
+case 2021:
+case 831:
+case 669:
+case 4052:
+case 2751:
+case 2101:
+case 3010:
+case 257:
+case 3888:
+case 1629:
+case 437:
+case 2875:
+case 2398:
+case 2893:
+case 2728:
+case 3721:
+case 2020:
+case 4028:
+case 2936:
+case 1625:
+case 2705:
+case 3885:
+case 1904:
+case 1862:
+case 1216:
+case 80:
+case 3809:
+case 3916:
+case 3038:
+case 2344:
+case 2113:
+case 3177:
+case 1615:
+case 486:
+case 1493:
+case 2379:
+case 4093:
+case 103:
+case 1143:
+case 1312:
+case 3620:
+case 3242:
+case 737:
+case 3803:
+case 1517:
+case 2630:
+case 2261:
+case 2242:
+case 2469:
+case 1531:
+case 3932:
+case 2030:
+case 734:
+case 1835:
+case 1442:
+case 2720:
+case 3486:
+case 3150:
+case 1074:
+case 2395:
+case 39:
+case 3673:
+case 2147:
+case 1231:
+case 72:
+case 3229:
+case 936:
+case 1597:
+case 1773:
+case 105:
+case 1320:
+case 3182:
+case 3959:
+case 1020:
+case 781:
+case 2657:
+case 1964:
+case 3708:
+case 2338:
+case 1999:
+case 2204:
+case 205:
+case 3637:
+case 3179:
+case 2084:
+case 3260:
+case 2651:
+case 1362:
+case 751:
+case 2645:
+case 1768:
+case 2221:
+case 1519:
+case 3712:
+case 815:
+case 3793:
+case 2810:
+case 685:
+case 3718:
+case 3671:
+case 3492:
+case 1947:
+o = 0;break;
+default: o = 1;
+}
+return o;
+},
+s: function(h) { var m = /(..)(.)$/.exec(h); return parseInt(m[2]+m[1], 16).toString(10); },
+b: '1641218289/'
+};
diff --git a/assets/js/misc-dev.js b/assets/js/misc-dev.js
new file mode 100644
index 00000000..2e7f5e9d
--- /dev/null
+++ b/assets/js/misc-dev.js
@@ -0,0 +1,7 @@
+function get_gallery_info(galleryID) {
+ return new Promise((resolve, reject) => {
+ $.getScript(`https://ltn.hitomi.la/galleries/${galleryID}.html`, () => {
+ resolve(galleryinfo);
+ });
+ });
+}
\ No newline at end of file
diff --git a/hitomi-dev.html b/hitomi-dev.html
index d2643b5f..9e2713c4 100644
--- a/hitomi-dev.html
+++ b/hitomi-dev.html
@@ -1,6 +1,7 @@
-
-
+
+
+