imagescript 3.2.1 → 3.4.0

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 (101) hide show
  1. package/README.md +35 -10
  2. package/THIRD_PARTY_NOTICES.md +298 -2
  3. package/dist/animation.d.ts +25 -8
  4. package/dist/animation.js +44 -13
  5. package/dist/codecs/av1/cdef.js +197 -0
  6. package/dist/codecs/av1/data.js +141 -0
  7. package/dist/codecs/av1/decode.js +1769 -0
  8. package/dist/codecs/av1/filmgrain.js +219 -0
  9. package/dist/codecs/av1/frame.js +114 -0
  10. package/dist/codecs/av1/ipred.js +491 -0
  11. package/dist/codecs/av1/itx.js +950 -0
  12. package/dist/codecs/av1/loopfilter.js +149 -0
  13. package/dist/codecs/av1/msac.js +161 -0
  14. package/dist/codecs/av1/obu.js +516 -0
  15. package/dist/codecs/av1/postfilter.js +28 -0
  16. package/dist/codecs/av1/restoration.js +193 -0
  17. package/dist/codecs/av1/tables.js +160 -0
  18. package/dist/codecs/avif.js +581 -0
  19. package/dist/codecs/bmp.js +317 -0
  20. package/dist/codecs/crc.js +5 -0
  21. package/dist/codecs/gif.js +10 -35
  22. package/dist/codecs/hdr.d.ts +25 -0
  23. package/dist/codecs/hdr.js +201 -0
  24. package/dist/codecs/ico.js +48 -0
  25. package/dist/codecs/jpeg.js +11 -28
  26. package/dist/codecs/jxl/bits.js +126 -0
  27. package/dist/codecs/jxl/blend.js +117 -0
  28. package/dist/codecs/jxl/color.js +116 -0
  29. package/dist/codecs/jxl/dct.js +404 -0
  30. package/dist/codecs/jxl/entropy.js +556 -0
  31. package/dist/codecs/jxl/features.js +325 -0
  32. package/dist/codecs/jxl/filters.js +119 -0
  33. package/dist/codecs/jxl/frame-header.js +195 -0
  34. package/dist/codecs/jxl/frame.js +319 -0
  35. package/dist/codecs/jxl/headers.js +249 -0
  36. package/dist/codecs/jxl/idct.js +484 -0
  37. package/dist/codecs/jxl/modular.js +688 -0
  38. package/dist/codecs/jxl/quant.js +219 -0
  39. package/dist/codecs/jxl/upsample.js +52 -0
  40. package/dist/codecs/jxl/vardct.js +472 -0
  41. package/dist/codecs/jxl.js +89 -0
  42. package/dist/codecs/netpbm.js +239 -0
  43. package/dist/codecs/png.js +22 -10
  44. package/dist/codecs/qoi.js +150 -0
  45. package/dist/codecs/tga.js +3 -1
  46. package/dist/codecs/tiff.js +7 -2
  47. package/dist/codecs/vp8-enc-dsp.js +932 -0
  48. package/dist/codecs/vp8-enc-tables.js +78 -0
  49. package/dist/codecs/vp8-enc.js +1930 -0
  50. package/dist/codecs/vp8.js +3 -1
  51. package/dist/codecs/vp8l.js +126 -58
  52. package/dist/codecs/webp.js +47 -11
  53. package/dist/codecs/zlib.js +81 -69
  54. package/dist/frame.d.ts +1 -0
  55. package/dist/frame.js +4 -2
  56. package/dist/gif.d.ts +1 -0
  57. package/dist/gif.js +2 -2
  58. package/dist/image-type.d.ts +15 -1
  59. package/dist/image-type.js +45 -2
  60. package/dist/image.d.ts +89 -13
  61. package/dist/image.js +266 -113
  62. package/dist/index.d.ts +3 -2
  63. package/dist/index.js +4 -4
  64. package/dist/render/bidi.js +350 -0
  65. package/dist/render/buffer.js +362 -0
  66. package/dist/render/color.js +164 -0
  67. package/dist/render/colr.js +523 -0
  68. package/dist/render/font.js +173 -241
  69. package/dist/render/hinting.js +38 -22
  70. package/dist/render/layout.js +1553 -0
  71. package/dist/render/linebreak.js +210 -0
  72. package/dist/render/segment.js +106 -0
  73. package/dist/render/shape.js +984 -0
  74. package/dist/render/shapers/arabic.js +284 -0
  75. package/dist/render/shapers/hangul.js +142 -0
  76. package/dist/render/shapers/hebrew.js +49 -0
  77. package/dist/render/shapers/index.js +52 -0
  78. package/dist/render/shapers/indic.js +579 -0
  79. package/dist/render/shapers/khmer.js +104 -0
  80. package/dist/render/shapers/machine.js +129 -0
  81. package/dist/render/shapers/myanmar.js +121 -0
  82. package/dist/render/shapers/syllabic.js +100 -0
  83. package/dist/render/shapers/thai.js +125 -0
  84. package/dist/render/shapers/use.js +235 -0
  85. package/dist/render/svg.js +102 -23
  86. package/dist/render/text.js +373 -103
  87. package/dist/render/unicode-data.js +63 -0
  88. package/dist/render/unicode.js +50 -0
  89. package/dist/text-layout.d.ts +4 -1
  90. package/dist/text-layout.js +2 -2
  91. package/dist/util/alpha.js +43 -0
  92. package/dist/util/blur.js +20 -33
  93. package/dist/util/bytes.js +40 -0
  94. package/dist/util/limits.js +34 -0
  95. package/dist/util/options.js +7 -0
  96. package/dist/util/resample.js +126 -7
  97. package/dist/util/rotate.js +43 -0
  98. package/dist/version.js +1 -1
  99. package/licenses/HarfBuzz.txt +42 -0
  100. package/licenses/Unicode-3.0.txt +39 -0
  101. package/package.json +25 -2
@@ -0,0 +1,78 @@
1
+ /*!
2
+ * Generated by scripts/vp8-enc-tables.py from libwebp, don't edit. Copyright (c) 2010 Google Inc., BSD-3-Clause License
3
+ * (see THIRD_PARTY_NOTICES.md)
4
+ */
5
+ export const ENTROPY_COST = [
6
+ 1792, 1792, 1792, 1536, 1536, 1408, 1366, 1280, 1280, 1216, 1178, 1152, 1110, 1076, 1061, 1024, 1024, 992, 968, 951, 939, 911, 896, 878, 871, 854, 838, 820, 811, 794, 786, 768,
7
+ 768, 752, 740, 732, 720, 709, 704, 690, 683, 672, 666, 655, 647, 640, 631, 622, 615, 607, 598, 592, 586, 576, 572, 564, 559, 555, 547, 541, 534, 528, 522, 512,
8
+ 512, 504, 500, 494, 488, 483, 477, 473, 467, 461, 458, 452, 448, 443, 438, 434, 427, 424, 419, 415, 410, 406, 403, 399, 394, 390, 384, 384, 377, 374, 370, 366,
9
+ 362, 359, 355, 351, 347, 342, 342, 336, 333, 330, 326, 323, 320, 316, 312, 308, 305, 302, 299, 296, 293, 288, 287, 283, 280, 277, 274, 272, 268, 266, 262, 256,
10
+ 256, 256, 251, 248, 245, 242, 240, 237, 234, 232, 228, 226, 223, 221, 218, 216, 214, 211, 208, 205, 203, 201, 198, 196, 192, 191, 188, 187, 183, 181, 179, 176,
11
+ 175, 171, 171, 168, 165, 163, 160, 159, 156, 154, 152, 150, 148, 146, 144, 142, 139, 138, 135, 133, 131, 128, 128, 125, 123, 121, 119, 117, 115, 113, 111, 110,
12
+ 107, 105, 103, 102, 100, 98, 96, 94, 92, 91, 89, 86, 86, 83, 82, 80, 77, 76, 74, 73, 71, 69, 67, 66, 64, 63, 61, 59, 57, 55, 54, 52,
13
+ 51, 49, 47, 46, 44, 43, 41, 40, 38, 36, 35, 33, 32, 30, 29, 27, 25, 24, 22, 21, 19, 18, 16, 15, 13, 12, 10, 9, 7, 6, 4, 3
14
+ ];
15
+ export const LEVEL_FIXED_COSTS = 'AAAAAQABAAEAAbABagJ2AtsCgAKAAjwDhQO0A/0DTQSWBMUEDgUSBD0EWwSGBLIE3QT7BCYFOQVkBYIFrQXZBQQGIgZNBgAFDwUlBTQFTgVdBXMFggWuBb0F0wXiBfwFCwYhBjAGQQZQBmYGdQaPBp4GtAbDBu8G/gYUByMHPQdMB2IHcQe/BsUGzgbUBt8G5QbuBvQGCAcOBxcHHQcoBy4HNwc9B1YHXAdlB2sHdgd8B4UHiwefB6UHrge0B78HxQfOB9QH6wfxB/oHAAgLCBEIGgggCDQIOghDCEkIVAhaCGMIaQiCCIgIkQiXCKIIqAixCLcIywjRCNoI4AjrCPEI+ggACXgIfgiHCI0ImAieCKcIrQjBCMcI0AjWCOEI5wjwCPYIDwkVCR4JJAkvCTUJPglECVgJXglnCW0JeAl+CYcJjQmkCaoJswm5CcQJygnTCdkJ7QnzCfwJAgoNChMKHAoiCjsKQQpKClAKWwphCmoKcAqECooKkwqZCqQKqgqzCrkK7AnyCfsJAQoMChIKGwohCjUKOwpECkoKVQpbCmQKagqDCokKkgqYCqMKqQqyCrgKzArSCtsK4QrsCvIK+woBCxgLHgsnCy0LOAs+C0cLTQthC2cLcAt2C4ELhwuQC5YLrwu1C74LxAvPC9UL3gvkC/gL/gsHDA0MGAweDCcMLQylC6sLtAu6C8ULywvUC9oL7gv0C/0LAwwODBQMHQwjDDwMQgxLDFEMXAxiDGsMcQyFDIsMlAyaDKUMqwy0DLoM0QzXDOAM5gzxDPcMAA0GDRoNIA0pDS8NOg1ADUkNTw1oDW4Ndw19DYgNjg2XDZ0NsQ23DcANxg3RDdcN4A3mDQALBgsPCxULIAsmCy8LNQtJC08LWAteC2kLbwt4C34LlwudC6YLrAu3C70LxgvMC+AL5gvvC/ULAAwGDA8MFQwsDDIMOwxBDEwMUgxbDGEMdQx7DIQMigyVDJsMpAyqDMMMyQzSDNgM4wzpDPIM+AwMDRINGw0hDSwNMg07DUENuQy/DMgMzgzZDN8M6AzuDAINCA0RDRcNIg0oDTENNw1QDVYNXw1lDXANdg1/DYUNmQ2fDagNrg25Db8NyA3ODeUN6w30DfoNBQ4LDhQOGg4uDjQOPQ5DDk4OVA5dDmMOfA6CDosOkQ6cDqIOqw6xDsUOyw7UDtoO5Q7rDvQO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ERIcEiISKxIxEkUSSxJUEloSZRJrEnQSehKTEpkSohKoErMSuRLCEsgS3BLiEusS8RL8EgITCxMREygTLhM3Ez0TSBNOE1cTXRNxE3cTgBOGE5ETlxOgE6YTvxPFE84T1BPfE+UT7hP0EwgUDhQXFB0UKBQuFDcUPRS1E7sTxBPKE9UT2xPkE+oT/hMEFA0UExQeFCQULRQzFEwUUhRbFGEUbBRyFHsUgRSVFJsUpBSqFLUUuxTEFMoU4RTnFPAU9hQBFQcVEBUWFSoVMBU5FT8VShVQFVkVXxV4FX4VhxWNFZgVnhWnFa0VwRXHFdAV1hXhFecV8BX2FSkVLxU4FT4VSRVPFVgVXhVyFXgVgRWHFZIVmBWhFacVwBXGFc8V1RXgFeYV7xX1FQkWDxYYFh4WKRYvFjgWPhZVFlsWZBZqFnUWexaEFooWnhakFq0Wsxa+FsQWzRbTFuwW8hb7FgEXDBcSFxsXIRc1FzsXRBdKF1UXWxdkF2oX4hboFvEW9xYCFwgXERcXFysXMRc6F0AXSxdRF1oXYBd5F38XiBeOF5kXnxeoF64XwhfIF9EX1xfiF+gX8Rf3Fw4YFBgdGCMYLhg0GD0YQxhXGF0YZhhsGHcYfRiGGIwYpRirGLQYuhjFGMsY1BjaGO4Y9Bj9GAMZDhkUGR0ZIxm3FL0UxhTMFNcU3RTmFOwUABUGFQ8VFRUgFSYVLxU1FU4VVBVdFWMVbhV0FX0VgxWXFZ0VphWsFbcVvRXGFcwV4xXpFfIV+BUDFgkWEhYYFiwWMhY7FkEWTBZSFlsWYRZ6FoAWiRaPFpoWoBapFq8WwxbJFtIW2BbjFukW8hb4FnAWdhZ/FoUWkBaWFp8WpRa5Fr8WyBbOFtkW3xboFu4WBxcNFxYXHBcnFy0XNhc8F1AXVhdfF2UXcBd2F38XhRecF6IXqxexF7wXwhfLF9EX5RfrF/QX+hcFGAsYFBgaGDMYORhCGEgYUxhZGGIYaBh8GIIYixiRGJwYohirGLEY5BfqF/MX+RcEGAoYExgZGC0YMxg8GEIYTRhTGFwYYhh7GIEYihiQGJsYoRiqGLAYxBjKGNMY2RjkGOoY8xj5GBAZFhkfGSUZMBk2GT8ZRRlZGV8ZaBluGXkZfxmIGY4ZpxmtGbYZvBnHGc0Z1hncGfAZ9hn/GQUaEBoWGh8aJRqdGaMZrBmyGb0ZwxnMGdIZ5hnsGfUZ+xkGGgwaFRobGjQaOhpDGkkaVBpaGmMaaRp9GoMajBqSGp0aoxqsGrIayRrPGtga3hrpGu8a+Br+GhIbGBshGycbMhs4G0EbRxtgG2Ybbxt1G4AbhhuPG5UbqRuvG7gbvhvJG88b2BveG/gY/hgHGQ0ZGBkeGScZLRlBGUcZUBlWGWEZZxlwGXYZjxmVGZ4ZpBmvGbUZvhnEGdgZ3hnnGe0Z+Bn+GQcaDRokGioaMxo5GkQaShpTGlkabRpzGnwaghqNGpManBqiGrsawRrKGtAa2xrhGuoa8BoEGwobExsZGyQbKhszGzkbsRq3GsAaxhrRGtca4BrmGvoaABsJGw8bGhsgGykbLxtIG04bVxtdG2gbbht3G30bkRuXG6AbphuxG7cbwBvGG90b4xvsG/Ib/RsDHAwcEhwmHCwcNRw7HEYcTBxVHFscdBx6HIMciRyUHJocoxypHL0cwxzMHNIc3RzjHOwc8hwlHCscNBw6HEUcSxxUHFocbhx0HH0cgxyOHJQcnRyjHLwcwhzLHNEc3BziHOsc8RwFHQsdFB0aHSUdKx00HTodUR1XHWAdZh1xHXcdgB2GHZodoB2pHa8duh3AHckdzx3oHe4d9x39HQgeDh4XHh0eMR43HkAeRh5RHg==';
16
+ export const LEVEL_CODES = [
17
+ 1, 0, 7, 1, 15, 5, 15, 13, 51, 3, 51, 3, 51, 35, 51, 35, 51, 35, 51, 35, 211, 19, 211, 19, 211, 19, 211, 19, 211, 19, 211, 19,
18
+ 211, 19, 211, 19, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147, 211, 147,
19
+ 211, 147, 211, 147, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83,
20
+ 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83, 339, 83,
21
+ 339, 83, 339, 83, 339, 339
22
+ ];
23
+ export const FIXED_COSTS_I4 = 'KAB/BLsGUgc3COMHXAbxBrIIWQjAANUBEAUcBTkHAgf1BqcGsQbyBY4AjgP6ApQGOQcoBrQFGQUJB3kGLwKBAloFpQGeBCEGTAa9Bl8D7wMrASME6ARUBHwCLAQtBlsHZQN2BBUBVwTDAlIFQQSgAkMGBQYJBgsF1gANA0kGFwVgBrUI1gIYBrEGlgOYAA0EFgTfBr8HfghOBeYCzAZuBQACFgSMBfEC8AIRBc4FTQbMAbcEqAE7A1IFzwK2BbIErwTEBa8EGgLwAJIBbgTTBXsG4QXtBRMGuwczCNMB8gDAA9AEsgZUBioHIgaMBm8F9AHHAc8B4wWjBgIFHAbWA0IIQgigAoMCXAVLATUGgwatBZIH5ANsA8oBDwMNBI8D4gLIA40E7gVbAwkE+AEvA/gBcwTDBM8C4gU9BPQE9ARNAXYCpQXXBFsHWA4fAwwGSQdWAo8BhALqAj4FQAdGBdUFZQI/B/cDbgLtArUEYAIqBIAFCgV+BSICywP0AfECEQScAs4EUQYRBZEFZwULAooBKQILAt4FAAbVA0gGdgSCBoUIjwKuAXcBgwVFB8QEjQZvBLoHEQayAoAC9QCiBxYIqgT4BdYDtAe4CC8CQgPlAmMDawTUA8kEVANEBBADsgJrAwQCvwOhAn4DIASmBPgFZgTkArcDgAH9BJkE7AErBoMENgfpBUMBBwMmBPAG9gv6BC0DpARcBY8C6AHLA+QB5wbrBe8GWwT3AQMGtQXkAu4D5gPFAlMDzgQ5BRQD5QLRAgoCMQQ9AhUEQgV3AxYEegSzBLkCaQBgA6IF8QOOBzAH7wWAB4kGKwYWAjEBqQSrAmwFdAgKB2YH8ASSBDEBBgJtA1QEkgWPDJEFKAQoBdoEqwLcAocHAQHVBQAIQgcQBh8EswOKAS4DAASUAr8DFAYCBQkFfQMXBBACZwLkA6wDsQR7AkYE0wkjA04FWwFmAkkGowQ9DEEF7wM7BfkDmwLaAOQCbgNFBkIOQg5BBfYCTQVRBqAC7gIFBi4C6QQ/Bk4HVwiSAT8EUAKsAokErgFEBNkFwwXRBUcENgPkACAEIwRYBfAC1gPoBe4F2wP2Bu4BAgIyA64DxQN8A0oGTAUYBFMFAAKIAk8CEgT5At8DrASuBR0FtwWrAu0CEwSkAkkDdAVtBHIEjgKrA24CTQRmBOIDaQE1BLMEJgVtA8MEdwIsBFkDcgaLAt0BcgaLBTwDkgQrAtcCLAQ3BTcMOwU0AzMFNQStAfgBbwNwAnYFeQN5A3AFKAN7A34FqwJCBgkF0QNCAtcDAAWsBpYBYgSPAWEDmQUuBDAE/ALIA8UFxwSmAk0B+AKnA2YG8gMRAm4GggXABasIAALuAe4CiAS/BGICTgdMB1wGkQQ8AoYC7AGOB7gEWwIsBksEdgXLBxIDFQOuA0UC+gO3Az8GtwTbAgADsgL3A6ACNgRGAvgBnQaeBVQEUQsAA/MEOwLVB9sE9ABBC2QF+gatBcQBgwMNBYcDHwUcDNEBHwUnBS0DigGfA64DTwROBVAEsgNRAlMFVQQvAu0D7wP4A5IClQT9A4wEbwIEBDQCHAN4Au0D9gNfAwwJ9ASqA/wCCgFeAkoEzATZBdsEtAMGBMYGtQVuAUkChQMkBH8F3wRsA24EVAYeBMQBNQIeAsEGxwXHBfgDdgN6C34EKwJABP0FtgNKBX8DQgP7A/0D8AHAAi8DqQTLA80DgALBBKYIQANCAqAC3QRDAmcDawMGA2gD+QQDBLUDKAFuBAII+AZkBmENugEOBhwI0gJWAdYD6wQ2BzgHOAduAjgCNwccBCsCKAQYBTwD6gI/BTMEMQU2BO4BIAGPBAUFlgRnBmcGQQPOCBgF/QFWAc8C/wJKB90G9gTeBCYC0gZnCOMBjQK2AuUFswWCBcIE+wF6B/IE6AH1Ar8BowsVB/QEdgYbAjkHPQgKAkkEPQRTA1UFVwRTA4UDwQNdAsUCzAJJA9gC4AKxA60DXgMdCyEEAAIrBfQBOAU7BKkCPgXNAkQGRgXEAYMEXAVsB90F2gw3AbADfweaA5MB8AXRA1QIxQbCDTQEFAEHDQsGLwJeBU0EZwKhAp4JzgMbA9gD2AMjAmIEJgQsA4IFtwN0BG4C9ASLAqUA1gPTBKoDNgVWBXsGKgbEA0wGUAKmAZ0DTwNzBFgEawX0B10DEQSTAUUD3AICA60DegbiBCkDfwV/BYADagMvBH0BIAa6Bp0FkAjgAQsEgAJKBPQDCASsAmYFLQY6CKABYQMvAu0DMwOSA8YCAgOKBZgDRgObBZ8B6gTdBGYD/gT7CwID/QMHBQoClgHeA1kC8QPxBPEE8wT3AvkD/QTIA54EMQUUAwgEDAWpBrIGywB7BdwCbQP/BNcBhQOJBAkGDgXzAvMCbwCjA2IFoQSNB3AGfASyBlEHGwWWAZ4BBgT/A3YHfAUhBW8G5QUZA1YBgAI/AkAE2QRFBYkERgXcBt4FLwL+AqEEZQGSBpQFMQVpB8MEIgPZAY0DjAQDA88CzAmTBZgF0gIOA1YBfAMRA3kEfgQaAxAFDgbNAyEE0AAMBC4FPwVGBkMNLwOvBVIGyALkAKADegMWBKsNrwbiAz0DuAYmBQAD1AIiBHwC3wMzBCcFLAVoAjkDMQGPBE4FgwMzBjMG2wPEBzQF9QE=';
24
+ export const BMODES_PROBA = [
25
+ 231, 120, 48, 89, 115, 113, 120, 152, 112, 152, 179, 64, 126, 170, 118, 46, 70, 95, 175, 69, 143, 80, 85, 82, 72, 155, 103, 56, 58, 10, 171, 218,
26
+ 189, 17, 13, 152, 114, 26, 17, 163, 44, 195, 21, 10, 173, 121, 24, 80, 195, 26, 62, 44, 64, 85, 144, 71, 10, 38, 171, 213, 144, 34, 26, 170,
27
+ 46, 55, 19, 136, 160, 33, 206, 71, 63, 20, 8, 114, 114, 208, 12, 9, 226, 81, 40, 11, 96, 182, 84, 29, 16, 36, 134, 183, 89, 137, 98, 101,
28
+ 106, 165, 148, 72, 187, 100, 130, 157, 111, 32, 75, 80, 66, 102, 167, 99, 74, 62, 40, 234, 128, 41, 53, 9, 178, 241, 141, 26, 8, 107, 74, 43,
29
+ 26, 146, 73, 166, 49, 23, 157, 65, 38, 105, 160, 51, 52, 31, 115, 128, 104, 79, 12, 27, 217, 255, 87, 17, 7, 87, 68, 71, 44, 114, 51, 15,
30
+ 186, 23, 47, 41, 14, 110, 182, 183, 21, 17, 194, 66, 45, 25, 102, 197, 189, 23, 18, 22, 88, 88, 147, 150, 42, 46, 45, 196, 205, 43, 97, 183,
31
+ 117, 85, 38, 35, 179, 61, 39, 53, 200, 87, 26, 21, 43, 232, 171, 56, 34, 51, 104, 114, 102, 29, 93, 77, 39, 28, 85, 171, 58, 165, 90, 98,
32
+ 64, 34, 22, 116, 206, 23, 34, 43, 166, 73, 107, 54, 32, 26, 51, 1, 81, 43, 31, 68, 25, 106, 22, 64, 171, 36, 225, 114, 34, 19, 21, 102,
33
+ 132, 188, 16, 76, 124, 62, 18, 78, 95, 85, 57, 50, 48, 51, 193, 101, 35, 159, 215, 111, 89, 46, 111, 60, 148, 31, 172, 219, 228, 21, 18, 111,
34
+ 112, 113, 77, 85, 179, 255, 38, 120, 114, 40, 42, 1, 196, 245, 209, 10, 25, 109, 88, 43, 29, 140, 166, 213, 37, 43, 154, 61, 63, 30, 155, 67,
35
+ 45, 68, 1, 209, 100, 80, 8, 43, 154, 1, 51, 26, 71, 142, 78, 78, 16, 255, 128, 34, 197, 171, 41, 40, 5, 102, 211, 183, 4, 1, 221, 51,
36
+ 50, 17, 168, 209, 192, 23, 25, 82, 138, 31, 36, 171, 27, 166, 38, 44, 229, 67, 87, 58, 169, 82, 115, 26, 59, 179, 63, 59, 90, 180, 59, 166,
37
+ 93, 73, 154, 40, 40, 21, 116, 143, 209, 34, 39, 175, 47, 15, 16, 183, 34, 223, 49, 45, 183, 46, 17, 33, 183, 6, 98, 15, 32, 183, 57, 46,
38
+ 22, 24, 128, 1, 54, 17, 37, 65, 32, 73, 115, 28, 128, 23, 128, 205, 40, 3, 9, 115, 51, 192, 18, 6, 223, 87, 37, 9, 115, 59, 77, 64,
39
+ 21, 47, 104, 55, 44, 218, 9, 54, 53, 130, 226, 64, 90, 70, 205, 40, 41, 23, 26, 57, 54, 57, 112, 184, 5, 41, 38, 166, 213, 30, 34, 26,
40
+ 133, 152, 116, 10, 32, 134, 39, 19, 53, 221, 26, 114, 32, 73, 255, 31, 9, 65, 234, 2, 15, 1, 118, 73, 75, 32, 12, 51, 192, 255, 160, 43,
41
+ 51, 88, 31, 35, 67, 102, 85, 55, 186, 85, 56, 21, 23, 111, 59, 205, 45, 37, 192, 55, 38, 70, 124, 73, 102, 1, 34, 98, 125, 98, 42, 88,
42
+ 104, 85, 117, 175, 82, 95, 84, 53, 89, 128, 100, 113, 101, 45, 75, 79, 123, 47, 51, 128, 81, 171, 1, 57, 17, 5, 71, 102, 57, 53, 41, 49,
43
+ 38, 33, 13, 121, 57, 73, 26, 1, 85, 41, 10, 67, 138, 77, 110, 90, 47, 114, 115, 21, 2, 10, 102, 255, 166, 23, 6, 101, 29, 16, 10, 85,
44
+ 128, 101, 196, 26, 57, 18, 10, 102, 102, 213, 34, 20, 43, 117, 20, 15, 36, 163, 128, 68, 1, 26, 102, 61, 71, 37, 34, 53, 31, 243, 192, 69,
45
+ 60, 71, 38, 73, 119, 28, 222, 37, 68, 45, 128, 34, 1, 47, 11, 245, 171, 62, 17, 19, 70, 146, 85, 55, 62, 70, 37, 43, 37, 154, 100, 163,
46
+ 85, 160, 1, 63, 9, 92, 136, 28, 64, 32, 201, 85, 75, 15, 9, 9, 64, 255, 184, 119, 16, 86, 6, 28, 5, 64, 255, 25, 248, 1, 56, 8,
47
+ 17, 132, 137, 255, 55, 116, 128, 58, 15, 20, 82, 135, 57, 26, 121, 40, 164, 50, 31, 137, 154, 133, 25, 35, 218, 51, 103, 44, 131, 131, 123, 31,
48
+ 6, 158, 86, 40, 64, 135, 148, 224, 45, 183, 128, 22, 26, 17, 131, 240, 154, 14, 1, 209, 45, 16, 21, 91, 64, 222, 7, 1, 197, 56, 21, 39,
49
+ 155, 60, 138, 23, 102, 213, 83, 12, 13, 54, 192, 255, 68, 47, 28, 85, 26, 85, 85, 128, 128, 32, 146, 171, 18, 11, 7, 63, 144, 171, 4, 4,
50
+ 246, 35, 27, 10, 146, 174, 171, 12, 26, 128, 190, 80, 35, 99, 180, 80, 126, 54, 45, 85, 126, 47, 87, 176, 51, 41, 20, 32, 101, 75, 128, 139,
51
+ 118, 146, 116, 128, 85, 56, 41, 15, 176, 236, 85, 37, 9, 62, 71, 30, 17, 119, 118, 255, 17, 18, 138, 101, 38, 60, 138, 55, 70, 43, 26, 142,
52
+ 146, 36, 19, 30, 171, 255, 97, 27, 20, 138, 45, 61, 62, 219, 1, 81, 188, 64, 32, 41, 20, 117, 151, 142, 20, 21, 163, 112, 19, 12, 61, 195,
53
+ 128, 48, 4, 24
54
+ ];
55
+ export const AC_TABLE2 = [
56
+ 8, 8, 9, 10, 12, 13, 15, 17, 18, 20, 21, 23, 24, 26, 27, 29, 31, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 48, 49, 51, 52, 54,
57
+ 55, 57, 58, 60, 62, 63, 65, 66, 68, 69, 71, 72, 74, 75, 77, 79, 80, 82, 83, 85, 86, 88, 89, 93, 96, 99, 102, 105, 108, 111, 114, 117,
58
+ 120, 124, 127, 130, 133, 136, 139, 142, 145, 148, 151, 155, 158, 161, 164, 167, 170, 173, 176, 179, 184, 189, 193, 198, 203, 207, 212, 217, 221, 226, 230, 235,
59
+ 240, 244, 249, 254, 258, 263, 268, 274, 280, 286, 292, 299, 305, 311, 317, 323, 330, 336, 342, 348, 354, 362, 370, 379, 385, 393, 401, 409, 416, 424, 432, 440
60
+ ];
61
+ export const LEVELS_FROM_DELTA = [
62
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
63
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64
+ 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 20, 21, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 38, 39, 41, 42,
65
+ 44, 45, 47, 48, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
66
+ 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41, 43,
67
+ 44, 46, 47, 49, 50, 52, 53, 55, 56, 58, 59, 61, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
68
+ 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 21, 22, 24, 25, 27, 28, 30, 31, 33, 34, 36, 37, 39, 40, 42, 43,
69
+ 45, 46, 48, 49, 51, 52, 54, 55, 57, 58, 60, 61, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
70
+ 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 14, 15, 17, 18, 20, 21, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 38, 39, 41, 42, 44,
71
+ 45, 47, 48, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
72
+ 0, 1, 2, 4, 5, 7, 8, 9, 11, 12, 13, 15, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32, 34, 35, 37, 38, 40, 41, 43, 44,
73
+ 46, 47, 49, 50, 52, 53, 55, 56, 58, 59, 61, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
74
+ 0, 1, 2, 4, 5, 7, 8, 9, 11, 12, 13, 15, 16, 18, 19, 21, 22, 24, 25, 27, 28, 30, 31, 33, 34, 36, 37, 39, 40, 42, 43, 45,
75
+ 46, 48, 49, 51, 52, 54, 55, 57, 58, 60, 61, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
76
+ 0, 1, 2, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17, 18, 20, 21, 23, 24, 26, 27, 29, 30, 32, 33, 35, 36, 38, 39, 41, 42, 44, 45,
77
+ 47, 48, 50, 51, 53, 54, 56, 57, 59, 60, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63
78
+ ];