@tsparticles/simplex-noise 3.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +74 -0
  3. package/browser/Classes/SimplexNoise2D.js +152 -0
  4. package/browser/Classes/SimplexNoise3D.js +528 -0
  5. package/browser/Classes/SimplexNoise4D.js +2867 -0
  6. package/browser/Contributions.js +1 -0
  7. package/browser/SimplexNoise.js +10 -0
  8. package/browser/index.js +1 -0
  9. package/browser/package.json +1 -0
  10. package/browser/utils.js +5 -0
  11. package/cjs/Classes/SimplexNoise2D.js +156 -0
  12. package/cjs/Classes/SimplexNoise3D.js +532 -0
  13. package/cjs/Classes/SimplexNoise4D.js +2871 -0
  14. package/cjs/Contributions.js +2 -0
  15. package/cjs/SimplexNoise.js +14 -0
  16. package/cjs/index.js +5 -0
  17. package/cjs/package.json +1 -0
  18. package/cjs/utils.js +9 -0
  19. package/esm/Classes/SimplexNoise2D.js +152 -0
  20. package/esm/Classes/SimplexNoise3D.js +528 -0
  21. package/esm/Classes/SimplexNoise4D.js +2867 -0
  22. package/esm/Contributions.js +1 -0
  23. package/esm/SimplexNoise.js +10 -0
  24. package/esm/index.js +1 -0
  25. package/esm/package.json +1 -0
  26. package/esm/utils.js +5 -0
  27. package/package.json +105 -0
  28. package/report.html +39 -0
  29. package/tsparticles.simplex.noise.js +457 -0
  30. package/tsparticles.simplex.noise.min.js +2 -0
  31. package/tsparticles.simplex.noise.min.js.LICENSE.txt +1 -0
  32. package/types/Classes/SimplexNoise2D.d.ts +16 -0
  33. package/types/Classes/SimplexNoise3D.d.ts +16 -0
  34. package/types/Classes/SimplexNoise4D.d.ts +16 -0
  35. package/types/Contributions.d.ts +27 -0
  36. package/types/SimplexNoise.d.ts +9 -0
  37. package/types/index.d.ts +1 -0
  38. package/types/utils.d.ts +1 -0
  39. package/umd/Classes/SimplexNoise2D.js +166 -0
  40. package/umd/Classes/SimplexNoise3D.js +542 -0
  41. package/umd/Classes/SimplexNoise4D.js +2881 -0
  42. package/umd/Contributions.js +12 -0
  43. package/umd/SimplexNoise.js +24 -0
  44. package/umd/index.js +15 -0
  45. package/umd/utils.js +19 -0
@@ -0,0 +1,2871 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SimplexNoise4D = void 0;
4
+ const utils_js_1 = require("../utils.js");
5
+ class SimplexNoise4D {
6
+ constructor() {
7
+ this._NORM_4D = 1.0 / 30.0;
8
+ this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * 0.25;
9
+ this._STRETCH_4D = (1 / Math.sqrt(4 + 1) - 1) * 0.25;
10
+ this._lookup = [];
11
+ this._perm = new Uint8Array(0);
12
+ this._perm4D = new Uint8Array(0);
13
+ this._base4D = [
14
+ [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1],
15
+ [3, 1, 1, 1, 0, 3, 1, 1, 0, 1, 3, 1, 0, 1, 1, 3, 0, 1, 1, 1, 4, 1, 1, 1, 1],
16
+ [
17
+ 1,
18
+ 1,
19
+ 0,
20
+ 0,
21
+ 0,
22
+ 1,
23
+ 0,
24
+ 1,
25
+ 0,
26
+ 0,
27
+ 1,
28
+ 0,
29
+ 0,
30
+ 1,
31
+ 0,
32
+ 1,
33
+ 0,
34
+ 0,
35
+ 0,
36
+ 1,
37
+ 2,
38
+ 1,
39
+ 1,
40
+ 0,
41
+ 0,
42
+ 2,
43
+ 1,
44
+ 0,
45
+ 1,
46
+ 0,
47
+ 2,
48
+ 1,
49
+ 0,
50
+ 0,
51
+ 1,
52
+ 2,
53
+ 0,
54
+ 1,
55
+ 1,
56
+ 0,
57
+ 2,
58
+ 0,
59
+ 1,
60
+ 0,
61
+ 1,
62
+ 2,
63
+ 0,
64
+ 0,
65
+ 1,
66
+ 1,
67
+ ],
68
+ [
69
+ 3,
70
+ 1,
71
+ 1,
72
+ 1,
73
+ 0,
74
+ 3,
75
+ 1,
76
+ 1,
77
+ 0,
78
+ 1,
79
+ 3,
80
+ 1,
81
+ 0,
82
+ 1,
83
+ 1,
84
+ 3,
85
+ 0,
86
+ 1,
87
+ 1,
88
+ 1,
89
+ 2,
90
+ 1,
91
+ 1,
92
+ 0,
93
+ 0,
94
+ 2,
95
+ 1,
96
+ 0,
97
+ 1,
98
+ 0,
99
+ 2,
100
+ 1,
101
+ 0,
102
+ 0,
103
+ 1,
104
+ 2,
105
+ 0,
106
+ 1,
107
+ 1,
108
+ 0,
109
+ 2,
110
+ 0,
111
+ 1,
112
+ 0,
113
+ 1,
114
+ 2,
115
+ 0,
116
+ 0,
117
+ 1,
118
+ 1,
119
+ ],
120
+ ];
121
+ this._gradients4D = [
122
+ 3,
123
+ 1,
124
+ 1,
125
+ 1,
126
+ 1,
127
+ 3,
128
+ 1,
129
+ 1,
130
+ 1,
131
+ 1,
132
+ 3,
133
+ 1,
134
+ 1,
135
+ 1,
136
+ 1,
137
+ 3,
138
+ -3,
139
+ 1,
140
+ 1,
141
+ 1,
142
+ -1,
143
+ 3,
144
+ 1,
145
+ 1,
146
+ -1,
147
+ 1,
148
+ 3,
149
+ 1,
150
+ -1,
151
+ 1,
152
+ 1,
153
+ 3,
154
+ 3,
155
+ -1,
156
+ 1,
157
+ 1,
158
+ 1,
159
+ -3,
160
+ 1,
161
+ 1,
162
+ 1,
163
+ -1,
164
+ 3,
165
+ 1,
166
+ 1,
167
+ -1,
168
+ 1,
169
+ 3,
170
+ -3,
171
+ -1,
172
+ 1,
173
+ 1,
174
+ -1,
175
+ -3,
176
+ 1,
177
+ 1,
178
+ -1,
179
+ -1,
180
+ 3,
181
+ 1,
182
+ -1,
183
+ -1,
184
+ 1,
185
+ 3,
186
+ 3,
187
+ 1,
188
+ -1,
189
+ 1,
190
+ 1,
191
+ 3,
192
+ -1,
193
+ 1,
194
+ 1,
195
+ 1,
196
+ -3,
197
+ 1,
198
+ 1,
199
+ 1,
200
+ -1,
201
+ 3,
202
+ -3,
203
+ 1,
204
+ -1,
205
+ 1,
206
+ -1,
207
+ 3,
208
+ -1,
209
+ 1,
210
+ -1,
211
+ 1,
212
+ -3,
213
+ 1,
214
+ -1,
215
+ 1,
216
+ -1,
217
+ 3,
218
+ 3,
219
+ -1,
220
+ -1,
221
+ 1,
222
+ 1,
223
+ -3,
224
+ -1,
225
+ 1,
226
+ 1,
227
+ -1,
228
+ -3,
229
+ 1,
230
+ 1,
231
+ -1,
232
+ -1,
233
+ 3,
234
+ -3,
235
+ -1,
236
+ -1,
237
+ 1,
238
+ -1,
239
+ -3,
240
+ -1,
241
+ 1,
242
+ -1,
243
+ -1,
244
+ -3,
245
+ 1,
246
+ -1,
247
+ -1,
248
+ -1,
249
+ 3,
250
+ 3,
251
+ 1,
252
+ 1,
253
+ -1,
254
+ 1,
255
+ 3,
256
+ 1,
257
+ -1,
258
+ 1,
259
+ 1,
260
+ 3,
261
+ -1,
262
+ 1,
263
+ 1,
264
+ 1,
265
+ -3,
266
+ -3,
267
+ 1,
268
+ 1,
269
+ -1,
270
+ -1,
271
+ 3,
272
+ 1,
273
+ -1,
274
+ -1,
275
+ 1,
276
+ 3,
277
+ -1,
278
+ -1,
279
+ 1,
280
+ 1,
281
+ -3,
282
+ 3,
283
+ -1,
284
+ 1,
285
+ -1,
286
+ 1,
287
+ -3,
288
+ 1,
289
+ -1,
290
+ 1,
291
+ -1,
292
+ 3,
293
+ -1,
294
+ 1,
295
+ -1,
296
+ 1,
297
+ -3,
298
+ -3,
299
+ -1,
300
+ 1,
301
+ -1,
302
+ -1,
303
+ -3,
304
+ 1,
305
+ -1,
306
+ -1,
307
+ -1,
308
+ 3,
309
+ -1,
310
+ -1,
311
+ -1,
312
+ 1,
313
+ -3,
314
+ 3,
315
+ 1,
316
+ -1,
317
+ -1,
318
+ 1,
319
+ 3,
320
+ -1,
321
+ -1,
322
+ 1,
323
+ 1,
324
+ -3,
325
+ -1,
326
+ 1,
327
+ 1,
328
+ -1,
329
+ -3,
330
+ -3,
331
+ 1,
332
+ -1,
333
+ -1,
334
+ -1,
335
+ 3,
336
+ -1,
337
+ -1,
338
+ -1,
339
+ 1,
340
+ -3,
341
+ -1,
342
+ -1,
343
+ 1,
344
+ -1,
345
+ -3,
346
+ 3,
347
+ -1,
348
+ -1,
349
+ -1,
350
+ 1,
351
+ -3,
352
+ -1,
353
+ -1,
354
+ 1,
355
+ -1,
356
+ -3,
357
+ -1,
358
+ 1,
359
+ -1,
360
+ -1,
361
+ -3,
362
+ -3,
363
+ -1,
364
+ -1,
365
+ -1,
366
+ -1,
367
+ -3,
368
+ -1,
369
+ -1,
370
+ -1,
371
+ -1,
372
+ -3,
373
+ -1,
374
+ -1,
375
+ -1,
376
+ -1,
377
+ -3,
378
+ ];
379
+ this._lookupPairs4D = [
380
+ 0,
381
+ 3,
382
+ 1,
383
+ 2,
384
+ 2,
385
+ 3,
386
+ 5,
387
+ 2,
388
+ 6,
389
+ 1,
390
+ 7,
391
+ 1,
392
+ 8,
393
+ 3,
394
+ 9,
395
+ 2,
396
+ 10,
397
+ 3,
398
+ 13,
399
+ 2,
400
+ 16,
401
+ 3,
402
+ 18,
403
+ 3,
404
+ 22,
405
+ 1,
406
+ 23,
407
+ 1,
408
+ 24,
409
+ 3,
410
+ 26,
411
+ 3,
412
+ 33,
413
+ 2,
414
+ 37,
415
+ 2,
416
+ 38,
417
+ 1,
418
+ 39,
419
+ 1,
420
+ 41,
421
+ 2,
422
+ 45,
423
+ 2,
424
+ 54,
425
+ 1,
426
+ 55,
427
+ 1,
428
+ 56,
429
+ 0,
430
+ 57,
431
+ 0,
432
+ 58,
433
+ 0,
434
+ 59,
435
+ 0,
436
+ 60,
437
+ 0,
438
+ 61,
439
+ 0,
440
+ 62,
441
+ 0,
442
+ 63,
443
+ 0,
444
+ 256,
445
+ 3,
446
+ 258,
447
+ 3,
448
+ 264,
449
+ 3,
450
+ 266,
451
+ 3,
452
+ 272,
453
+ 3,
454
+ 274,
455
+ 3,
456
+ 280,
457
+ 3,
458
+ 282,
459
+ 3,
460
+ 2049,
461
+ 2,
462
+ 2053,
463
+ 2,
464
+ 2057,
465
+ 2,
466
+ 2061,
467
+ 2,
468
+ 2081,
469
+ 2,
470
+ 2085,
471
+ 2,
472
+ 2089,
473
+ 2,
474
+ 2093,
475
+ 2,
476
+ 2304,
477
+ 9,
478
+ 2305,
479
+ 9,
480
+ 2312,
481
+ 9,
482
+ 2313,
483
+ 9,
484
+ 16390,
485
+ 1,
486
+ 16391,
487
+ 1,
488
+ 16406,
489
+ 1,
490
+ 16407,
491
+ 1,
492
+ 16422,
493
+ 1,
494
+ 16423,
495
+ 1,
496
+ 16438,
497
+ 1,
498
+ 16439,
499
+ 1,
500
+ 16642,
501
+ 8,
502
+ 16646,
503
+ 8,
504
+ 16658,
505
+ 8,
506
+ 16662,
507
+ 8,
508
+ 18437,
509
+ 6,
510
+ 18439,
511
+ 6,
512
+ 18469,
513
+ 6,
514
+ 18471,
515
+ 6,
516
+ 18688,
517
+ 9,
518
+ 18689,
519
+ 9,
520
+ 18690,
521
+ 8,
522
+ 18693,
523
+ 6,
524
+ 18694,
525
+ 8,
526
+ 18695,
527
+ 6,
528
+ 18696,
529
+ 9,
530
+ 18697,
531
+ 9,
532
+ 18706,
533
+ 8,
534
+ 18710,
535
+ 8,
536
+ 18725,
537
+ 6,
538
+ 18727,
539
+ 6,
540
+ 131128,
541
+ 0,
542
+ 131129,
543
+ 0,
544
+ 131130,
545
+ 0,
546
+ 131131,
547
+ 0,
548
+ 131132,
549
+ 0,
550
+ 131133,
551
+ 0,
552
+ 131134,
553
+ 0,
554
+ 131135,
555
+ 0,
556
+ 131352,
557
+ 7,
558
+ 131354,
559
+ 7,
560
+ 131384,
561
+ 7,
562
+ 131386,
563
+ 7,
564
+ 133161,
565
+ 5,
566
+ 133165,
567
+ 5,
568
+ 133177,
569
+ 5,
570
+ 133181,
571
+ 5,
572
+ 133376,
573
+ 9,
574
+ 133377,
575
+ 9,
576
+ 133384,
577
+ 9,
578
+ 133385,
579
+ 9,
580
+ 133400,
581
+ 7,
582
+ 133402,
583
+ 7,
584
+ 133417,
585
+ 5,
586
+ 133421,
587
+ 5,
588
+ 133432,
589
+ 7,
590
+ 133433,
591
+ 5,
592
+ 133434,
593
+ 7,
594
+ 133437,
595
+ 5,
596
+ 147510,
597
+ 4,
598
+ 147511,
599
+ 4,
600
+ 147518,
601
+ 4,
602
+ 147519,
603
+ 4,
604
+ 147714,
605
+ 8,
606
+ 147718,
607
+ 8,
608
+ 147730,
609
+ 8,
610
+ 147734,
611
+ 8,
612
+ 147736,
613
+ 7,
614
+ 147738,
615
+ 7,
616
+ 147766,
617
+ 4,
618
+ 147767,
619
+ 4,
620
+ 147768,
621
+ 7,
622
+ 147770,
623
+ 7,
624
+ 147774,
625
+ 4,
626
+ 147775,
627
+ 4,
628
+ 149509,
629
+ 6,
630
+ 149511,
631
+ 6,
632
+ 149541,
633
+ 6,
634
+ 149543,
635
+ 6,
636
+ 149545,
637
+ 5,
638
+ 149549,
639
+ 5,
640
+ 149558,
641
+ 4,
642
+ 149559,
643
+ 4,
644
+ 149561,
645
+ 5,
646
+ 149565,
647
+ 5,
648
+ 149566,
649
+ 4,
650
+ 149567,
651
+ 4,
652
+ 149760,
653
+ 9,
654
+ 149761,
655
+ 9,
656
+ 149762,
657
+ 8,
658
+ 149765,
659
+ 6,
660
+ 149766,
661
+ 8,
662
+ 149767,
663
+ 6,
664
+ 149768,
665
+ 9,
666
+ 149769,
667
+ 9,
668
+ 149778,
669
+ 8,
670
+ 149782,
671
+ 8,
672
+ 149784,
673
+ 7,
674
+ 149786,
675
+ 7,
676
+ 149797,
677
+ 6,
678
+ 149799,
679
+ 6,
680
+ 149801,
681
+ 5,
682
+ 149805,
683
+ 5,
684
+ 149814,
685
+ 4,
686
+ 149815,
687
+ 4,
688
+ 149816,
689
+ 7,
690
+ 149817,
691
+ 5,
692
+ 149818,
693
+ 7,
694
+ 149821,
695
+ 5,
696
+ 149822,
697
+ 4,
698
+ 149823,
699
+ 4,
700
+ 149824,
701
+ 37,
702
+ 149825,
703
+ 37,
704
+ 149826,
705
+ 36,
706
+ 149829,
707
+ 34,
708
+ 149830,
709
+ 36,
710
+ 149831,
711
+ 34,
712
+ 149832,
713
+ 37,
714
+ 149833,
715
+ 37,
716
+ 149842,
717
+ 36,
718
+ 149846,
719
+ 36,
720
+ 149848,
721
+ 35,
722
+ 149850,
723
+ 35,
724
+ 149861,
725
+ 34,
726
+ 149863,
727
+ 34,
728
+ 149865,
729
+ 33,
730
+ 149869,
731
+ 33,
732
+ 149878,
733
+ 32,
734
+ 149879,
735
+ 32,
736
+ 149880,
737
+ 35,
738
+ 149881,
739
+ 33,
740
+ 149882,
741
+ 35,
742
+ 149885,
743
+ 33,
744
+ 149886,
745
+ 32,
746
+ 149887,
747
+ 32,
748
+ 150080,
749
+ 49,
750
+ 150082,
751
+ 48,
752
+ 150088,
753
+ 49,
754
+ 150098,
755
+ 48,
756
+ 150104,
757
+ 47,
758
+ 150106,
759
+ 47,
760
+ 151873,
761
+ 46,
762
+ 151877,
763
+ 45,
764
+ 151881,
765
+ 46,
766
+ 151909,
767
+ 45,
768
+ 151913,
769
+ 44,
770
+ 151917,
771
+ 44,
772
+ 152128,
773
+ 49,
774
+ 152129,
775
+ 46,
776
+ 152136,
777
+ 49,
778
+ 152137,
779
+ 46,
780
+ 166214,
781
+ 43,
782
+ 166215,
783
+ 42,
784
+ 166230,
785
+ 43,
786
+ 166247,
787
+ 42,
788
+ 166262,
789
+ 41,
790
+ 166263,
791
+ 41,
792
+ 166466,
793
+ 48,
794
+ 166470,
795
+ 43,
796
+ 166482,
797
+ 48,
798
+ 166486,
799
+ 43,
800
+ 168261,
801
+ 45,
802
+ 168263,
803
+ 42,
804
+ 168293,
805
+ 45,
806
+ 168295,
807
+ 42,
808
+ 168512,
809
+ 31,
810
+ 168513,
811
+ 28,
812
+ 168514,
813
+ 31,
814
+ 168517,
815
+ 28,
816
+ 168518,
817
+ 25,
818
+ 168519,
819
+ 25,
820
+ 280952,
821
+ 40,
822
+ 280953,
823
+ 39,
824
+ 280954,
825
+ 40,
826
+ 280957,
827
+ 39,
828
+ 280958,
829
+ 38,
830
+ 280959,
831
+ 38,
832
+ 281176,
833
+ 47,
834
+ 281178,
835
+ 47,
836
+ 281208,
837
+ 40,
838
+ 281210,
839
+ 40,
840
+ 282985,
841
+ 44,
842
+ 282989,
843
+ 44,
844
+ 283001,
845
+ 39,
846
+ 283005,
847
+ 39,
848
+ 283208,
849
+ 30,
850
+ 283209,
851
+ 27,
852
+ 283224,
853
+ 30,
854
+ 283241,
855
+ 27,
856
+ 283256,
857
+ 22,
858
+ 283257,
859
+ 22,
860
+ 297334,
861
+ 41,
862
+ 297335,
863
+ 41,
864
+ 297342,
865
+ 38,
866
+ 297343,
867
+ 38,
868
+ 297554,
869
+ 29,
870
+ 297558,
871
+ 24,
872
+ 297562,
873
+ 29,
874
+ 297590,
875
+ 24,
876
+ 297594,
877
+ 21,
878
+ 297598,
879
+ 21,
880
+ 299365,
881
+ 26,
882
+ 299367,
883
+ 23,
884
+ 299373,
885
+ 26,
886
+ 299383,
887
+ 23,
888
+ 299389,
889
+ 20,
890
+ 299391,
891
+ 20,
892
+ 299584,
893
+ 31,
894
+ 299585,
895
+ 28,
896
+ 299586,
897
+ 31,
898
+ 299589,
899
+ 28,
900
+ 299590,
901
+ 25,
902
+ 299591,
903
+ 25,
904
+ 299592,
905
+ 30,
906
+ 299593,
907
+ 27,
908
+ 299602,
909
+ 29,
910
+ 299606,
911
+ 24,
912
+ 299608,
913
+ 30,
914
+ 299610,
915
+ 29,
916
+ 299621,
917
+ 26,
918
+ 299623,
919
+ 23,
920
+ 299625,
921
+ 27,
922
+ 299629,
923
+ 26,
924
+ 299638,
925
+ 24,
926
+ 299639,
927
+ 23,
928
+ 299640,
929
+ 22,
930
+ 299641,
931
+ 22,
932
+ 299642,
933
+ 21,
934
+ 299645,
935
+ 20,
936
+ 299646,
937
+ 21,
938
+ 299647,
939
+ 20,
940
+ 299648,
941
+ 61,
942
+ 299649,
943
+ 60,
944
+ 299650,
945
+ 61,
946
+ 299653,
947
+ 60,
948
+ 299654,
949
+ 59,
950
+ 299655,
951
+ 59,
952
+ 299656,
953
+ 58,
954
+ 299657,
955
+ 57,
956
+ 299666,
957
+ 55,
958
+ 299670,
959
+ 54,
960
+ 299672,
961
+ 58,
962
+ 299674,
963
+ 55,
964
+ 299685,
965
+ 52,
966
+ 299687,
967
+ 51,
968
+ 299689,
969
+ 57,
970
+ 299693,
971
+ 52,
972
+ 299702,
973
+ 54,
974
+ 299703,
975
+ 51,
976
+ 299704,
977
+ 56,
978
+ 299705,
979
+ 56,
980
+ 299706,
981
+ 53,
982
+ 299709,
983
+ 50,
984
+ 299710,
985
+ 53,
986
+ 299711,
987
+ 50,
988
+ 299904,
989
+ 61,
990
+ 299906,
991
+ 61,
992
+ 299912,
993
+ 58,
994
+ 299922,
995
+ 55,
996
+ 299928,
997
+ 58,
998
+ 299930,
999
+ 55,
1000
+ 301697,
1001
+ 60,
1002
+ 301701,
1003
+ 60,
1004
+ 301705,
1005
+ 57,
1006
+ 301733,
1007
+ 52,
1008
+ 301737,
1009
+ 57,
1010
+ 301741,
1011
+ 52,
1012
+ 301952,
1013
+ 79,
1014
+ 301953,
1015
+ 79,
1016
+ 301960,
1017
+ 76,
1018
+ 301961,
1019
+ 76,
1020
+ 316038,
1021
+ 59,
1022
+ 316039,
1023
+ 59,
1024
+ 316054,
1025
+ 54,
1026
+ 316071,
1027
+ 51,
1028
+ 316086,
1029
+ 54,
1030
+ 316087,
1031
+ 51,
1032
+ 316290,
1033
+ 78,
1034
+ 316294,
1035
+ 78,
1036
+ 316306,
1037
+ 73,
1038
+ 316310,
1039
+ 73,
1040
+ 318085,
1041
+ 77,
1042
+ 318087,
1043
+ 77,
1044
+ 318117,
1045
+ 70,
1046
+ 318119,
1047
+ 70,
1048
+ 318336,
1049
+ 79,
1050
+ 318337,
1051
+ 79,
1052
+ 318338,
1053
+ 78,
1054
+ 318341,
1055
+ 77,
1056
+ 318342,
1057
+ 78,
1058
+ 318343,
1059
+ 77,
1060
+ 430776,
1061
+ 56,
1062
+ 430777,
1063
+ 56,
1064
+ 430778,
1065
+ 53,
1066
+ 430781,
1067
+ 50,
1068
+ 430782,
1069
+ 53,
1070
+ 430783,
1071
+ 50,
1072
+ 431000,
1073
+ 75,
1074
+ 431002,
1075
+ 72,
1076
+ 431032,
1077
+ 75,
1078
+ 431034,
1079
+ 72,
1080
+ 432809,
1081
+ 74,
1082
+ 432813,
1083
+ 69,
1084
+ 432825,
1085
+ 74,
1086
+ 432829,
1087
+ 69,
1088
+ 433032,
1089
+ 76,
1090
+ 433033,
1091
+ 76,
1092
+ 433048,
1093
+ 75,
1094
+ 433065,
1095
+ 74,
1096
+ 433080,
1097
+ 75,
1098
+ 433081,
1099
+ 74,
1100
+ 447158,
1101
+ 71,
1102
+ 447159,
1103
+ 68,
1104
+ 447166,
1105
+ 71,
1106
+ 447167,
1107
+ 68,
1108
+ 447378,
1109
+ 73,
1110
+ 447382,
1111
+ 73,
1112
+ 447386,
1113
+ 72,
1114
+ 447414,
1115
+ 71,
1116
+ 447418,
1117
+ 72,
1118
+ 447422,
1119
+ 71,
1120
+ 449189,
1121
+ 70,
1122
+ 449191,
1123
+ 70,
1124
+ 449197,
1125
+ 69,
1126
+ 449207,
1127
+ 68,
1128
+ 449213,
1129
+ 69,
1130
+ 449215,
1131
+ 68,
1132
+ 449408,
1133
+ 67,
1134
+ 449409,
1135
+ 67,
1136
+ 449410,
1137
+ 66,
1138
+ 449413,
1139
+ 64,
1140
+ 449414,
1141
+ 66,
1142
+ 449415,
1143
+ 64,
1144
+ 449416,
1145
+ 67,
1146
+ 449417,
1147
+ 67,
1148
+ 449426,
1149
+ 66,
1150
+ 449430,
1151
+ 66,
1152
+ 449432,
1153
+ 65,
1154
+ 449434,
1155
+ 65,
1156
+ 449445,
1157
+ 64,
1158
+ 449447,
1159
+ 64,
1160
+ 449449,
1161
+ 63,
1162
+ 449453,
1163
+ 63,
1164
+ 449462,
1165
+ 62,
1166
+ 449463,
1167
+ 62,
1168
+ 449464,
1169
+ 65,
1170
+ 449465,
1171
+ 63,
1172
+ 449466,
1173
+ 65,
1174
+ 449469,
1175
+ 63,
1176
+ 449470,
1177
+ 62,
1178
+ 449471,
1179
+ 62,
1180
+ 449472,
1181
+ 19,
1182
+ 449473,
1183
+ 19,
1184
+ 449474,
1185
+ 18,
1186
+ 449477,
1187
+ 16,
1188
+ 449478,
1189
+ 18,
1190
+ 449479,
1191
+ 16,
1192
+ 449480,
1193
+ 19,
1194
+ 449481,
1195
+ 19,
1196
+ 449490,
1197
+ 18,
1198
+ 449494,
1199
+ 18,
1200
+ 449496,
1201
+ 17,
1202
+ 449498,
1203
+ 17,
1204
+ 449509,
1205
+ 16,
1206
+ 449511,
1207
+ 16,
1208
+ 449513,
1209
+ 15,
1210
+ 449517,
1211
+ 15,
1212
+ 449526,
1213
+ 14,
1214
+ 449527,
1215
+ 14,
1216
+ 449528,
1217
+ 17,
1218
+ 449529,
1219
+ 15,
1220
+ 449530,
1221
+ 17,
1222
+ 449533,
1223
+ 15,
1224
+ 449534,
1225
+ 14,
1226
+ 449535,
1227
+ 14,
1228
+ 449728,
1229
+ 19,
1230
+ 449729,
1231
+ 19,
1232
+ 449730,
1233
+ 18,
1234
+ 449734,
1235
+ 18,
1236
+ 449736,
1237
+ 19,
1238
+ 449737,
1239
+ 19,
1240
+ 449746,
1241
+ 18,
1242
+ 449750,
1243
+ 18,
1244
+ 449752,
1245
+ 17,
1246
+ 449754,
1247
+ 17,
1248
+ 449784,
1249
+ 17,
1250
+ 449786,
1251
+ 17,
1252
+ 451520,
1253
+ 19,
1254
+ 451521,
1255
+ 19,
1256
+ 451525,
1257
+ 16,
1258
+ 451527,
1259
+ 16,
1260
+ 451528,
1261
+ 19,
1262
+ 451529,
1263
+ 19,
1264
+ 451557,
1265
+ 16,
1266
+ 451559,
1267
+ 16,
1268
+ 451561,
1269
+ 15,
1270
+ 451565,
1271
+ 15,
1272
+ 451577,
1273
+ 15,
1274
+ 451581,
1275
+ 15,
1276
+ 451776,
1277
+ 19,
1278
+ 451777,
1279
+ 19,
1280
+ 451784,
1281
+ 19,
1282
+ 451785,
1283
+ 19,
1284
+ 465858,
1285
+ 18,
1286
+ 465861,
1287
+ 16,
1288
+ 465862,
1289
+ 18,
1290
+ 465863,
1291
+ 16,
1292
+ 465874,
1293
+ 18,
1294
+ 465878,
1295
+ 18,
1296
+ 465893,
1297
+ 16,
1298
+ 465895,
1299
+ 16,
1300
+ 465910,
1301
+ 14,
1302
+ 465911,
1303
+ 14,
1304
+ 465918,
1305
+ 14,
1306
+ 465919,
1307
+ 14,
1308
+ 466114,
1309
+ 18,
1310
+ 466118,
1311
+ 18,
1312
+ 466130,
1313
+ 18,
1314
+ 466134,
1315
+ 18,
1316
+ 467909,
1317
+ 16,
1318
+ 467911,
1319
+ 16,
1320
+ 467941,
1321
+ 16,
1322
+ 467943,
1323
+ 16,
1324
+ 468160,
1325
+ 13,
1326
+ 468161,
1327
+ 13,
1328
+ 468162,
1329
+ 13,
1330
+ 468163,
1331
+ 13,
1332
+ 468164,
1333
+ 13,
1334
+ 468165,
1335
+ 13,
1336
+ 468166,
1337
+ 13,
1338
+ 468167,
1339
+ 13,
1340
+ 580568,
1341
+ 17,
1342
+ 580570,
1343
+ 17,
1344
+ 580585,
1345
+ 15,
1346
+ 580589,
1347
+ 15,
1348
+ 580598,
1349
+ 14,
1350
+ 580599,
1351
+ 14,
1352
+ 580600,
1353
+ 17,
1354
+ 580601,
1355
+ 15,
1356
+ 580602,
1357
+ 17,
1358
+ 580605,
1359
+ 15,
1360
+ 580606,
1361
+ 14,
1362
+ 580607,
1363
+ 14,
1364
+ 580824,
1365
+ 17,
1366
+ 580826,
1367
+ 17,
1368
+ 580856,
1369
+ 17,
1370
+ 580858,
1371
+ 17,
1372
+ 582633,
1373
+ 15,
1374
+ 582637,
1375
+ 15,
1376
+ 582649,
1377
+ 15,
1378
+ 582653,
1379
+ 15,
1380
+ 582856,
1381
+ 12,
1382
+ 582857,
1383
+ 12,
1384
+ 582872,
1385
+ 12,
1386
+ 582873,
1387
+ 12,
1388
+ 582888,
1389
+ 12,
1390
+ 582889,
1391
+ 12,
1392
+ 582904,
1393
+ 12,
1394
+ 582905,
1395
+ 12,
1396
+ 596982,
1397
+ 14,
1398
+ 596983,
1399
+ 14,
1400
+ 596990,
1401
+ 14,
1402
+ 596991,
1403
+ 14,
1404
+ 597202,
1405
+ 11,
1406
+ 597206,
1407
+ 11,
1408
+ 597210,
1409
+ 11,
1410
+ 597214,
1411
+ 11,
1412
+ 597234,
1413
+ 11,
1414
+ 597238,
1415
+ 11,
1416
+ 597242,
1417
+ 11,
1418
+ 597246,
1419
+ 11,
1420
+ 599013,
1421
+ 10,
1422
+ 599015,
1423
+ 10,
1424
+ 599021,
1425
+ 10,
1426
+ 599023,
1427
+ 10,
1428
+ 599029,
1429
+ 10,
1430
+ 599031,
1431
+ 10,
1432
+ 599037,
1433
+ 10,
1434
+ 599039,
1435
+ 10,
1436
+ 599232,
1437
+ 13,
1438
+ 599233,
1439
+ 13,
1440
+ 599234,
1441
+ 13,
1442
+ 599235,
1443
+ 13,
1444
+ 599236,
1445
+ 13,
1446
+ 599237,
1447
+ 13,
1448
+ 599238,
1449
+ 13,
1450
+ 599239,
1451
+ 13,
1452
+ 599240,
1453
+ 12,
1454
+ 599241,
1455
+ 12,
1456
+ 599250,
1457
+ 11,
1458
+ 599254,
1459
+ 11,
1460
+ 599256,
1461
+ 12,
1462
+ 599257,
1463
+ 12,
1464
+ 599258,
1465
+ 11,
1466
+ 599262,
1467
+ 11,
1468
+ 599269,
1469
+ 10,
1470
+ 599271,
1471
+ 10,
1472
+ 599272,
1473
+ 12,
1474
+ 599273,
1475
+ 12,
1476
+ 599277,
1477
+ 10,
1478
+ 599279,
1479
+ 10,
1480
+ 599282,
1481
+ 11,
1482
+ 599285,
1483
+ 10,
1484
+ 599286,
1485
+ 11,
1486
+ 599287,
1487
+ 10,
1488
+ 599288,
1489
+ 12,
1490
+ 599289,
1491
+ 12,
1492
+ 599290,
1493
+ 11,
1494
+ 599293,
1495
+ 10,
1496
+ 599294,
1497
+ 11,
1498
+ 599295,
1499
+ 10,
1500
+ ];
1501
+ this._p4D = [
1502
+ 0,
1503
+ 0,
1504
+ 1,
1505
+ -1,
1506
+ 0,
1507
+ 0,
1508
+ 0,
1509
+ 1,
1510
+ 0,
1511
+ -1,
1512
+ 0,
1513
+ 0,
1514
+ 1,
1515
+ 0,
1516
+ 0,
1517
+ -1,
1518
+ 0,
1519
+ 0,
1520
+ -1,
1521
+ 1,
1522
+ 0,
1523
+ 0,
1524
+ 0,
1525
+ 0,
1526
+ 1,
1527
+ -1,
1528
+ 0,
1529
+ 0,
1530
+ 0,
1531
+ 1,
1532
+ 0,
1533
+ -1,
1534
+ 0,
1535
+ 0,
1536
+ -1,
1537
+ 0,
1538
+ 1,
1539
+ 0,
1540
+ 0,
1541
+ 0,
1542
+ -1,
1543
+ 1,
1544
+ 0,
1545
+ 0,
1546
+ 0,
1547
+ 0,
1548
+ 1,
1549
+ -1,
1550
+ 0,
1551
+ 0,
1552
+ -1,
1553
+ 0,
1554
+ 0,
1555
+ 1,
1556
+ 0,
1557
+ 0,
1558
+ -1,
1559
+ 0,
1560
+ 1,
1561
+ 0,
1562
+ 0,
1563
+ 0,
1564
+ -1,
1565
+ 1,
1566
+ 0,
1567
+ 2,
1568
+ 1,
1569
+ 1,
1570
+ 0,
1571
+ 0,
1572
+ 1,
1573
+ 1,
1574
+ 1,
1575
+ -1,
1576
+ 0,
1577
+ 1,
1578
+ 1,
1579
+ 1,
1580
+ 0,
1581
+ -1,
1582
+ 0,
1583
+ 2,
1584
+ 1,
1585
+ 0,
1586
+ 1,
1587
+ 0,
1588
+ 1,
1589
+ 1,
1590
+ -1,
1591
+ 1,
1592
+ 0,
1593
+ 1,
1594
+ 1,
1595
+ 0,
1596
+ 1,
1597
+ -1,
1598
+ 0,
1599
+ 2,
1600
+ 0,
1601
+ 1,
1602
+ 1,
1603
+ 0,
1604
+ 1,
1605
+ -1,
1606
+ 1,
1607
+ 1,
1608
+ 0,
1609
+ 1,
1610
+ 0,
1611
+ 1,
1612
+ 1,
1613
+ -1,
1614
+ 0,
1615
+ 2,
1616
+ 1,
1617
+ 0,
1618
+ 0,
1619
+ 1,
1620
+ 1,
1621
+ 1,
1622
+ -1,
1623
+ 0,
1624
+ 1,
1625
+ 1,
1626
+ 1,
1627
+ 0,
1628
+ -1,
1629
+ 1,
1630
+ 0,
1631
+ 2,
1632
+ 0,
1633
+ 1,
1634
+ 0,
1635
+ 1,
1636
+ 1,
1637
+ -1,
1638
+ 1,
1639
+ 0,
1640
+ 1,
1641
+ 1,
1642
+ 0,
1643
+ 1,
1644
+ -1,
1645
+ 1,
1646
+ 0,
1647
+ 2,
1648
+ 0,
1649
+ 0,
1650
+ 1,
1651
+ 1,
1652
+ 1,
1653
+ -1,
1654
+ 0,
1655
+ 1,
1656
+ 1,
1657
+ 1,
1658
+ 0,
1659
+ -1,
1660
+ 1,
1661
+ 1,
1662
+ 1,
1663
+ 4,
1664
+ 2,
1665
+ 1,
1666
+ 1,
1667
+ 0,
1668
+ 4,
1669
+ 1,
1670
+ 2,
1671
+ 1,
1672
+ 0,
1673
+ 4,
1674
+ 1,
1675
+ 1,
1676
+ 2,
1677
+ 0,
1678
+ 1,
1679
+ 4,
1680
+ 2,
1681
+ 1,
1682
+ 0,
1683
+ 1,
1684
+ 4,
1685
+ 1,
1686
+ 2,
1687
+ 0,
1688
+ 1,
1689
+ 4,
1690
+ 1,
1691
+ 1,
1692
+ 0,
1693
+ 2,
1694
+ 1,
1695
+ 4,
1696
+ 2,
1697
+ 0,
1698
+ 1,
1699
+ 1,
1700
+ 4,
1701
+ 1,
1702
+ 0,
1703
+ 2,
1704
+ 1,
1705
+ 4,
1706
+ 1,
1707
+ 0,
1708
+ 1,
1709
+ 2,
1710
+ 1,
1711
+ 4,
1712
+ 0,
1713
+ 2,
1714
+ 1,
1715
+ 1,
1716
+ 4,
1717
+ 0,
1718
+ 1,
1719
+ 2,
1720
+ 1,
1721
+ 4,
1722
+ 0,
1723
+ 1,
1724
+ 1,
1725
+ 2,
1726
+ 1,
1727
+ 2,
1728
+ 1,
1729
+ 1,
1730
+ 0,
1731
+ 0,
1732
+ 3,
1733
+ 2,
1734
+ 1,
1735
+ 0,
1736
+ 0,
1737
+ 3,
1738
+ 1,
1739
+ 2,
1740
+ 0,
1741
+ 0,
1742
+ 1,
1743
+ 2,
1744
+ 1,
1745
+ 0,
1746
+ 1,
1747
+ 0,
1748
+ 3,
1749
+ 2,
1750
+ 0,
1751
+ 1,
1752
+ 0,
1753
+ 3,
1754
+ 1,
1755
+ 0,
1756
+ 2,
1757
+ 0,
1758
+ 1,
1759
+ 2,
1760
+ 0,
1761
+ 1,
1762
+ 1,
1763
+ 0,
1764
+ 3,
1765
+ 0,
1766
+ 2,
1767
+ 1,
1768
+ 0,
1769
+ 3,
1770
+ 0,
1771
+ 1,
1772
+ 2,
1773
+ 0,
1774
+ 1,
1775
+ 2,
1776
+ 1,
1777
+ 0,
1778
+ 0,
1779
+ 1,
1780
+ 3,
1781
+ 2,
1782
+ 0,
1783
+ 0,
1784
+ 1,
1785
+ 3,
1786
+ 1,
1787
+ 0,
1788
+ 0,
1789
+ 2,
1790
+ 1,
1791
+ 2,
1792
+ 0,
1793
+ 1,
1794
+ 0,
1795
+ 1,
1796
+ 3,
1797
+ 0,
1798
+ 2,
1799
+ 0,
1800
+ 1,
1801
+ 3,
1802
+ 0,
1803
+ 1,
1804
+ 0,
1805
+ 2,
1806
+ 1,
1807
+ 2,
1808
+ 0,
1809
+ 0,
1810
+ 1,
1811
+ 1,
1812
+ 3,
1813
+ 0,
1814
+ 0,
1815
+ 2,
1816
+ 1,
1817
+ 3,
1818
+ 0,
1819
+ 0,
1820
+ 1,
1821
+ 2,
1822
+ 2,
1823
+ 3,
1824
+ 1,
1825
+ 1,
1826
+ 1,
1827
+ 0,
1828
+ 2,
1829
+ 1,
1830
+ 1,
1831
+ 1,
1832
+ -1,
1833
+ 2,
1834
+ 2,
1835
+ 0,
1836
+ 0,
1837
+ 0,
1838
+ 2,
1839
+ 3,
1840
+ 1,
1841
+ 1,
1842
+ 0,
1843
+ 1,
1844
+ 2,
1845
+ 1,
1846
+ 1,
1847
+ -1,
1848
+ 1,
1849
+ 2,
1850
+ 2,
1851
+ 0,
1852
+ 0,
1853
+ 0,
1854
+ 2,
1855
+ 3,
1856
+ 1,
1857
+ 0,
1858
+ 1,
1859
+ 1,
1860
+ 2,
1861
+ 1,
1862
+ -1,
1863
+ 1,
1864
+ 1,
1865
+ 2,
1866
+ 2,
1867
+ 0,
1868
+ 0,
1869
+ 0,
1870
+ 2,
1871
+ 3,
1872
+ 1,
1873
+ 1,
1874
+ 1,
1875
+ 0,
1876
+ 2,
1877
+ 1,
1878
+ 1,
1879
+ 1,
1880
+ -1,
1881
+ 2,
1882
+ 0,
1883
+ 2,
1884
+ 0,
1885
+ 0,
1886
+ 2,
1887
+ 3,
1888
+ 1,
1889
+ 1,
1890
+ 0,
1891
+ 1,
1892
+ 2,
1893
+ 1,
1894
+ 1,
1895
+ -1,
1896
+ 1,
1897
+ 2,
1898
+ 0,
1899
+ 2,
1900
+ 0,
1901
+ 0,
1902
+ 2,
1903
+ 3,
1904
+ 0,
1905
+ 1,
1906
+ 1,
1907
+ 1,
1908
+ 2,
1909
+ -1,
1910
+ 1,
1911
+ 1,
1912
+ 1,
1913
+ 2,
1914
+ 0,
1915
+ 2,
1916
+ 0,
1917
+ 0,
1918
+ 2,
1919
+ 3,
1920
+ 1,
1921
+ 1,
1922
+ 1,
1923
+ 0,
1924
+ 2,
1925
+ 1,
1926
+ 1,
1927
+ 1,
1928
+ -1,
1929
+ 2,
1930
+ 0,
1931
+ 0,
1932
+ 2,
1933
+ 0,
1934
+ 2,
1935
+ 3,
1936
+ 1,
1937
+ 0,
1938
+ 1,
1939
+ 1,
1940
+ 2,
1941
+ 1,
1942
+ -1,
1943
+ 1,
1944
+ 1,
1945
+ 2,
1946
+ 0,
1947
+ 0,
1948
+ 2,
1949
+ 0,
1950
+ 2,
1951
+ 3,
1952
+ 0,
1953
+ 1,
1954
+ 1,
1955
+ 1,
1956
+ 2,
1957
+ -1,
1958
+ 1,
1959
+ 1,
1960
+ 1,
1961
+ 2,
1962
+ 0,
1963
+ 0,
1964
+ 2,
1965
+ 0,
1966
+ 2,
1967
+ 3,
1968
+ 1,
1969
+ 1,
1970
+ 0,
1971
+ 1,
1972
+ 2,
1973
+ 1,
1974
+ 1,
1975
+ -1,
1976
+ 1,
1977
+ 2,
1978
+ 0,
1979
+ 0,
1980
+ 0,
1981
+ 2,
1982
+ 2,
1983
+ 3,
1984
+ 1,
1985
+ 0,
1986
+ 1,
1987
+ 1,
1988
+ 2,
1989
+ 1,
1990
+ -1,
1991
+ 1,
1992
+ 1,
1993
+ 2,
1994
+ 0,
1995
+ 0,
1996
+ 0,
1997
+ 2,
1998
+ 2,
1999
+ 3,
2000
+ 0,
2001
+ 1,
2002
+ 1,
2003
+ 1,
2004
+ 2,
2005
+ -1,
2006
+ 1,
2007
+ 1,
2008
+ 1,
2009
+ 2,
2010
+ 0,
2011
+ 0,
2012
+ 0,
2013
+ 2,
2014
+ 2,
2015
+ 1,
2016
+ 1,
2017
+ 1,
2018
+ -1,
2019
+ 0,
2020
+ 1,
2021
+ 1,
2022
+ 1,
2023
+ 0,
2024
+ -1,
2025
+ 0,
2026
+ 0,
2027
+ 0,
2028
+ 0,
2029
+ 0,
2030
+ 2,
2031
+ 1,
2032
+ 1,
2033
+ -1,
2034
+ 1,
2035
+ 0,
2036
+ 1,
2037
+ 1,
2038
+ 0,
2039
+ 1,
2040
+ -1,
2041
+ 0,
2042
+ 0,
2043
+ 0,
2044
+ 0,
2045
+ 0,
2046
+ 2,
2047
+ 1,
2048
+ -1,
2049
+ 1,
2050
+ 1,
2051
+ 0,
2052
+ 1,
2053
+ 0,
2054
+ 1,
2055
+ 1,
2056
+ -1,
2057
+ 0,
2058
+ 0,
2059
+ 0,
2060
+ 0,
2061
+ 0,
2062
+ 2,
2063
+ 1,
2064
+ 1,
2065
+ -1,
2066
+ 0,
2067
+ 1,
2068
+ 1,
2069
+ 1,
2070
+ 0,
2071
+ -1,
2072
+ 1,
2073
+ 0,
2074
+ 0,
2075
+ 0,
2076
+ 0,
2077
+ 0,
2078
+ 2,
2079
+ 1,
2080
+ -1,
2081
+ 1,
2082
+ 0,
2083
+ 1,
2084
+ 1,
2085
+ 0,
2086
+ 1,
2087
+ -1,
2088
+ 1,
2089
+ 0,
2090
+ 0,
2091
+ 0,
2092
+ 0,
2093
+ 0,
2094
+ 2,
2095
+ 1,
2096
+ -1,
2097
+ 0,
2098
+ 1,
2099
+ 1,
2100
+ 1,
2101
+ 0,
2102
+ -1,
2103
+ 1,
2104
+ 1,
2105
+ 0,
2106
+ 0,
2107
+ 0,
2108
+ 0,
2109
+ 0,
2110
+ 2,
2111
+ 1,
2112
+ 1,
2113
+ 1,
2114
+ -1,
2115
+ 0,
2116
+ 1,
2117
+ 1,
2118
+ 1,
2119
+ 0,
2120
+ -1,
2121
+ 2,
2122
+ 2,
2123
+ 0,
2124
+ 0,
2125
+ 0,
2126
+ 2,
2127
+ 1,
2128
+ 1,
2129
+ -1,
2130
+ 1,
2131
+ 0,
2132
+ 1,
2133
+ 1,
2134
+ 0,
2135
+ 1,
2136
+ -1,
2137
+ 2,
2138
+ 2,
2139
+ 0,
2140
+ 0,
2141
+ 0,
2142
+ 2,
2143
+ 1,
2144
+ 1,
2145
+ -1,
2146
+ 0,
2147
+ 1,
2148
+ 1,
2149
+ 1,
2150
+ 0,
2151
+ -1,
2152
+ 1,
2153
+ 2,
2154
+ 2,
2155
+ 0,
2156
+ 0,
2157
+ 0,
2158
+ 2,
2159
+ 1,
2160
+ 1,
2161
+ 1,
2162
+ -1,
2163
+ 0,
2164
+ 1,
2165
+ 1,
2166
+ 1,
2167
+ 0,
2168
+ -1,
2169
+ 2,
2170
+ 0,
2171
+ 2,
2172
+ 0,
2173
+ 0,
2174
+ 2,
2175
+ 1,
2176
+ -1,
2177
+ 1,
2178
+ 1,
2179
+ 0,
2180
+ 1,
2181
+ 0,
2182
+ 1,
2183
+ 1,
2184
+ -1,
2185
+ 2,
2186
+ 0,
2187
+ 2,
2188
+ 0,
2189
+ 0,
2190
+ 2,
2191
+ 1,
2192
+ -1,
2193
+ 1,
2194
+ 0,
2195
+ 1,
2196
+ 1,
2197
+ 0,
2198
+ 1,
2199
+ -1,
2200
+ 1,
2201
+ 2,
2202
+ 0,
2203
+ 2,
2204
+ 0,
2205
+ 0,
2206
+ 2,
2207
+ 1,
2208
+ 1,
2209
+ -1,
2210
+ 1,
2211
+ 0,
2212
+ 1,
2213
+ 1,
2214
+ 0,
2215
+ 1,
2216
+ -1,
2217
+ 2,
2218
+ 0,
2219
+ 0,
2220
+ 2,
2221
+ 0,
2222
+ 2,
2223
+ 1,
2224
+ -1,
2225
+ 1,
2226
+ 1,
2227
+ 0,
2228
+ 1,
2229
+ 0,
2230
+ 1,
2231
+ 1,
2232
+ -1,
2233
+ 2,
2234
+ 0,
2235
+ 0,
2236
+ 2,
2237
+ 0,
2238
+ 2,
2239
+ 1,
2240
+ -1,
2241
+ 0,
2242
+ 1,
2243
+ 1,
2244
+ 1,
2245
+ 0,
2246
+ -1,
2247
+ 1,
2248
+ 1,
2249
+ 2,
2250
+ 0,
2251
+ 0,
2252
+ 2,
2253
+ 0,
2254
+ 2,
2255
+ 1,
2256
+ 1,
2257
+ -1,
2258
+ 0,
2259
+ 1,
2260
+ 1,
2261
+ 1,
2262
+ 0,
2263
+ -1,
2264
+ 1,
2265
+ 2,
2266
+ 0,
2267
+ 0,
2268
+ 0,
2269
+ 2,
2270
+ 2,
2271
+ 1,
2272
+ -1,
2273
+ 1,
2274
+ 0,
2275
+ 1,
2276
+ 1,
2277
+ 0,
2278
+ 1,
2279
+ -1,
2280
+ 1,
2281
+ 2,
2282
+ 0,
2283
+ 0,
2284
+ 0,
2285
+ 2,
2286
+ 2,
2287
+ 1,
2288
+ -1,
2289
+ 0,
2290
+ 1,
2291
+ 1,
2292
+ 1,
2293
+ 0,
2294
+ -1,
2295
+ 1,
2296
+ 1,
2297
+ 2,
2298
+ 0,
2299
+ 0,
2300
+ 0,
2301
+ 2,
2302
+ 3,
2303
+ 1,
2304
+ 1,
2305
+ 0,
2306
+ 0,
2307
+ 0,
2308
+ 2,
2309
+ 2,
2310
+ 0,
2311
+ 0,
2312
+ 0,
2313
+ 2,
2314
+ 1,
2315
+ 1,
2316
+ 1,
2317
+ -1,
2318
+ 3,
2319
+ 1,
2320
+ 0,
2321
+ 1,
2322
+ 0,
2323
+ 0,
2324
+ 2,
2325
+ 0,
2326
+ 2,
2327
+ 0,
2328
+ 0,
2329
+ 2,
2330
+ 1,
2331
+ 1,
2332
+ 1,
2333
+ -1,
2334
+ 3,
2335
+ 1,
2336
+ 0,
2337
+ 0,
2338
+ 1,
2339
+ 0,
2340
+ 2,
2341
+ 0,
2342
+ 0,
2343
+ 2,
2344
+ 0,
2345
+ 2,
2346
+ 1,
2347
+ 1,
2348
+ 1,
2349
+ -1,
2350
+ 3,
2351
+ 1,
2352
+ 1,
2353
+ 0,
2354
+ 0,
2355
+ 0,
2356
+ 2,
2357
+ 2,
2358
+ 0,
2359
+ 0,
2360
+ 0,
2361
+ 2,
2362
+ 1,
2363
+ 1,
2364
+ -1,
2365
+ 1,
2366
+ 3,
2367
+ 1,
2368
+ 0,
2369
+ 1,
2370
+ 0,
2371
+ 0,
2372
+ 2,
2373
+ 0,
2374
+ 2,
2375
+ 0,
2376
+ 0,
2377
+ 2,
2378
+ 1,
2379
+ 1,
2380
+ -1,
2381
+ 1,
2382
+ 3,
2383
+ 1,
2384
+ 0,
2385
+ 0,
2386
+ 0,
2387
+ 1,
2388
+ 2,
2389
+ 0,
2390
+ 0,
2391
+ 0,
2392
+ 2,
2393
+ 2,
2394
+ 1,
2395
+ 1,
2396
+ -1,
2397
+ 1,
2398
+ 3,
2399
+ 1,
2400
+ 1,
2401
+ 0,
2402
+ 0,
2403
+ 0,
2404
+ 2,
2405
+ 2,
2406
+ 0,
2407
+ 0,
2408
+ 0,
2409
+ 2,
2410
+ 1,
2411
+ -1,
2412
+ 1,
2413
+ 1,
2414
+ 3,
2415
+ 1,
2416
+ 0,
2417
+ 0,
2418
+ 1,
2419
+ 0,
2420
+ 2,
2421
+ 0,
2422
+ 0,
2423
+ 2,
2424
+ 0,
2425
+ 2,
2426
+ 1,
2427
+ -1,
2428
+ 1,
2429
+ 1,
2430
+ 3,
2431
+ 1,
2432
+ 0,
2433
+ 0,
2434
+ 0,
2435
+ 1,
2436
+ 2,
2437
+ 0,
2438
+ 0,
2439
+ 0,
2440
+ 2,
2441
+ 2,
2442
+ 1,
2443
+ -1,
2444
+ 1,
2445
+ 1,
2446
+ 3,
2447
+ 1,
2448
+ 0,
2449
+ 1,
2450
+ 0,
2451
+ 0,
2452
+ 2,
2453
+ 0,
2454
+ 2,
2455
+ 0,
2456
+ 0,
2457
+ 2,
2458
+ -1,
2459
+ 1,
2460
+ 1,
2461
+ 1,
2462
+ 3,
2463
+ 1,
2464
+ 0,
2465
+ 0,
2466
+ 1,
2467
+ 0,
2468
+ 2,
2469
+ 0,
2470
+ 0,
2471
+ 2,
2472
+ 0,
2473
+ 2,
2474
+ -1,
2475
+ 1,
2476
+ 1,
2477
+ 1,
2478
+ 3,
2479
+ 1,
2480
+ 0,
2481
+ 0,
2482
+ 0,
2483
+ 1,
2484
+ 2,
2485
+ 0,
2486
+ 0,
2487
+ 0,
2488
+ 2,
2489
+ 2,
2490
+ -1,
2491
+ 1,
2492
+ 1,
2493
+ 1,
2494
+ 3,
2495
+ 3,
2496
+ 2,
2497
+ 1,
2498
+ 0,
2499
+ 0,
2500
+ 3,
2501
+ 1,
2502
+ 2,
2503
+ 0,
2504
+ 0,
2505
+ 4,
2506
+ 1,
2507
+ 1,
2508
+ 1,
2509
+ 1,
2510
+ 3,
2511
+ 3,
2512
+ 2,
2513
+ 0,
2514
+ 1,
2515
+ 0,
2516
+ 3,
2517
+ 1,
2518
+ 0,
2519
+ 2,
2520
+ 0,
2521
+ 4,
2522
+ 1,
2523
+ 1,
2524
+ 1,
2525
+ 1,
2526
+ 3,
2527
+ 3,
2528
+ 0,
2529
+ 2,
2530
+ 1,
2531
+ 0,
2532
+ 3,
2533
+ 0,
2534
+ 1,
2535
+ 2,
2536
+ 0,
2537
+ 4,
2538
+ 1,
2539
+ 1,
2540
+ 1,
2541
+ 1,
2542
+ 3,
2543
+ 3,
2544
+ 2,
2545
+ 0,
2546
+ 0,
2547
+ 1,
2548
+ 3,
2549
+ 1,
2550
+ 0,
2551
+ 0,
2552
+ 2,
2553
+ 4,
2554
+ 1,
2555
+ 1,
2556
+ 1,
2557
+ 1,
2558
+ 3,
2559
+ 3,
2560
+ 0,
2561
+ 2,
2562
+ 0,
2563
+ 1,
2564
+ 3,
2565
+ 0,
2566
+ 1,
2567
+ 0,
2568
+ 2,
2569
+ 4,
2570
+ 1,
2571
+ 1,
2572
+ 1,
2573
+ 1,
2574
+ 3,
2575
+ 3,
2576
+ 0,
2577
+ 0,
2578
+ 2,
2579
+ 1,
2580
+ 3,
2581
+ 0,
2582
+ 0,
2583
+ 1,
2584
+ 2,
2585
+ 4,
2586
+ 1,
2587
+ 1,
2588
+ 1,
2589
+ 1,
2590
+ 3,
2591
+ 3,
2592
+ 2,
2593
+ 1,
2594
+ 0,
2595
+ 0,
2596
+ 3,
2597
+ 1,
2598
+ 2,
2599
+ 0,
2600
+ 0,
2601
+ 2,
2602
+ 1,
2603
+ 1,
2604
+ 1,
2605
+ -1,
2606
+ 3,
2607
+ 3,
2608
+ 2,
2609
+ 0,
2610
+ 1,
2611
+ 0,
2612
+ 3,
2613
+ 1,
2614
+ 0,
2615
+ 2,
2616
+ 0,
2617
+ 2,
2618
+ 1,
2619
+ 1,
2620
+ 1,
2621
+ -1,
2622
+ 3,
2623
+ 3,
2624
+ 0,
2625
+ 2,
2626
+ 1,
2627
+ 0,
2628
+ 3,
2629
+ 0,
2630
+ 1,
2631
+ 2,
2632
+ 0,
2633
+ 2,
2634
+ 1,
2635
+ 1,
2636
+ 1,
2637
+ -1,
2638
+ 3,
2639
+ 3,
2640
+ 2,
2641
+ 1,
2642
+ 0,
2643
+ 0,
2644
+ 3,
2645
+ 1,
2646
+ 2,
2647
+ 0,
2648
+ 0,
2649
+ 2,
2650
+ 1,
2651
+ 1,
2652
+ -1,
2653
+ 1,
2654
+ 3,
2655
+ 3,
2656
+ 2,
2657
+ 0,
2658
+ 0,
2659
+ 1,
2660
+ 3,
2661
+ 1,
2662
+ 0,
2663
+ 0,
2664
+ 2,
2665
+ 2,
2666
+ 1,
2667
+ 1,
2668
+ -1,
2669
+ 1,
2670
+ 3,
2671
+ 3,
2672
+ 0,
2673
+ 2,
2674
+ 0,
2675
+ 1,
2676
+ 3,
2677
+ 0,
2678
+ 1,
2679
+ 0,
2680
+ 2,
2681
+ 2,
2682
+ 1,
2683
+ 1,
2684
+ -1,
2685
+ 1,
2686
+ 3,
2687
+ 3,
2688
+ 2,
2689
+ 0,
2690
+ 1,
2691
+ 0,
2692
+ 3,
2693
+ 1,
2694
+ 0,
2695
+ 2,
2696
+ 0,
2697
+ 2,
2698
+ 1,
2699
+ -1,
2700
+ 1,
2701
+ 1,
2702
+ 3,
2703
+ 3,
2704
+ 2,
2705
+ 0,
2706
+ 0,
2707
+ 1,
2708
+ 3,
2709
+ 1,
2710
+ 0,
2711
+ 0,
2712
+ 2,
2713
+ 2,
2714
+ 1,
2715
+ -1,
2716
+ 1,
2717
+ 1,
2718
+ 3,
2719
+ 3,
2720
+ 0,
2721
+ 0,
2722
+ 2,
2723
+ 1,
2724
+ 3,
2725
+ 0,
2726
+ 0,
2727
+ 1,
2728
+ 2,
2729
+ 2,
2730
+ 1,
2731
+ -1,
2732
+ 1,
2733
+ 1,
2734
+ 3,
2735
+ 3,
2736
+ 0,
2737
+ 2,
2738
+ 1,
2739
+ 0,
2740
+ 3,
2741
+ 0,
2742
+ 1,
2743
+ 2,
2744
+ 0,
2745
+ 2,
2746
+ -1,
2747
+ 1,
2748
+ 1,
2749
+ 1,
2750
+ 3,
2751
+ 3,
2752
+ 0,
2753
+ 2,
2754
+ 0,
2755
+ 1,
2756
+ 3,
2757
+ 0,
2758
+ 1,
2759
+ 0,
2760
+ 2,
2761
+ 2,
2762
+ -1,
2763
+ 1,
2764
+ 1,
2765
+ 1,
2766
+ 3,
2767
+ 3,
2768
+ 0,
2769
+ 0,
2770
+ 2,
2771
+ 1,
2772
+ 3,
2773
+ 0,
2774
+ 0,
2775
+ 1,
2776
+ 2,
2777
+ 2,
2778
+ -1,
2779
+ 1,
2780
+ 1,
2781
+ 1,
2782
+ ];
2783
+ }
2784
+ noise(x, y, z, w) {
2785
+ const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this;
2786
+ const stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
2787
+ ((yins - zins + 1) << 1) |
2788
+ ((yins - wins + 1) << 2) |
2789
+ ((xins - yins + 1) << 3) |
2790
+ ((xins - zins + 1) << 4) |
2791
+ ((xins - wins + 1) << 5) |
2792
+ (inSum << 6) |
2793
+ ((inSum + wins) << 8) |
2794
+ ((inSum + zins) << 11) |
2795
+ ((inSum + yins) << 14) |
2796
+ ((inSum + xins) << 17);
2797
+ let value = 0;
2798
+ for (let c = _lookup[hash]; c !== undefined; c = c.next) {
2799
+ const dx = dx0 + c.dx, dy = dy0 + c.dy, dz = dz0 + c.dz, dw = dw0 + c.dw, attn = 2 - dx * dx - dy * dy - dz * dz - dw * dw;
2800
+ if (attn > 0) {
2801
+ const px = xsb + c.xsb, py = ysb + c.ysb, pz = zsb + c.zsb, pw = wsb + c.wsb, indexPartA = _perm[px & 0xff], indexPartB = _perm[(indexPartA + py) & 0xff], indexPartC = _perm[(indexPartB + pz) & 0xff], index = _perm4D[(indexPartC + pw) & 0xff], valuePart = _gradients4D[index] * dx +
2802
+ _gradients4D[index + 1] * dy +
2803
+ _gradients4D[index + 2] * dz +
2804
+ _gradients4D[index + 3] * dw;
2805
+ value += attn * attn * attn * attn * valuePart;
2806
+ }
2807
+ }
2808
+ return value * _NORM_4D;
2809
+ }
2810
+ seed(clientSeed) {
2811
+ const { _p4D, _base4D, _lookupPairs4D } = this;
2812
+ const contributions = [];
2813
+ for (let i = 0; i < _p4D.length; i += 16) {
2814
+ const baseSet = _base4D[_p4D[i]];
2815
+ let previous = null, current = null;
2816
+ for (let k = 0; k < baseSet.length; k += 5) {
2817
+ current = this._contribution4D(baseSet[k], baseSet[k + 1], baseSet[k + 2], baseSet[k + 3], baseSet[k + 4]);
2818
+ if (previous === null) {
2819
+ contributions[i / 16] = current;
2820
+ }
2821
+ else {
2822
+ previous.next = current;
2823
+ }
2824
+ previous = current;
2825
+ }
2826
+ if (current) {
2827
+ current.next = this._contribution4D(_p4D[i + 1], _p4D[i + 2], _p4D[i + 3], _p4D[i + 4], _p4D[i + 5]);
2828
+ current.next.next = this._contribution4D(_p4D[i + 6], _p4D[i + 7], _p4D[i + 8], _p4D[i + 9], _p4D[i + 10]);
2829
+ current.next.next.next = this._contribution4D(_p4D[i + 11], _p4D[i + 12], _p4D[i + 13], _p4D[i + 14], _p4D[i + 15]);
2830
+ }
2831
+ }
2832
+ this._lookup = [];
2833
+ for (let i = 0; i < _lookupPairs4D.length; i += 2) {
2834
+ this._lookup[_lookupPairs4D[i]] = contributions[_lookupPairs4D[i + 1]];
2835
+ }
2836
+ this._perm = new Uint8Array(256);
2837
+ this._perm4D = new Uint8Array(256);
2838
+ const source = new Uint8Array(256);
2839
+ for (let i = 0; i < 256; i++) {
2840
+ source[i] = i;
2841
+ }
2842
+ let seed = new Uint32Array(1);
2843
+ seed[0] = clientSeed;
2844
+ seed = (0, utils_js_1.shuffleSeed)((0, utils_js_1.shuffleSeed)((0, utils_js_1.shuffleSeed)(seed)));
2845
+ for (let i = 255; i >= 0; i--) {
2846
+ seed = (0, utils_js_1.shuffleSeed)(seed);
2847
+ const r = new Uint32Array(1);
2848
+ r[0] = (seed[0] + 31) % (i + 1);
2849
+ if (r[0] < 0) {
2850
+ r[0] += i + 1;
2851
+ }
2852
+ this._perm[i] = source[r[0]];
2853
+ this._perm4D[i] = this._perm[i] & 0xfc;
2854
+ source[r[0]] = source[i];
2855
+ }
2856
+ }
2857
+ _contribution4D(multiplier, xsb, ysb, zsb, wsb) {
2858
+ const { _SQUISH_4D } = this;
2859
+ return {
2860
+ dx: -xsb - multiplier * _SQUISH_4D,
2861
+ dy: -ysb - multiplier * _SQUISH_4D,
2862
+ dz: -zsb - multiplier * _SQUISH_4D,
2863
+ dw: -wsb - multiplier * _SQUISH_4D,
2864
+ xsb,
2865
+ ysb,
2866
+ zsb,
2867
+ wsb,
2868
+ };
2869
+ }
2870
+ }
2871
+ exports.SimplexNoise4D = SimplexNoise4D;