umwd-components 0.1.813 → 0.1.815

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 (429) hide show
  1. package/dist/cjs/_virtual/_commonjs-dynamic-modules.js +6 -0
  2. package/dist/cjs/_virtual/aes.js +6 -0
  3. package/dist/cjs/_virtual/b64.js +6 -0
  4. package/dist/cjs/_virtual/blowfish.js +6 -0
  5. package/dist/cjs/_virtual/cipher-core.js +6 -0
  6. package/dist/cjs/_virtual/clone.js +6 -0
  7. package/dist/cjs/_virtual/common.js +6 -0
  8. package/dist/cjs/_virtual/context.js +6 -0
  9. package/dist/cjs/_virtual/core2.js +6 -0
  10. package/dist/cjs/_virtual/decode.js +6 -0
  11. package/dist/cjs/_virtual/deflate.js +6 -0
  12. package/dist/cjs/_virtual/dictionary-browser.js +6 -0
  13. package/dist/cjs/_virtual/dictionary.js +6 -0
  14. package/dist/cjs/_virtual/en-us.js +6 -0
  15. package/dist/cjs/_virtual/enc-base64.js +6 -0
  16. package/dist/cjs/_virtual/enc-base64url.js +6 -0
  17. package/dist/cjs/_virtual/enc-utf16.js +6 -0
  18. package/dist/cjs/_virtual/events.js +6 -0
  19. package/dist/cjs/_virtual/evpkdf.js +6 -0
  20. package/dist/cjs/_virtual/format-hex.js +6 -0
  21. package/dist/cjs/_virtual/hmac.js +6 -0
  22. package/dist/cjs/_virtual/huffman.js +6 -0
  23. package/dist/cjs/_virtual/hyphen.js +6 -0
  24. package/dist/cjs/_virtual/index10.js +6 -0
  25. package/dist/cjs/_virtual/index5.js +6 -0
  26. package/dist/cjs/_virtual/index6.js +6 -0
  27. package/dist/cjs/_virtual/index7.js +6 -0
  28. package/dist/cjs/_virtual/index8.js +6 -0
  29. package/dist/cjs/_virtual/index9.js +6 -0
  30. package/dist/cjs/_virtual/inflate.js +6 -0
  31. package/dist/cjs/_virtual/inherits_browser.js +6 -0
  32. package/dist/cjs/_virtual/lib-typedarrays.js +6 -0
  33. package/dist/cjs/_virtual/md5.js +6 -0
  34. package/dist/cjs/_virtual/mode-cfb.js +6 -0
  35. package/dist/cjs/_virtual/mode-ctr-gladman.js +6 -0
  36. package/dist/cjs/_virtual/mode-ctr.js +6 -0
  37. package/dist/cjs/_virtual/mode-ecb.js +6 -0
  38. package/dist/cjs/_virtual/mode-ofb.js +6 -0
  39. package/dist/cjs/_virtual/pad-ansix923.js +6 -0
  40. package/dist/cjs/_virtual/pad-iso10126.js +6 -0
  41. package/dist/cjs/_virtual/pad-iso97971.js +6 -0
  42. package/dist/cjs/_virtual/pad-nopadding.js +6 -0
  43. package/dist/cjs/_virtual/pad-zeropadding.js +6 -0
  44. package/dist/cjs/_virtual/pbkdf2.js +6 -0
  45. package/dist/cjs/_virtual/prefix.js +6 -0
  46. package/dist/cjs/_virtual/rabbit-legacy.js +6 -0
  47. package/dist/cjs/_virtual/rabbit.js +6 -0
  48. package/dist/cjs/_virtual/rc4.js +6 -0
  49. package/dist/cjs/_virtual/ripemd160.js +6 -0
  50. package/dist/cjs/_virtual/scheduler.development.js +6 -0
  51. package/dist/cjs/_virtual/scheduler.production.js +6 -0
  52. package/dist/cjs/_virtual/sha1.js +6 -0
  53. package/dist/cjs/_virtual/sha224.js +6 -0
  54. package/dist/cjs/_virtual/sha256.js +6 -0
  55. package/dist/cjs/_virtual/sha3.js +6 -0
  56. package/dist/cjs/_virtual/sha384.js +6 -0
  57. package/dist/cjs/_virtual/sha512.js +6 -0
  58. package/dist/cjs/_virtual/streams.js +6 -0
  59. package/dist/cjs/_virtual/transform.js +6 -0
  60. package/dist/cjs/_virtual/trees.js +6 -0
  61. package/dist/cjs/_virtual/tripledes.js +6 -0
  62. package/dist/cjs/_virtual/x64-core.js +6 -0
  63. package/dist/cjs/node_modules/@react-pdf/fns/lib/index.js +6 -0
  64. package/dist/cjs/node_modules/@react-pdf/font/lib/index.browser.js +6 -0
  65. package/dist/cjs/node_modules/@react-pdf/image/lib/index.browser.js +6 -0
  66. package/dist/cjs/node_modules/@react-pdf/layout/lib/index.js +6 -0
  67. package/dist/cjs/node_modules/@react-pdf/pdfkit/lib/pdfkit.browser.js +6 -0
  68. package/dist/cjs/node_modules/@react-pdf/png-js/lib/png-js.browser.js +6 -0
  69. package/dist/cjs/node_modules/@react-pdf/primitives/lib/index.js +6 -0
  70. package/dist/cjs/node_modules/@react-pdf/reconciler/lib/index.js +6 -0
  71. package/dist/cjs/node_modules/@react-pdf/reconciler/lib/reconciler-23.js +14 -0
  72. package/dist/cjs/node_modules/@react-pdf/reconciler/lib/reconciler-31.js +26 -0
  73. package/dist/cjs/node_modules/@react-pdf/render/lib/index.js +6 -0
  74. package/dist/cjs/node_modules/@react-pdf/renderer/lib/react-pdf.browser.js +6 -0
  75. package/dist/cjs/node_modules/@react-pdf/stylesheet/lib/index.js +6 -0
  76. package/dist/cjs/node_modules/@react-pdf/textkit/lib/textkit.js +13 -0
  77. package/dist/cjs/node_modules/@swc/helpers/esm/_define_property.js +6 -0
  78. package/dist/cjs/node_modules/abs-svg-path/index.js +6 -0
  79. package/dist/cjs/node_modules/base64-js/index.js +6 -0
  80. package/dist/cjs/node_modules/bidi-js/dist/bidi.js +6 -0
  81. package/dist/cjs/node_modules/brotli/dec/bit_reader.js +6 -0
  82. package/dist/cjs/node_modules/brotli/dec/context.js +6 -0
  83. package/dist/cjs/node_modules/brotli/dec/decode.js +6 -0
  84. package/dist/cjs/node_modules/brotli/dec/dictionary-browser.js +6 -0
  85. package/dist/cjs/node_modules/brotli/dec/dictionary.bin.js +6 -0
  86. package/dist/cjs/node_modules/brotli/dec/dictionary.js +6 -0
  87. package/dist/cjs/node_modules/brotli/dec/huffman.js +6 -0
  88. package/dist/cjs/node_modules/brotli/dec/prefix.js +6 -0
  89. package/dist/cjs/node_modules/brotli/dec/streams.js +6 -0
  90. package/dist/cjs/node_modules/brotli/dec/transform.js +6 -0
  91. package/dist/cjs/node_modules/brotli/decompress.js +6 -0
  92. package/dist/cjs/node_modules/clone/clone.js +6 -0
  93. package/dist/cjs/node_modules/color-name/index.js +6 -0
  94. package/dist/cjs/node_modules/color-string/index.js +6 -0
  95. package/dist/cjs/node_modules/crypto-js/aes.js +6 -0
  96. package/dist/cjs/node_modules/crypto-js/blowfish.js +6 -0
  97. package/dist/cjs/node_modules/crypto-js/cipher-core.js +6 -0
  98. package/dist/cjs/node_modules/crypto-js/core.js +6 -0
  99. package/dist/cjs/node_modules/crypto-js/enc-base64.js +6 -0
  100. package/dist/cjs/node_modules/crypto-js/enc-base64url.js +6 -0
  101. package/dist/cjs/node_modules/crypto-js/enc-utf16.js +6 -0
  102. package/dist/cjs/node_modules/crypto-js/evpkdf.js +6 -0
  103. package/dist/cjs/node_modules/crypto-js/format-hex.js +6 -0
  104. package/dist/cjs/node_modules/crypto-js/hmac.js +6 -0
  105. package/dist/cjs/node_modules/crypto-js/index.js +6 -0
  106. package/dist/cjs/node_modules/crypto-js/lib-typedarrays.js +6 -0
  107. package/dist/cjs/node_modules/crypto-js/md5.js +6 -0
  108. package/dist/cjs/node_modules/crypto-js/mode-cfb.js +6 -0
  109. package/dist/cjs/node_modules/crypto-js/mode-ctr-gladman.js +12 -0
  110. package/dist/cjs/node_modules/crypto-js/mode-ctr.js +6 -0
  111. package/dist/cjs/node_modules/crypto-js/mode-ecb.js +6 -0
  112. package/dist/cjs/node_modules/crypto-js/mode-ofb.js +6 -0
  113. package/dist/cjs/node_modules/crypto-js/pad-ansix923.js +6 -0
  114. package/dist/cjs/node_modules/crypto-js/pad-iso10126.js +6 -0
  115. package/dist/cjs/node_modules/crypto-js/pad-iso97971.js +6 -0
  116. package/dist/cjs/node_modules/crypto-js/pad-nopadding.js +6 -0
  117. package/dist/cjs/node_modules/crypto-js/pad-zeropadding.js +6 -0
  118. package/dist/cjs/node_modules/crypto-js/pbkdf2.js +6 -0
  119. package/dist/cjs/node_modules/crypto-js/rabbit-legacy.js +6 -0
  120. package/dist/cjs/node_modules/crypto-js/rabbit.js +6 -0
  121. package/dist/cjs/node_modules/crypto-js/rc4.js +6 -0
  122. package/dist/cjs/node_modules/crypto-js/ripemd160.js +17 -0
  123. package/dist/cjs/node_modules/crypto-js/sha1.js +6 -0
  124. package/dist/cjs/node_modules/crypto-js/sha224.js +6 -0
  125. package/dist/cjs/node_modules/crypto-js/sha256.js +6 -0
  126. package/dist/cjs/node_modules/crypto-js/sha3.js +6 -0
  127. package/dist/cjs/node_modules/crypto-js/sha384.js +6 -0
  128. package/dist/cjs/node_modules/crypto-js/sha512.js +6 -0
  129. package/dist/cjs/node_modules/crypto-js/tripledes.js +6 -0
  130. package/dist/cjs/node_modules/crypto-js/x64-core.js +6 -0
  131. package/dist/cjs/node_modules/dfa/index.js +6 -0
  132. package/dist/cjs/node_modules/emoji-regex/index.js +6 -0
  133. package/dist/cjs/node_modules/events/events.js +6 -0
  134. package/dist/cjs/node_modules/fast-deep-equal/index.js +6 -0
  135. package/dist/cjs/node_modules/fontkit/dist/browser-module.js +6 -0
  136. package/dist/cjs/node_modules/hsl-to-hex/index.js +6 -0
  137. package/dist/cjs/node_modules/hsl-to-rgb-for-reals/converter.js +6 -0
  138. package/dist/cjs/node_modules/hyphen/hyphen.js +6 -0
  139. package/dist/cjs/node_modules/hyphen/patterns/en-us.js +6 -0
  140. package/dist/cjs/node_modules/inherits/inherits_browser.js +6 -0
  141. package/dist/cjs/node_modules/jay-peg/src/index.js +6 -0
  142. package/dist/cjs/node_modules/jay-peg/src/markers/dac.js +6 -0
  143. package/dist/cjs/node_modules/jay-peg/src/markers/dht.js +6 -0
  144. package/dist/cjs/node_modules/jay-peg/src/markers/dqt.js +6 -0
  145. package/dist/cjs/node_modules/jay-peg/src/markers/dri.js +6 -0
  146. package/dist/cjs/node_modules/jay-peg/src/markers/eoi.js +6 -0
  147. package/dist/cjs/node_modules/jay-peg/src/markers/exif.js +6 -0
  148. package/dist/cjs/node_modules/jay-peg/src/markers/jfif.js +6 -0
  149. package/dist/cjs/node_modules/jay-peg/src/markers/sof.js +6 -0
  150. package/dist/cjs/node_modules/jay-peg/src/markers/soi.js +6 -0
  151. package/dist/cjs/node_modules/jay-peg/src/markers/sos.js +6 -0
  152. package/dist/cjs/node_modules/jay-peg/src/markers/utils.js +6 -0
  153. package/dist/cjs/node_modules/linebreak/dist/module.js +6 -0
  154. package/dist/cjs/node_modules/linebreak/node_modules/base64-js/lib/b64.js +6 -0
  155. package/dist/cjs/node_modules/media-engine/src/index.js +6 -0
  156. package/dist/cjs/node_modules/media-engine/src/operators.js +6 -0
  157. package/dist/cjs/node_modules/media-engine/src/parser.js +6 -0
  158. package/dist/cjs/node_modules/media-engine/src/queries.js +6 -0
  159. package/dist/cjs/node_modules/normalize-svg-path/index.js +6 -0
  160. package/dist/cjs/node_modules/object-assign/index.js +2 -2
  161. package/dist/cjs/node_modules/pako/lib/utils/common.js +6 -0
  162. package/dist/cjs/node_modules/pako/lib/zlib/adler32.js +6 -0
  163. package/dist/cjs/node_modules/pako/lib/zlib/constants.js +6 -0
  164. package/dist/cjs/node_modules/pako/lib/zlib/crc32.js +6 -0
  165. package/dist/cjs/node_modules/pako/lib/zlib/deflate.js +6 -0
  166. package/dist/cjs/node_modules/pako/lib/zlib/inffast.js +6 -0
  167. package/dist/cjs/node_modules/pako/lib/zlib/inflate.js +6 -0
  168. package/dist/cjs/node_modules/pako/lib/zlib/inftrees.js +6 -0
  169. package/dist/cjs/node_modules/pako/lib/zlib/messages.js +6 -0
  170. package/dist/cjs/node_modules/pako/lib/zlib/trees.js +6 -0
  171. package/dist/cjs/node_modules/pako/lib/zlib/zstream.js +6 -0
  172. package/dist/cjs/node_modules/parse-svg-path/index.js +6 -0
  173. package/dist/cjs/node_modules/postcss-value-parser/lib/parse.js +6 -0
  174. package/dist/cjs/node_modules/postcss-value-parser/lib/unit.js +6 -0
  175. package/dist/cjs/node_modules/prop-types/factoryWithTypeCheckers.js +1 -1
  176. package/dist/cjs/node_modules/prop-types/index.js +1 -1
  177. package/dist/cjs/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  178. package/dist/cjs/node_modules/queue/index.js +6 -0
  179. package/dist/cjs/node_modules/restructure/src/Array.js +6 -0
  180. package/dist/cjs/node_modules/restructure/src/Base.js +6 -0
  181. package/dist/cjs/node_modules/restructure/src/Bitfield.js +6 -0
  182. package/dist/cjs/node_modules/restructure/src/Buffer.js +6 -0
  183. package/dist/cjs/node_modules/restructure/src/DecodeStream.js +6 -0
  184. package/dist/cjs/node_modules/restructure/src/EncodeStream.js +6 -0
  185. package/dist/cjs/node_modules/restructure/src/LazyArray.js +6 -0
  186. package/dist/cjs/node_modules/restructure/src/Number.js +6 -0
  187. package/dist/cjs/node_modules/restructure/src/Optional.js +6 -0
  188. package/dist/cjs/node_modules/restructure/src/Pointer.js +6 -0
  189. package/dist/cjs/node_modules/restructure/src/Reserved.js +6 -0
  190. package/dist/cjs/node_modules/restructure/src/String.js +6 -0
  191. package/dist/cjs/node_modules/restructure/src/Struct.js +6 -0
  192. package/dist/cjs/node_modules/restructure/src/VersionedStruct.js +6 -0
  193. package/dist/cjs/node_modules/restructure/src/utils.js +6 -0
  194. package/dist/cjs/node_modules/safe-buffer/index.js +1 -1
  195. package/dist/cjs/node_modules/scheduler/cjs/scheduler.development.js +15 -0
  196. package/dist/cjs/node_modules/scheduler/cjs/scheduler.production.js +15 -0
  197. package/dist/cjs/node_modules/scheduler/index.js +6 -0
  198. package/dist/cjs/node_modules/simple-swizzle/index.js +6 -0
  199. package/dist/cjs/node_modules/simple-swizzle/node_modules/is-arrayish/index.js +6 -0
  200. package/dist/cjs/node_modules/svg-arc-to-cubic-bezier/modules/index.js +6 -0
  201. package/dist/cjs/node_modules/tiny-inflate/index.js +6 -0
  202. package/dist/cjs/node_modules/tslib/tslib.es6.js +6 -0
  203. package/dist/cjs/node_modules/unicode-properties/dist/module.js +6 -0
  204. package/dist/cjs/node_modules/unicode-trie/index.js +6 -0
  205. package/dist/cjs/node_modules/unicode-trie/swap.js +6 -0
  206. package/dist/cjs/node_modules/yoga-layout/dist/binaries/yoga-wasm-base64-esm.js +6 -0
  207. package/dist/cjs/node_modules/yoga-layout/dist/src/generated/YGEnums.js +6 -0
  208. package/dist/cjs/node_modules/yoga-layout/dist/src/load.js +6 -0
  209. package/dist/cjs/node_modules/yoga-layout/dist/src/wrapAssembly.js +6 -0
  210. package/dist/cjs/src/components/e-commerce/invoice/CreateInvoiceForm.js +1 -1
  211. package/dist/cjs/src/components/e-commerce/invoice/InvoicePDF.js +1 -1
  212. package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
  213. package/dist/esm/_virtual/_commonjs-dynamic-modules.js +11 -0
  214. package/dist/esm/_virtual/aes.js +9 -0
  215. package/dist/esm/_virtual/b64.js +9 -0
  216. package/dist/esm/_virtual/blowfish.js +9 -0
  217. package/dist/esm/_virtual/cipher-core.js +9 -0
  218. package/dist/esm/_virtual/clone.js +9 -0
  219. package/dist/esm/_virtual/common.js +9 -0
  220. package/dist/esm/_virtual/context.js +9 -0
  221. package/dist/esm/_virtual/core2.js +9 -0
  222. package/dist/esm/_virtual/decode.js +9 -0
  223. package/dist/esm/_virtual/deflate.js +9 -0
  224. package/dist/esm/_virtual/dictionary-browser.js +9 -0
  225. package/dist/esm/_virtual/dictionary.js +9 -0
  226. package/dist/esm/_virtual/en-us.js +9 -0
  227. package/dist/esm/_virtual/enc-base64.js +9 -0
  228. package/dist/esm/_virtual/enc-base64url.js +9 -0
  229. package/dist/esm/_virtual/enc-utf16.js +9 -0
  230. package/dist/esm/_virtual/events.js +9 -0
  231. package/dist/esm/_virtual/evpkdf.js +9 -0
  232. package/dist/esm/_virtual/format-hex.js +9 -0
  233. package/dist/esm/_virtual/hmac.js +9 -0
  234. package/dist/esm/_virtual/huffman.js +9 -0
  235. package/dist/esm/_virtual/hyphen.js +9 -0
  236. package/dist/esm/_virtual/index10.js +9 -0
  237. package/dist/esm/_virtual/index2.js +2 -2
  238. package/dist/esm/_virtual/index3.js +2 -2
  239. package/dist/esm/_virtual/index4.js +2 -2
  240. package/dist/esm/_virtual/index5.js +9 -0
  241. package/dist/esm/_virtual/index6.js +9 -0
  242. package/dist/esm/_virtual/index7.js +9 -0
  243. package/dist/esm/_virtual/index8.js +9 -0
  244. package/dist/esm/_virtual/index9.js +9 -0
  245. package/dist/esm/_virtual/inflate.js +9 -0
  246. package/dist/esm/_virtual/inherits_browser.js +9 -0
  247. package/dist/esm/_virtual/lib-typedarrays.js +9 -0
  248. package/dist/esm/_virtual/md5.js +9 -0
  249. package/dist/esm/_virtual/mode-cfb.js +9 -0
  250. package/dist/esm/_virtual/mode-ctr-gladman.js +9 -0
  251. package/dist/esm/_virtual/mode-ctr.js +9 -0
  252. package/dist/esm/_virtual/mode-ecb.js +9 -0
  253. package/dist/esm/_virtual/mode-ofb.js +9 -0
  254. package/dist/esm/_virtual/pad-ansix923.js +9 -0
  255. package/dist/esm/_virtual/pad-iso10126.js +9 -0
  256. package/dist/esm/_virtual/pad-iso97971.js +9 -0
  257. package/dist/esm/_virtual/pad-nopadding.js +9 -0
  258. package/dist/esm/_virtual/pad-zeropadding.js +9 -0
  259. package/dist/esm/_virtual/pbkdf2.js +9 -0
  260. package/dist/esm/_virtual/prefix.js +9 -0
  261. package/dist/esm/_virtual/rabbit-legacy.js +9 -0
  262. package/dist/esm/_virtual/rabbit.js +9 -0
  263. package/dist/esm/_virtual/rc4.js +9 -0
  264. package/dist/esm/_virtual/ripemd160.js +9 -0
  265. package/dist/esm/_virtual/scheduler.development.js +9 -0
  266. package/dist/esm/_virtual/scheduler.production.js +9 -0
  267. package/dist/esm/_virtual/sha1.js +9 -0
  268. package/dist/esm/_virtual/sha224.js +9 -0
  269. package/dist/esm/_virtual/sha256.js +9 -0
  270. package/dist/esm/_virtual/sha3.js +9 -0
  271. package/dist/esm/_virtual/sha384.js +9 -0
  272. package/dist/esm/_virtual/sha512.js +9 -0
  273. package/dist/esm/_virtual/streams.js +9 -0
  274. package/dist/esm/_virtual/transform.js +9 -0
  275. package/dist/esm/_virtual/trees.js +9 -0
  276. package/dist/esm/_virtual/tripledes.js +9 -0
  277. package/dist/esm/_virtual/x64-core.js +9 -0
  278. package/dist/esm/node_modules/@react-pdf/fns/lib/index.js +254 -0
  279. package/dist/esm/node_modules/@react-pdf/font/lib/index.browser.js +481 -0
  280. package/dist/esm/node_modules/@react-pdf/image/lib/index.browser.js +2217 -0
  281. package/dist/esm/node_modules/@react-pdf/layout/lib/index.js +2982 -0
  282. package/dist/esm/node_modules/@react-pdf/pdfkit/lib/pdfkit.browser.js +47429 -0
  283. package/dist/esm/node_modules/@react-pdf/png-js/lib/png-js.browser.js +12606 -0
  284. package/dist/esm/node_modules/@react-pdf/primitives/lib/index.js +37 -0
  285. package/dist/esm/node_modules/@react-pdf/reconciler/lib/index.js +16 -0
  286. package/dist/esm/node_modules/@react-pdf/reconciler/lib/reconciler-23.js +22 -0
  287. package/dist/esm/node_modules/@react-pdf/reconciler/lib/reconciler-31.js +30 -0
  288. package/dist/esm/node_modules/@react-pdf/render/lib/index.js +2081 -0
  289. package/dist/esm/node_modules/@react-pdf/renderer/lib/react-pdf.browser.js +472 -0
  290. package/dist/esm/node_modules/@react-pdf/stylesheet/lib/index.js +771 -0
  291. package/dist/esm/node_modules/@react-pdf/textkit/lib/textkit.js +2854 -0
  292. package/dist/esm/node_modules/@swc/helpers/esm/_define_property.js +15 -0
  293. package/dist/esm/node_modules/abs-svg-path/index.js +78 -0
  294. package/dist/esm/node_modules/base64-js/index.js +158 -0
  295. package/dist/esm/node_modules/bidi-js/dist/bidi.js +1008 -0
  296. package/dist/esm/node_modules/brotli/dec/bit_reader.js +132 -0
  297. package/dist/esm/node_modules/brotli/dec/context.js +255 -0
  298. package/dist/esm/node_modules/brotli/dec/decode.js +965 -0
  299. package/dist/esm/node_modules/brotli/dec/dictionary-browser.js +35 -0
  300. package/dist/esm/node_modules/brotli/dec/dictionary.bin.js +17 -0
  301. package/dist/esm/node_modules/brotli/dec/dictionary.js +54 -0
  302. package/dist/esm/node_modules/brotli/dec/huffman.js +133 -0
  303. package/dist/esm/node_modules/brotli/dec/prefix.js +70 -0
  304. package/dist/esm/node_modules/brotli/dec/streams.js +44 -0
  305. package/dist/esm/node_modules/brotli/dec/transform.js +264 -0
  306. package/dist/esm/node_modules/brotli/decompress.js +14 -0
  307. package/dist/esm/node_modules/clone/clone.js +272 -0
  308. package/dist/esm/node_modules/color-name/index.js +158 -0
  309. package/dist/esm/node_modules/color-string/index.js +259 -0
  310. package/dist/esm/node_modules/crypto-js/aes.js +251 -0
  311. package/dist/esm/node_modules/crypto-js/blowfish.js +488 -0
  312. package/dist/esm/node_modules/crypto-js/cipher-core.js +909 -0
  313. package/dist/esm/node_modules/crypto-js/core.js +820 -0
  314. package/dist/esm/node_modules/crypto-js/enc-base64.js +149 -0
  315. package/dist/esm/node_modules/crypto-js/enc-base64url.js +161 -0
  316. package/dist/esm/node_modules/crypto-js/enc-utf16.js +162 -0
  317. package/dist/esm/node_modules/crypto-js/evpkdf.js +149 -0
  318. package/dist/esm/node_modules/crypto-js/format-hex.js +80 -0
  319. package/dist/esm/node_modules/crypto-js/hmac.js +156 -0
  320. package/dist/esm/node_modules/crypto-js/index.js +61 -0
  321. package/dist/esm/node_modules/crypto-js/lib-typedarrays.js +89 -0
  322. package/dist/esm/node_modules/crypto-js/md5.js +277 -0
  323. package/dist/esm/node_modules/crypto-js/mode-cfb.js +94 -0
  324. package/dist/esm/node_modules/crypto-js/mode-ctr-gladman.js +130 -0
  325. package/dist/esm/node_modules/crypto-js/mode-ctr.js +72 -0
  326. package/dist/esm/node_modules/crypto-js/mode-ecb.js +54 -0
  327. package/dist/esm/node_modules/crypto-js/mode-ofb.js +68 -0
  328. package/dist/esm/node_modules/crypto-js/pad-ansix923.js +63 -0
  329. package/dist/esm/node_modules/crypto-js/pad-iso10126.js +58 -0
  330. package/dist/esm/node_modules/crypto-js/pad-iso97971.js +54 -0
  331. package/dist/esm/node_modules/crypto-js/pad-nopadding.js +44 -0
  332. package/dist/esm/node_modules/crypto-js/pad-zeropadding.js +61 -0
  333. package/dist/esm/node_modules/crypto-js/pbkdf2.js +160 -0
  334. package/dist/esm/node_modules/crypto-js/rabbit-legacy.js +207 -0
  335. package/dist/esm/node_modules/crypto-js/rabbit.js +209 -0
  336. package/dist/esm/node_modules/crypto-js/rc4.js +156 -0
  337. package/dist/esm/node_modules/crypto-js/ripemd160.js +280 -0
  338. package/dist/esm/node_modules/crypto-js/sha1.js +163 -0
  339. package/dist/esm/node_modules/crypto-js/sha224.js +94 -0
  340. package/dist/esm/node_modules/crypto-js/sha256.js +212 -0
  341. package/dist/esm/node_modules/crypto-js/sha3.js +340 -0
  342. package/dist/esm/node_modules/crypto-js/sha384.js +98 -0
  343. package/dist/esm/node_modules/crypto-js/sha512.js +340 -0
  344. package/dist/esm/node_modules/crypto-js/tripledes.js +796 -0
  345. package/dist/esm/node_modules/crypto-js/x64-core.js +317 -0
  346. package/dist/esm/node_modules/dfa/index.js +101 -0
  347. package/dist/esm/node_modules/emoji-regex/index.js +12 -0
  348. package/dist/esm/node_modules/events/events.js +485 -0
  349. package/dist/esm/node_modules/fast-deep-equal/index.js +56 -0
  350. package/dist/esm/node_modules/fontkit/dist/browser-module.js +13295 -0
  351. package/dist/esm/node_modules/hsl-to-hex/index.js +72 -0
  352. package/dist/esm/node_modules/hsl-to-rgb-for-reals/converter.js +66 -0
  353. package/dist/esm/node_modules/hyphen/hyphen.js +424 -0
  354. package/dist/esm/node_modules/hyphen/patterns/en-us.js +48 -0
  355. package/dist/esm/node_modules/inherits/inherits_browser.js +39 -0
  356. package/dist/esm/node_modules/jay-peg/src/index.js +68 -0
  357. package/dist/esm/node_modules/jay-peg/src/markers/dac.js +25 -0
  358. package/dist/esm/node_modules/jay-peg/src/markers/dht.js +52 -0
  359. package/dist/esm/node_modules/jay-peg/src/markers/dqt.js +26 -0
  360. package/dist/esm/node_modules/jay-peg/src/markers/dri.js +17 -0
  361. package/dist/esm/node_modules/jay-peg/src/markers/eoi.js +17 -0
  362. package/dist/esm/node_modules/jay-peg/src/markers/exif.js +327 -0
  363. package/dist/esm/node_modules/jay-peg/src/markers/jfif.js +24 -0
  364. package/dist/esm/node_modules/jay-peg/src/markers/sof.js +32 -0
  365. package/dist/esm/node_modules/jay-peg/src/markers/soi.js +11 -0
  366. package/dist/esm/node_modules/jay-peg/src/markers/sos.js +57 -0
  367. package/dist/esm/node_modules/jay-peg/src/markers/utils.js +71 -0
  368. package/dist/esm/node_modules/linebreak/dist/module.js +1340 -0
  369. package/dist/esm/node_modules/linebreak/node_modules/base64-js/lib/b64.js +137 -0
  370. package/dist/esm/node_modules/media-engine/src/index.js +26 -0
  371. package/dist/esm/node_modules/media-engine/src/operators.js +36 -0
  372. package/dist/esm/node_modules/media-engine/src/parser.js +147 -0
  373. package/dist/esm/node_modules/media-engine/src/queries.js +64 -0
  374. package/dist/esm/node_modules/normalize-svg-path/index.js +126 -0
  375. package/dist/esm/node_modules/object-assign/index.js +69 -74
  376. package/dist/esm/node_modules/pako/lib/utils/common.js +114 -0
  377. package/dist/esm/node_modules/pako/lib/zlib/adler32.js +57 -0
  378. package/dist/esm/node_modules/pako/lib/zlib/constants.js +78 -0
  379. package/dist/esm/node_modules/pako/lib/zlib/crc32.js +65 -0
  380. package/dist/esm/node_modules/pako/lib/zlib/deflate.js +1880 -0
  381. package/dist/esm/node_modules/pako/lib/zlib/inffast.js +351 -0
  382. package/dist/esm/node_modules/pako/lib/zlib/inflate.js +1557 -0
  383. package/dist/esm/node_modules/pako/lib/zlib/inftrees.js +352 -0
  384. package/dist/esm/node_modules/pako/lib/zlib/messages.js +38 -0
  385. package/dist/esm/node_modules/pako/lib/zlib/trees.js +1232 -0
  386. package/dist/esm/node_modules/pako/lib/zlib/zstream.js +57 -0
  387. package/dist/esm/node_modules/parse-svg-path/index.js +68 -0
  388. package/dist/esm/node_modules/postcss-value-parser/lib/parse.js +333 -0
  389. package/dist/esm/node_modules/postcss-value-parser/lib/unit.js +132 -0
  390. package/dist/esm/node_modules/prop-types/factoryWithTypeCheckers.js +2 -2
  391. package/dist/esm/node_modules/prop-types/index.js +1 -1
  392. package/dist/esm/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  393. package/dist/esm/node_modules/queue/index.js +211 -0
  394. package/dist/esm/node_modules/restructure/src/Array.js +112 -0
  395. package/dist/esm/node_modules/restructure/src/Base.js +25 -0
  396. package/dist/esm/node_modules/restructure/src/Bitfield.js +47 -0
  397. package/dist/esm/node_modules/restructure/src/Buffer.js +44 -0
  398. package/dist/esm/node_modules/restructure/src/DecodeStream.js +93 -0
  399. package/dist/esm/node_modules/restructure/src/EncodeStream.js +137 -0
  400. package/dist/esm/node_modules/restructure/src/LazyArray.js +82 -0
  401. package/dist/esm/node_modules/restructure/src/Number.js +80 -0
  402. package/dist/esm/node_modules/restructure/src/Optional.js +52 -0
  403. package/dist/esm/node_modules/restructure/src/Pointer.js +175 -0
  404. package/dist/esm/node_modules/restructure/src/Reserved.js +31 -0
  405. package/dist/esm/node_modules/restructure/src/String.js +161 -0
  406. package/dist/esm/node_modules/restructure/src/Struct.js +121 -0
  407. package/dist/esm/node_modules/restructure/src/VersionedStruct.js +147 -0
  408. package/dist/esm/node_modules/restructure/src/utils.js +42 -0
  409. package/dist/esm/node_modules/safe-buffer/index.js +1 -1
  410. package/dist/esm/node_modules/scheduler/cjs/scheduler.development.js +382 -0
  411. package/dist/esm/node_modules/scheduler/cjs/scheduler.production.js +359 -0
  412. package/dist/esm/node_modules/scheduler/index.js +21 -0
  413. package/dist/esm/node_modules/simple-swizzle/index.js +40 -0
  414. package/dist/esm/node_modules/simple-swizzle/node_modules/is-arrayish/index.js +17 -0
  415. package/dist/esm/node_modules/svg-arc-to-cubic-bezier/modules/index.js +189 -0
  416. package/dist/esm/node_modules/tiny-inflate/index.js +387 -0
  417. package/dist/esm/node_modules/tslib/tslib.es6.js +36 -0
  418. package/dist/esm/node_modules/unicode-properties/dist/module.js +132 -0
  419. package/dist/esm/node_modules/unicode-trie/index.js +150 -0
  420. package/dist/esm/node_modules/unicode-trie/swap.js +33 -0
  421. package/dist/esm/node_modules/yoga-layout/dist/binaries/yoga-wasm-base64-esm.js +81 -0
  422. package/dist/esm/node_modules/yoga-layout/dist/src/generated/YGEnums.js +217 -0
  423. package/dist/esm/node_modules/yoga-layout/dist/src/load.js +24 -0
  424. package/dist/esm/node_modules/yoga-layout/dist/src/wrapAssembly.js +130 -0
  425. package/dist/esm/src/components/e-commerce/invoice/CreateInvoiceForm.js +1 -2
  426. package/dist/esm/src/components/e-commerce/invoice/InvoicePDF.js +3 -3
  427. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  428. package/dist/esm/types/components/e-commerce/invoice/InvoicePDF.d.ts +1 -4
  429. package/package.json +4 -3
@@ -0,0 +1,6 @@
1
+ /*
2
+ * UMWD-Components
3
+ * @copyright Jelle Paulus
4
+ * @license MIT
5
+ */
6
+ "use strict";var e=require("../../restructure/src/EncodeStream.js"),t=require("../../restructure/src/DecodeStream.js"),r=require("../../restructure/src/Array.js"),n=require("../../restructure/src/LazyArray.js"),s=require("../../restructure/src/Bitfield.js"),i=require("../../restructure/src/Buffer.js"),a=require("../../restructure/src/Optional.js"),l=require("../../restructure/src/Reserved.js"),o=require("../../restructure/src/String.js"),u=require("../../restructure/src/Struct.js"),c=require("../../restructure/src/VersionedStruct.js"),h=require("../../restructure/src/utils.js"),f=require("../../restructure/src/Number.js"),d=require("../../restructure/src/Pointer.js"),p=require("../../@swc/helpers/esm/_define_property.js"),g=require("../../fast-deep-equal/index.js"),m=require("../../unicode-properties/dist/module.js"),y=require("../../unicode-trie/index.js"),b=require("../../dfa/index.js"),w=require("../../clone/clone.js"),v=require("../../tiny-inflate/index.js"),S=require("../../brotli/decompress.js"),x=require("../../tslib/tslib.es6.js");function C(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}function _(e){return e&&e.__esModule?e.default:e}var A={};C(A,"logErrors",()=>P),C(A,"registerFormat",()=>I),C(A,"create",()=>T),C(A,"defaultLanguage",()=>exports.defaultLanguage),C(A,"setDefaultLanguage",()=>O);let P=!1,k=[];function I(e){k.push(e)}function T(e,r){for(let n=0;n<k.length;n++){let s=k[n];if(s.probe(e)){let n=new s(new t.DecodeStream(e));return r?n.getFont(r):n}}throw new Error("Unknown font format")}function O(e="en"){exports.defaultLanguage=e}function F(e,t,r){if(r.get){let e=r.get;r.get=function(){let r=e.call(this);return Object.defineProperty(this,t,{value:r}),r}}else if("function"==typeof r.value){let e=r.value;return{get(){let r=new Map;function n(...t){let n=t.length>0?t[0]:"value";if(r.has(n))return r.get(n);let s=e.apply(this,t);return r.set(n,s),s}return Object.defineProperty(this,t,{value:n}),n}}}}exports.defaultLanguage="en";let D=new u.Struct({firstCode:f.uint16,entryCount:f.uint16,idDelta:f.int16,idRangeOffset:f.uint16}),M=new u.Struct({startCharCode:f.uint32,endCharCode:f.uint32,glyphID:f.uint32}),L=new u.Struct({startUnicodeValue:f.uint24,additionalCount:f.uint8}),G=new u.Struct({unicodeValue:f.uint24,glyphID:f.uint16}),B=new r.Array(L,f.uint32),z=new r.Array(G,f.uint32),E=new u.Struct({varSelector:f.uint24,defaultUVS:new d.Pointer(f.uint32,B,{type:"parent"}),nonDefaultUVS:new d.Pointer(f.uint32,z,{type:"parent"})}),R=new c.VersionedStruct(f.uint16,{0:{length:f.uint16,language:f.uint16,codeMap:new n.LazyArray(f.uint8,256)},2:{length:f.uint16,language:f.uint16,subHeaderKeys:new r.Array(f.uint16,256),subHeaderCount:e=>Math.max.apply(Math,e.subHeaderKeys),subHeaders:new n.LazyArray(D,"subHeaderCount"),glyphIndexArray:new n.LazyArray(f.uint16,"subHeaderCount")},4:{length:f.uint16,language:f.uint16,segCountX2:f.uint16,segCount:e=>e.segCountX2>>1,searchRange:f.uint16,entrySelector:f.uint16,rangeShift:f.uint16,endCode:new n.LazyArray(f.uint16,"segCount"),reservedPad:new l.Reserved(f.uint16),startCode:new n.LazyArray(f.uint16,"segCount"),idDelta:new n.LazyArray(f.int16,"segCount"),idRangeOffset:new n.LazyArray(f.uint16,"segCount"),glyphIndexArray:new n.LazyArray(f.uint16,e=>(e.length-e._currentOffset)/2)},6:{length:f.uint16,language:f.uint16,firstCode:f.uint16,entryCount:f.uint16,glyphIndices:new n.LazyArray(f.uint16,"entryCount")},8:{reserved:new l.Reserved(f.uint16),length:f.uint32,language:f.uint16,is32:new n.LazyArray(f.uint8,8192),nGroups:f.uint32,groups:new n.LazyArray(M,"nGroups")},10:{reserved:new l.Reserved(f.uint16),length:f.uint32,language:f.uint32,firstCode:f.uint32,entryCount:f.uint32,glyphIndices:new n.LazyArray(f.uint16,"numChars")},12:{reserved:new l.Reserved(f.uint16),length:f.uint32,language:f.uint32,nGroups:f.uint32,groups:new n.LazyArray(M,"nGroups")},13:{reserved:new l.Reserved(f.uint16),length:f.uint32,language:f.uint32,nGroups:f.uint32,groups:new n.LazyArray(M,"nGroups")},14:{length:f.uint32,numRecords:f.uint32,varSelectors:new n.LazyArray(E,"numRecords")}}),V=new u.Struct({platformID:f.uint16,encodingID:f.uint16,table:new d.Pointer(f.uint32,R,{type:"parent",lazy:!0})});var N=new u.Struct({version:f.uint16,numSubtables:f.uint16,tables:new r.Array(V,"numSubtables")}),q=new u.Struct({version:f.int32,revision:f.int32,checkSumAdjustment:f.uint32,magicNumber:f.uint32,flags:f.uint16,unitsPerEm:f.uint16,created:new r.Array(f.int32,2),modified:new r.Array(f.int32,2),xMin:f.int16,yMin:f.int16,xMax:f.int16,yMax:f.int16,macStyle:new s.Bitfield(f.uint16,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:f.uint16,fontDirectionHint:f.int16,indexToLocFormat:f.int16,glyphDataFormat:f.int16}),U=new u.Struct({version:f.int32,ascent:f.int16,descent:f.int16,lineGap:f.int16,advanceWidthMax:f.uint16,minLeftSideBearing:f.int16,minRightSideBearing:f.int16,xMaxExtent:f.int16,caretSlopeRise:f.int16,caretSlopeRun:f.int16,caretOffset:f.int16,reserved:new l.Reserved(f.int16,4),metricDataFormat:f.int16,numberOfMetrics:f.uint16});let j=new u.Struct({advance:f.uint16,bearing:f.int16});var X=new u.Struct({metrics:new n.LazyArray(j,e=>e.parent.hhea.numberOfMetrics),bearings:new n.LazyArray(f.int16,e=>e.parent.maxp.numGlyphs-e.parent.hhea.numberOfMetrics)}),H=new u.Struct({version:f.int32,numGlyphs:f.uint16,maxPoints:f.uint16,maxContours:f.uint16,maxComponentPoints:f.uint16,maxComponentContours:f.uint16,maxZones:f.uint16,maxTwilightPoints:f.uint16,maxStorage:f.uint16,maxFunctionDefs:f.uint16,maxInstructionDefs:f.uint16,maxStackElements:f.uint16,maxSizeOfInstructions:f.uint16,maxComponentElements:f.uint16,maxComponentDepth:f.uint16});function W(e,t,r=0){return 1===e&&$[r]?$[r]:Q[e][t]}const Y=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),Z={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"},J=new Map;function K(e){let t=J.get(e);if(t)return t;let r=Z[e];if(r){let t=new Map;for(let e=0;e<r.length;e++)t.set(r.charCodeAt(e),128+e);return J.set(e,t),t}if(Y.has(e)){let t=new TextDecoder(e),r=new Uint8Array(128);for(let e=0;e<128;e++)r[e]=128+e;let n=new Map,s=t.decode(r);for(let e=0;e<128;e++)n.set(s.charCodeAt(e),128+e);return J.set(e,n),n}}const Q=[["utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be","utf-16be"],["x-mac-roman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","x-mac-greek","x-mac-cyrillic","x-mac-symbol","x-mac-devanagari","x-mac-gurmukhi","x-mac-gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","iso-8859-11","Laotian","Georgian","Armenian","gbk","Tibetan","Mongolian","Geez","x-mac-ce","Vietnamese","Sindhi"],["ascii",null,"iso-8859-1"],["symbol","utf-16be","shift-jis","gb18030","big5","euc-kr","johab",null,null,null,"utf-16be"]],$={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"},ee=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}];let te=new u.Struct({platformID:f.uint16,encodingID:f.uint16,languageID:f.uint16,nameID:f.uint16,length:f.uint16,string:new d.Pointer(f.uint16,new o.String("length",e=>W(e.platformID,e.encodingID,e.languageID)),{type:"parent",relativeTo:e=>e.parent.stringOffset,allowNull:!1})}),re=new u.Struct({length:f.uint16,tag:new d.Pointer(f.uint16,new o.String("length","utf16be"),{type:"parent",relativeTo:e=>e.stringOffset})});var ne=new c.VersionedStruct(f.uint16,{0:{count:f.uint16,stringOffset:f.uint16,records:new r.Array(te,"count")},1:{count:f.uint16,stringOffset:f.uint16,records:new r.Array(te,"count"),langTagCount:f.uint16,langTags:new r.Array(re,"langTagCount")}}),se=ne;const ie=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];ne.process=function(e){var t={};for(let e of this.records){let r=ee[e.platformID][e.languageID];null==r&&null!=this.langTags&&e.languageID>=32768&&(r=this.langTags[e.languageID-32768].tag),null==r&&(r=e.platformID+"-"+e.languageID);let n=e.nameID>=256?"fontFeatures":ie[e.nameID]||e.nameID;null==t[n]&&(t[n]={});let s=t[n];e.nameID>=256&&(s=s[e.nameID]||(s[e.nameID]={})),"string"!=typeof e.string&&"string"==typeof s[r]||(s[r]=e.string)}this.records=t},ne.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let e=[];for(let t in this.records){let r=this.records[t];"fontFeatures"!==t&&(e.push({platformID:3,encodingID:1,languageID:1033,nameID:ie.indexOf(t),length:2*r.en.length,string:r.en}),"postscriptName"===t&&e.push({platformID:1,encodingID:0,languageID:0,nameID:ie.indexOf(t),length:r.en.length,string:r.en}))}this.records=e,this.count=e.length,this.stringOffset=ne.size(this,null,!1)};var ae=new c.VersionedStruct(f.uint16,{header:{xAvgCharWidth:f.int16,usWeightClass:f.uint16,usWidthClass:f.uint16,fsType:new s.Bitfield(f.uint16,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:f.int16,ySubscriptYSize:f.int16,ySubscriptXOffset:f.int16,ySubscriptYOffset:f.int16,ySuperscriptXSize:f.int16,ySuperscriptYSize:f.int16,ySuperscriptXOffset:f.int16,ySuperscriptYOffset:f.int16,yStrikeoutSize:f.int16,yStrikeoutPosition:f.int16,sFamilyClass:f.int16,panose:new r.Array(f.uint8,10),ulCharRange:new r.Array(f.uint32,4),vendorID:new o.String(4),fsSelection:new s.Bitfield(f.uint16,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:f.uint16,usLastCharIndex:f.uint16},0:{},1:{typoAscender:f.int16,typoDescender:f.int16,typoLineGap:f.int16,winAscent:f.uint16,winDescent:f.uint16,codePageRange:new r.Array(f.uint32,2)},2:{typoAscender:f.int16,typoDescender:f.int16,typoLineGap:f.int16,winAscent:f.uint16,winDescent:f.uint16,codePageRange:new r.Array(f.uint32,2),xHeight:f.int16,capHeight:f.int16,defaultChar:f.uint16,breakChar:f.uint16,maxContent:f.uint16},5:{typoAscender:f.int16,typoDescender:f.int16,typoLineGap:f.int16,winAscent:f.uint16,winDescent:f.uint16,codePageRange:new r.Array(f.uint32,2),xHeight:f.int16,capHeight:f.int16,defaultChar:f.uint16,breakChar:f.uint16,maxContent:f.uint16,usLowerOpticalPointSize:f.uint16,usUpperOpticalPointSize:f.uint16}});let le=ae.versions;le[3]=le[4]=le[2];var oe=ae,ue=new c.VersionedStruct(f.fixed32,{header:{italicAngle:f.fixed32,underlinePosition:f.int16,underlineThickness:f.int16,isFixedPitch:f.uint32,minMemType42:f.uint32,maxMemType42:f.uint32,minMemType1:f.uint32,maxMemType1:f.uint32},1:{},2:{numberOfGlyphs:f.uint16,glyphNameIndex:new r.Array(f.uint16,"numberOfGlyphs"),names:new r.Array(new o.String(f.uint8))},2.5:{numberOfGlyphs:f.uint16,offsets:new r.Array(f.uint8,"numberOfGlyphs")},3:{},4:{map:new r.Array(f.uint32,e=>e.parent.maxp.numGlyphs)}}),ce=new u.Struct({controlValues:new r.Array(f.int16)}),he=new u.Struct({instructions:new r.Array(f.uint8)});let fe=new c.VersionedStruct("head.indexToLocFormat",{0:{offsets:new r.Array(f.uint16)},1:{offsets:new r.Array(f.uint32)}});fe.process=function(){if(0===this.version&&!this._processed){for(let e=0;e<this.offsets.length;e++)this.offsets[e]<<=1;this._processed=!0}},fe.preEncode=function(){if(0===this.version&&!1!==this._processed){for(let e=0;e<this.offsets.length;e++)this.offsets[e]>>>=1;this._processed=!1}};var de=fe,pe=new u.Struct({controlValueProgram:new r.Array(f.uint8)}),ge=new r.Array(new i.BufferT);class me{getCFFVersion(e){for(;e&&!e.hdrSize;)e=e.parent;return e?e.version:-1}decode(e,t){let r=this.getCFFVersion(t)>=2?e.readUInt32BE():e.readUInt16BE();if(0===r)return[];let n,s=e.readUInt8();if(1===s)n=f.uint8;else if(2===s)n=f.uint16;else if(3===s)n=f.uint24;else{if(4!==s)throw new Error(`Bad offset size in CFFIndex: ${s} ${e.pos}`);n=f.uint32}let i=[],a=e.pos+(r+1)*s-1,l=n.decode(e);for(let s=0;s<r;s++){let r=n.decode(e);if(null!=this.type){let n=e.pos;e.pos=a+l,t.length=r-l,i.push(this.type.decode(e,t)),e.pos=n}else i.push({offset:a+l,length:r-l});l=r}return e.pos=a+l,i}size(e,t){let r=2;if(0===e.length)return r;let n,s=this.type||new i.BufferT,a=1;for(let r=0;r<e.length;r++){let n=e[r];a+=s.size(n,t)}if(a<=255)n=f.uint8;else if(a<=65535)n=f.uint16;else if(a<=16777215)n=f.uint24;else{if(!(a<=4294967295))throw new Error("Bad offset in CFFIndex");n=f.uint32}return r+=1+n.size()*(e.length+1),r+=a-1,r}encode(e,t,r){if(e.writeUInt16BE(t.length),0===t.length)return;let n,s=this.type||new i.BufferT,a=[],l=1;for(let e of t){let t=s.size(e,r);a.push(t),l+=t}if(l<=255)n=f.uint8;else if(l<=65535)n=f.uint16;else if(l<=16777215)n=f.uint24;else{if(!(l<=4294967295))throw new Error("Bad offset in CFFIndex");n=f.uint32}e.writeUInt8(n.size()),l=1,n.encode(e,l);for(let t of a)l+=t,n.encode(e,l);for(let n of t)s.encode(e,n,r)}constructor(e){this.type=e}}const ye=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],be={".":10,E:11,"E-":12,"-":14};class we{static decode(e,t){if(32<=t&&t<=246)return t-139;if(247<=t&&t<=250)return 256*(t-247)+e.readUInt8()+108;if(251<=t&&t<=254)return 256*-(t-251)-e.readUInt8()-108;if(28===t)return e.readInt16BE();if(29===t)return e.readInt32BE();if(30===t){let t="";for(;;){let r=e.readUInt8(),n=r>>4;if(15===n)break;t+=ye[n];let s=15&r;if(15===s)break;t+=ye[s]}return parseFloat(t)}return null}static size(e){if(e.forceLarge&&(e=32768),(0|e)!==e){let t=""+e;return 1+Math.ceil((t.length+1)/2)}return-107<=e&&e<=107?1:108<=e&&e<=1131||-1131<=e&&e<=-108?2:-32768<=e&&e<=32767?3:5}static encode(e,t){let r=Number(t);if(t.forceLarge)return e.writeUInt8(29),e.writeInt32BE(r);if((0|r)===r)return-107<=r&&r<=107?e.writeUInt8(r+139):108<=r&&r<=1131?(r-=108,e.writeUInt8(247+(r>>8)),e.writeUInt8(255&r)):-1131<=r&&r<=-108?(r=-r-108,e.writeUInt8(251+(r>>8)),e.writeUInt8(255&r)):-32768<=r&&r<=32767?(e.writeUInt8(28),e.writeInt16BE(r)):(e.writeUInt8(29),e.writeInt32BE(r));{e.writeUInt8(30);let t=""+r;for(let r=0;r<t.length;r+=2){let s=t[r],i=be[s]||+s;if(r===t.length-1)var n=15;else{let e=t[r+1];n=be[e]||+e}e.writeUInt8(i<<4|15&n)}if(15!==n)return e.writeUInt8(240)}}}class ve{decodeOperands(e,t,r,n){if(Array.isArray(e))return n.map((n,s)=>this.decodeOperands(e[s],t,r,[n]));if(null!=e.decode)return e.decode(t,r,n);switch(e){case"number":case"offset":case"sid":return n[0];case"boolean":return!!n[0];default:return n}}encodeOperands(e,t,r,n){return Array.isArray(e)?n.map((n,s)=>this.encodeOperands(e[s],t,r,n)[0]):null!=e.encode?e.encode(t,n,r):"number"==typeof n?[n]:"boolean"==typeof n?[+n]:Array.isArray(n)?n:[n]}decode(e,t){let r=e.pos+t.length,n={},s=[];Object.defineProperties(n,{parent:{value:t},_startOffset:{value:e.pos}});for(let e in this.fields){let t=this.fields[e];n[t[1]]=t[3]}for(;e.pos<r;){let t=e.readUInt8();if(t<28){12===t&&(t=t<<8|e.readUInt8());let r=this.fields[t];if(!r)throw new Error(`Unknown operator ${t}`);let i=this.decodeOperands(r[2],e,n,s);null!=i&&(i instanceof h.PropertyDescriptor?Object.defineProperty(n,r[1],i):n[r[1]]=i),s=[]}else s.push(we.decode(e,t))}return n}size(e,t,r=!0){let n={parent:t,val:e,pointerSize:0,startOffset:t.startOffset||0},s=0;for(let t in this.fields){let r=this.fields[t],i=e[r[1]];if(null==i||g.default(i,r[3]))continue;let a=this.encodeOperands(r[2],null,n,i);for(let e of a)s+=we.size(e);s+=(Array.isArray(r[0])?r[0]:[r[0]]).length}return r&&(s+=n.pointerSize),s}encode(e,t,r){let n={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};n.pointerOffset=e.pos+this.size(t,n,!1);for(let r of this.ops){let s=t[r[1]];if(null==s||g.default(s,r[3]))continue;let i=this.encodeOperands(r[2],e,n,s);for(let t of i)we.encode(e,t);let a=Array.isArray(r[0])?r[0]:[r[0]];for(let t of a)e.writeUInt8(t)}let s=0;for(;s<n.pointers.length;){let t=n.pointers[s++];t.type.encode(e,t.val,t.parent)}}constructor(e=[]){this.ops=e,this.fields={};for(let t of e){let e=Array.isArray(t[0])?t[0][0]<<8|t[0][1]:t[0];this.fields[e]=t}}}class Se extends d.Pointer{decode(e,t,r){return this.offsetType={decode:()=>r[0]},super.decode(e,t,r)}encode(e,t,r){if(!e)return this.offsetType={size:()=>0},this.size(t,r),[new xe(0)];let n=null;return this.offsetType={encode:(e,t)=>n=t},super.encode(e,t,r),[new xe(n)]}constructor(e,t={}){null==t.type&&(t.type="global"),super(null,e,t)}}class xe{valueOf(){return this.val}constructor(e){this.val=e,this.forceLarge=!0}}var Ce=new ve([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",class{static decode(e,t,r){let n=r.pop();for(;r.length>n;)r.pop()}},null],[19,"Subrs",new Se(new me,{type:"local"}),null]]),_e=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];let Ae=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],Pe=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],ke=new u.Struct({reserved:new l.Reserved(f.uint16),reqFeatureIndex:f.uint16,featureCount:f.uint16,featureIndexes:new r.Array(f.uint16,"featureCount")}),Ie=new u.Struct({tag:new o.String(4),langSys:new d.Pointer(f.uint16,ke,{type:"parent"})}),Te=new u.Struct({defaultLangSys:new d.Pointer(f.uint16,ke),count:f.uint16,langSysRecords:new r.Array(Ie,"count")}),Oe=new u.Struct({tag:new o.String(4),script:new d.Pointer(f.uint16,Te,{type:"parent"})}),Fe=new r.Array(Oe,f.uint16),De=new u.Struct({version:f.uint16,nameID:f.uint16}),Me=new u.Struct({featureParams:new d.Pointer(f.uint16,De),lookupCount:f.uint16,lookupListIndexes:new r.Array(f.uint16,"lookupCount")}),Le=new u.Struct({tag:new o.String(4),feature:new d.Pointer(f.uint16,Me,{type:"parent"})}),Ge=new r.Array(Le,f.uint16),Be=new u.Struct({markAttachmentType:f.uint8,flags:new s.Bitfield(f.uint8,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function ze(e){let t=new u.Struct({lookupType:f.uint16,flags:Be,subTableCount:f.uint16,subTables:new r.Array(new d.Pointer(f.uint16,e),"subTableCount"),markFilteringSet:new a.Optional(f.uint16,e=>e.flags.flags.useMarkFilteringSet)});return new n.LazyArray(new d.Pointer(f.uint16,t),f.uint16)}let Ee=new u.Struct({start:f.uint16,end:f.uint16,startCoverageIndex:f.uint16}),Re=new c.VersionedStruct(f.uint16,{1:{glyphCount:f.uint16,glyphs:new r.Array(f.uint16,"glyphCount")},2:{rangeCount:f.uint16,rangeRecords:new r.Array(Ee,"rangeCount")}}),Ve=new u.Struct({start:f.uint16,end:f.uint16,class:f.uint16}),Ne=new c.VersionedStruct(f.uint16,{1:{startGlyph:f.uint16,glyphCount:f.uint16,classValueArray:new r.Array(f.uint16,"glyphCount")},2:{classRangeCount:f.uint16,classRangeRecord:new r.Array(Ve,"classRangeCount")}}),qe=new u.Struct({a:f.uint16,b:f.uint16,deltaFormat:f.uint16}),Ue=new u.Struct({sequenceIndex:f.uint16,lookupListIndex:f.uint16}),je=new u.Struct({glyphCount:f.uint16,lookupCount:f.uint16,input:new r.Array(f.uint16,e=>e.glyphCount-1),lookupRecords:new r.Array(Ue,"lookupCount")}),Xe=new r.Array(new d.Pointer(f.uint16,je),f.uint16),He=new u.Struct({glyphCount:f.uint16,lookupCount:f.uint16,classes:new r.Array(f.uint16,e=>e.glyphCount-1),lookupRecords:new r.Array(Ue,"lookupCount")}),We=new r.Array(new d.Pointer(f.uint16,He),f.uint16),Ye=new c.VersionedStruct(f.uint16,{1:{coverage:new d.Pointer(f.uint16,Re),ruleSetCount:f.uint16,ruleSets:new r.Array(new d.Pointer(f.uint16,Xe),"ruleSetCount")},2:{coverage:new d.Pointer(f.uint16,Re),classDef:new d.Pointer(f.uint16,Ne),classSetCnt:f.uint16,classSet:new r.Array(new d.Pointer(f.uint16,We),"classSetCnt")},3:{glyphCount:f.uint16,lookupCount:f.uint16,coverages:new r.Array(new d.Pointer(f.uint16,Re),"glyphCount"),lookupRecords:new r.Array(Ue,"lookupCount")}}),Ze=new u.Struct({backtrackGlyphCount:f.uint16,backtrack:new r.Array(f.uint16,"backtrackGlyphCount"),inputGlyphCount:f.uint16,input:new r.Array(f.uint16,e=>e.inputGlyphCount-1),lookaheadGlyphCount:f.uint16,lookahead:new r.Array(f.uint16,"lookaheadGlyphCount"),lookupCount:f.uint16,lookupRecords:new r.Array(Ue,"lookupCount")}),Je=new r.Array(new d.Pointer(f.uint16,Ze),f.uint16),Ke=new c.VersionedStruct(f.uint16,{1:{coverage:new d.Pointer(f.uint16,Re),chainCount:f.uint16,chainRuleSets:new r.Array(new d.Pointer(f.uint16,Je),"chainCount")},2:{coverage:new d.Pointer(f.uint16,Re),backtrackClassDef:new d.Pointer(f.uint16,Ne),inputClassDef:new d.Pointer(f.uint16,Ne),lookaheadClassDef:new d.Pointer(f.uint16,Ne),chainCount:f.uint16,chainClassSet:new r.Array(new d.Pointer(f.uint16,Je),"chainCount")},3:{backtrackGlyphCount:f.uint16,backtrackCoverage:new r.Array(new d.Pointer(f.uint16,Re),"backtrackGlyphCount"),inputGlyphCount:f.uint16,inputCoverage:new r.Array(new d.Pointer(f.uint16,Re),"inputGlyphCount"),lookaheadGlyphCount:f.uint16,lookaheadCoverage:new r.Array(new d.Pointer(f.uint16,Re),"lookaheadGlyphCount"),lookupCount:f.uint16,lookupRecords:new r.Array(Ue,"lookupCount")}}),Qe=new f.Fixed(16,"BE",14),$e=new u.Struct({startCoord:Qe,peakCoord:Qe,endCoord:Qe}),et=new u.Struct({axisCount:f.uint16,regionCount:f.uint16,variationRegions:new r.Array(new r.Array($e,"axisCount"),"regionCount")}),tt=new u.Struct({shortDeltas:new r.Array(f.int16,e=>e.parent.shortDeltaCount),regionDeltas:new r.Array(f.int8,e=>e.parent.regionIndexCount-e.parent.shortDeltaCount),deltas:e=>e.shortDeltas.concat(e.regionDeltas)}),rt=new u.Struct({itemCount:f.uint16,shortDeltaCount:f.uint16,regionIndexCount:f.uint16,regionIndexes:new r.Array(f.uint16,"regionIndexCount"),deltaSets:new r.Array(tt,"itemCount")}),nt=new u.Struct({format:f.uint16,variationRegionList:new d.Pointer(f.uint32,et),variationDataCount:f.uint16,itemVariationData:new r.Array(new d.Pointer(f.uint32,rt),"variationDataCount")}),st=new c.VersionedStruct(f.uint16,{1:{axisIndex:f.uint16,axisIndex:f.uint16,filterRangeMinValue:Qe,filterRangeMaxValue:Qe}}),it=new u.Struct({conditionCount:f.uint16,conditionTable:new r.Array(new d.Pointer(f.uint32,st),"conditionCount")}),at=new u.Struct({featureIndex:f.uint16,alternateFeatureTable:new d.Pointer(f.uint32,Me,{type:"parent"})}),lt=new u.Struct({version:f.fixed32,substitutionCount:f.uint16,substitutions:new r.Array(at,"substitutionCount")}),ot=new u.Struct({conditionSet:new d.Pointer(f.uint32,it,{type:"parent"}),featureTableSubstitution:new d.Pointer(f.uint32,lt,{type:"parent"})}),ut=new u.Struct({majorVersion:f.uint16,minorVersion:f.uint16,featureVariationRecordCount:f.uint32,featureVariationRecords:new r.Array(ot,"featureVariationRecordCount")});class ct{decode(e,t,r){return this.predefinedOps[r[0]]?this.predefinedOps[r[0]]:this.type.decode(e,t,r)}size(e,t){return this.type.size(e,t)}encode(e,t,r){let n=this.predefinedOps.indexOf(t);return-1!==n?n:this.type.encode(e,t,r)}constructor(e,t){this.predefinedOps=e,this.type=t}}class ht extends f.Number{decode(e){return 127&f.uint8.decode(e)}constructor(){super("UInt8")}}let ft=new u.Struct({first:f.uint16,nLeft:f.uint8}),dt=new u.Struct({first:f.uint16,nLeft:f.uint16}),pt=new ct([Ae,["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"]],new Se(new c.VersionedStruct(new ht,{0:{nCodes:f.uint8,codes:new r.Array(f.uint8,"nCodes")},1:{nRanges:f.uint8,ranges:new r.Array(ft,"nRanges")}}),{lazy:!0}));class gt extends r.Array{decode(e,t){let r=h.resolveLength(this.length,e,t),n=0,s=[];for(;n<r;){let r=this.type.decode(e,t);r.offset=n,n+=r.nLeft+1,s.push(r)}return s}}let mt=new ct([Pe,[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"]],new Se(new c.VersionedStruct(f.uint8,{0:{glyphs:new r.Array(f.uint16,e=>e.parent.CharStrings.length-1)},1:{ranges:new gt(ft,e=>e.parent.CharStrings.length-1)},2:{ranges:new gt(dt,e=>e.parent.CharStrings.length-1)}}),{lazy:!0})),yt=new u.Struct({first:f.uint16,fd:f.uint8}),bt=new u.Struct({first:f.uint32,fd:f.uint16}),wt=new c.VersionedStruct(f.uint8,{0:{fds:new r.Array(f.uint8,e=>e.parent.CharStrings.length)},3:{nRanges:f.uint16,ranges:new r.Array(yt,"nRanges"),sentinel:f.uint16},4:{nRanges:f.uint32,ranges:new r.Array(bt,"nRanges"),sentinel:f.uint32}}),vt=new Se(Ce);class St{decode(e,t,r){return t.length=r[0],vt.decode(e,t,[r[1]])}size(e,t){return[Ce.size(e,t,!1),vt.size(e,t)[0]]}encode(e,t,r){return[Ce.size(t,r,!1),vt.encode(e,t,r)[0]]}}let xt=new ve([[18,"Private",new St,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),Ct=new ve([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",mt,Pe],[16,"Encoding",pt,Ae],[17,"CharStrings",new Se(new me),null],[18,"Private",new St,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new Se(wt),null],[[12,36],"FDArray",new Se(new me(xt)),null],[[12,38],"FontName","sid",null]]),_t=new u.Struct({length:f.uint16,itemVariationStore:nt}),At=new ve([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new Se(new me),null],[[12,37],"FDSelect",new Se(wt),null],[[12,36],"FDArray",new Se(new me(xt)),null],[24,"vstore",new Se(_t),null],[25,"maxstack","number",193]]);var Pt=new c.VersionedStruct(f.fixed16,{1:{hdrSize:f.uint8,offSize:f.uint8,nameIndex:new me(new o.String("length")),topDictIndex:new me(Ct),stringIndex:new me(new o.String("length")),globalSubrIndex:new me},2:{hdrSize:f.uint8,length:f.uint16,topDict:At,globalSubrIndex:new me}});class kt{static decode(e){return new kt(e)}decode(){this.stream.pos;let e=Pt.decode(this.stream);for(let t in e){let r=e[t];this[t]=r}if(this.version<2){if(1!==this.topDictIndex.length)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=null!=this.topDict.ROS,this}string(e){return this.version>=2?null:e<_e.length?_e[e]:this.stringIndex[e-_e.length]}get postscriptName(){return this.version<2?this.nameIndex[0]:null}get fullName(){return this.string(this.topDict.FullName)}get familyName(){return this.string(this.topDict.FamilyName)}getCharString(e){return this.stream.pos=this.topDict.CharStrings[e].offset,this.stream.readBuffer(this.topDict.CharStrings[e].length)}getGlyphName(e){if(this.version>=2)return null;if(this.isCIDFont)return null;let{charset:t}=this.topDict;if(Array.isArray(t))return t[e];if(0===e)return".notdef";switch(e-=1,t.version){case 0:return this.string(t.glyphs[e]);case 1:case 2:for(let r=0;r<t.ranges.length;r++){let n=t.ranges[r];if(n.offset<=e&&e<=n.offset+n.nLeft)return this.string(n.first+(e-n.offset))}}return null}fdForGlyph(e){if(!this.topDict.FDSelect)return null;switch(this.topDict.FDSelect.version){case 0:return this.topDict.FDSelect.fds[e];case 3:case 4:let{ranges:t}=this.topDict.FDSelect,r=0,n=t.length-1;for(;r<=n;){let s=r+n>>1;if(e<t[s].first)n=s-1;else{if(!(s<n&&e>=t[s+1].first))return t[s].fd;r=s+1}}default:throw new Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`)}}privateDictForGlyph(e){if(this.topDict.FDSelect){let t=this.fdForGlyph(e);return this.topDict.FDArray[t]?this.topDict.FDArray[t].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private}constructor(e){this.stream=e,this.decode()}}var It=kt;let Tt=new u.Struct({glyphIndex:f.uint16,vertOriginY:f.int16});var Ot=new u.Struct({majorVersion:f.uint16,minorVersion:f.uint16,defaultVertOriginY:f.int16,numVertOriginYMetrics:f.uint16,metrics:new r.Array(Tt,"numVertOriginYMetrics")});let Ft=new u.Struct({height:f.uint8,width:f.uint8,horiBearingX:f.int8,horiBearingY:f.int8,horiAdvance:f.uint8,vertBearingX:f.int8,vertBearingY:f.int8,vertAdvance:f.uint8}),Dt=new u.Struct({height:f.uint8,width:f.uint8,bearingX:f.int8,bearingY:f.int8,advance:f.uint8}),Mt=new u.Struct({glyph:f.uint16,xOffset:f.int8,yOffset:f.int8});class Lt{}class Gt{}new c.VersionedStruct("version",{1:{metrics:Dt,data:Lt},2:{metrics:Dt,data:Gt},5:{data:Gt},6:{metrics:Ft,data:Lt},7:{metrics:Ft,data:Gt},8:{metrics:Dt,pad:new l.Reserved(f.uint8),numComponents:f.uint16,components:new r.Array(Mt,"numComponents")},9:{metrics:Ft,pad:new l.Reserved(f.uint8),numComponents:f.uint16,components:new r.Array(Mt,"numComponents")},17:{metrics:Dt,dataLen:f.uint32,data:new i.BufferT("dataLen")},18:{metrics:Ft,dataLen:f.uint32,data:new i.BufferT("dataLen")},19:{dataLen:f.uint32,data:new i.BufferT("dataLen")}});let Bt=new u.Struct({ascender:f.int8,descender:f.int8,widthMax:f.uint8,caretSlopeNumerator:f.int8,caretSlopeDenominator:f.int8,caretOffset:f.int8,minOriginSB:f.int8,minAdvanceSB:f.int8,maxBeforeBL:f.int8,minAfterBL:f.int8,pad:new l.Reserved(f.int8,2)}),zt=new u.Struct({glyphCode:f.uint16,offset:f.uint16}),Et=new c.VersionedStruct(f.uint16,{header:{imageFormat:f.uint16,imageDataOffset:f.uint32},1:{offsetArray:new r.Array(f.uint32,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},2:{imageSize:f.uint32,bigMetrics:Ft},3:{offsetArray:new r.Array(f.uint16,e=>e.parent.lastGlyphIndex-e.parent.firstGlyphIndex+1)},4:{numGlyphs:f.uint32,glyphArray:new r.Array(zt,e=>e.numGlyphs+1)},5:{imageSize:f.uint32,bigMetrics:Ft,numGlyphs:f.uint32,glyphCodeArray:new r.Array(f.uint16,"numGlyphs")}}),Rt=new u.Struct({firstGlyphIndex:f.uint16,lastGlyphIndex:f.uint16,subtable:new d.Pointer(f.uint32,Et)}),Vt=new u.Struct({indexSubTableArray:new d.Pointer(f.uint32,new r.Array(Rt,1),{type:"parent"}),indexTablesSize:f.uint32,numberOfIndexSubTables:f.uint32,colorRef:f.uint32,hori:Bt,vert:Bt,startGlyphIndex:f.uint16,endGlyphIndex:f.uint16,ppemX:f.uint8,ppemY:f.uint8,bitDepth:f.uint8,flags:new s.Bitfield(f.uint8,["horizontal","vertical"])});var Nt=new u.Struct({version:f.uint32,numSizes:f.uint32,sizes:new r.Array(Vt,"numSizes")});let qt=new u.Struct({ppem:f.uint16,resolution:f.uint16,imageOffsets:new r.Array(new d.Pointer(f.uint32,"void"),e=>e.parent.parent.maxp.numGlyphs+1)});var Ut=new u.Struct({version:f.uint16,flags:new s.Bitfield(f.uint16,["renderOutlines"]),numImgTables:f.uint32,imageTables:new r.Array(new d.Pointer(f.uint32,qt),"numImgTables")});let jt=new u.Struct({gid:f.uint16,paletteIndex:f.uint16}),Xt=new u.Struct({gid:f.uint16,firstLayerIndex:f.uint16,numLayers:f.uint16});var Ht=new u.Struct({version:f.uint16,numBaseGlyphRecords:f.uint16,baseGlyphRecord:new d.Pointer(f.uint32,new r.Array(Xt,"numBaseGlyphRecords")),layerRecords:new d.Pointer(f.uint32,new r.Array(jt,"numLayerRecords"),{lazy:!0}),numLayerRecords:f.uint16});let Wt=new u.Struct({blue:f.uint8,green:f.uint8,red:f.uint8,alpha:f.uint8});var Yt=new c.VersionedStruct(f.uint16,{header:{numPaletteEntries:f.uint16,numPalettes:f.uint16,numColorRecords:f.uint16,colorRecords:new d.Pointer(f.uint32,new r.Array(Wt,"numColorRecords")),colorRecordIndices:new r.Array(f.uint16,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new d.Pointer(f.uint32,new r.Array(f.uint32,"numPalettes")),offsetPaletteLabelArray:new d.Pointer(f.uint32,new r.Array(f.uint16,"numPalettes")),offsetPaletteEntryLabelArray:new d.Pointer(f.uint32,new r.Array(f.uint16,"numPaletteEntries"))}});let Zt=new c.VersionedStruct(f.uint16,{1:{coordinate:f.int16},2:{coordinate:f.int16,referenceGlyph:f.uint16,baseCoordPoint:f.uint16},3:{coordinate:f.int16,deviceTable:new d.Pointer(f.uint16,qe)}}),Jt=new u.Struct({defaultIndex:f.uint16,baseCoordCount:f.uint16,baseCoords:new r.Array(new d.Pointer(f.uint16,Zt),"baseCoordCount")}),Kt=new u.Struct({tag:new o.String(4),minCoord:new d.Pointer(f.uint16,Zt,{type:"parent"}),maxCoord:new d.Pointer(f.uint16,Zt,{type:"parent"})}),Qt=new u.Struct({minCoord:new d.Pointer(f.uint16,Zt),maxCoord:new d.Pointer(f.uint16,Zt),featMinMaxCount:f.uint16,featMinMaxRecords:new r.Array(Kt,"featMinMaxCount")}),$t=new u.Struct({tag:new o.String(4),minMax:new d.Pointer(f.uint16,Qt,{type:"parent"})}),er=new u.Struct({baseValues:new d.Pointer(f.uint16,Jt),defaultMinMax:new d.Pointer(f.uint16,Qt),baseLangSysCount:f.uint16,baseLangSysRecords:new r.Array($t,"baseLangSysCount")}),tr=new u.Struct({tag:new o.String(4),script:new d.Pointer(f.uint16,er,{type:"parent"})}),rr=new r.Array(tr,f.uint16),nr=new r.Array(new o.String(4),f.uint16),sr=new u.Struct({baseTagList:new d.Pointer(f.uint16,nr),baseScriptList:new d.Pointer(f.uint16,rr)});var ir=new c.VersionedStruct(f.uint32,{header:{horizAxis:new d.Pointer(f.uint16,sr),vertAxis:new d.Pointer(f.uint16,sr)},65536:{},65537:{itemVariationStore:new d.Pointer(f.uint32,nt)}});let ar=new r.Array(f.uint16,f.uint16),lr=new u.Struct({coverage:new d.Pointer(f.uint16,Re),glyphCount:f.uint16,attachPoints:new r.Array(new d.Pointer(f.uint16,ar),"glyphCount")}),or=new c.VersionedStruct(f.uint16,{1:{coordinate:f.int16},2:{caretValuePoint:f.uint16},3:{coordinate:f.int16,deviceTable:new d.Pointer(f.uint16,qe)}}),ur=new r.Array(new d.Pointer(f.uint16,or),f.uint16),cr=new u.Struct({coverage:new d.Pointer(f.uint16,Re),ligGlyphCount:f.uint16,ligGlyphs:new r.Array(new d.Pointer(f.uint16,ur),"ligGlyphCount")}),hr=new u.Struct({markSetTableFormat:f.uint16,markSetCount:f.uint16,coverage:new r.Array(new d.Pointer(f.uint32,Re),"markSetCount")});var fr=new c.VersionedStruct(f.uint32,{header:{glyphClassDef:new d.Pointer(f.uint16,Ne),attachList:new d.Pointer(f.uint16,lr),ligCaretList:new d.Pointer(f.uint16,cr),markAttachClassDef:new d.Pointer(f.uint16,Ne)},65536:{},65538:{markGlyphSetsDef:new d.Pointer(f.uint16,hr)},65539:{markGlyphSetsDef:new d.Pointer(f.uint16,hr),itemVariationStore:new d.Pointer(f.uint32,nt)}});let dr=new s.Bitfield(f.uint16,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),pr={xPlacement:f.int16,yPlacement:f.int16,xAdvance:f.int16,yAdvance:f.int16,xPlaDevice:new d.Pointer(f.uint16,qe,{type:"global",relativeTo:e=>e.rel}),yPlaDevice:new d.Pointer(f.uint16,qe,{type:"global",relativeTo:e=>e.rel}),xAdvDevice:new d.Pointer(f.uint16,qe,{type:"global",relativeTo:e=>e.rel}),yAdvDevice:new d.Pointer(f.uint16,qe,{type:"global",relativeTo:e=>e.rel})};class gr{buildStruct(e){let t=e;for(;!t[this.key]&&t.parent;)t=t.parent;if(!t[this.key])return;let r={rel:()=>t._startOffset},n=t[this.key];for(let e in n)n[e]&&(r[e]=pr[e]);return new u.Struct(r)}size(e,t){return this.buildStruct(t).size(e,t)}decode(e,t){let r=this.buildStruct(t).decode(e,t);return delete r.rel,r}constructor(e="valueFormat"){this.key=e}}let mr=new u.Struct({secondGlyph:f.uint16,value1:new gr("valueFormat1"),value2:new gr("valueFormat2")}),yr=new r.Array(mr,f.uint16),br=new u.Struct({value1:new gr("valueFormat1"),value2:new gr("valueFormat2")}),wr=new c.VersionedStruct(f.uint16,{1:{xCoordinate:f.int16,yCoordinate:f.int16},2:{xCoordinate:f.int16,yCoordinate:f.int16,anchorPoint:f.uint16},3:{xCoordinate:f.int16,yCoordinate:f.int16,xDeviceTable:new d.Pointer(f.uint16,qe),yDeviceTable:new d.Pointer(f.uint16,qe)}}),vr=new u.Struct({entryAnchor:new d.Pointer(f.uint16,wr,{type:"parent"}),exitAnchor:new d.Pointer(f.uint16,wr,{type:"parent"})}),Sr=new u.Struct({class:f.uint16,markAnchor:new d.Pointer(f.uint16,wr,{type:"parent"})}),xr=new r.Array(Sr,f.uint16),Cr=new r.Array(new d.Pointer(f.uint16,wr),e=>e.parent.classCount),_r=new r.Array(Cr,f.uint16),Ar=new r.Array(new d.Pointer(f.uint16,wr),e=>e.parent.parent.classCount),Pr=new r.Array(Ar,f.uint16),kr=new r.Array(new d.Pointer(f.uint16,Pr),f.uint16),Ir=new c.VersionedStruct("lookupType",{1:new c.VersionedStruct(f.uint16,{1:{coverage:new d.Pointer(f.uint16,Re),valueFormat:dr,value:new gr},2:{coverage:new d.Pointer(f.uint16,Re),valueFormat:dr,valueCount:f.uint16,values:new n.LazyArray(new gr,"valueCount")}}),2:new c.VersionedStruct(f.uint16,{1:{coverage:new d.Pointer(f.uint16,Re),valueFormat1:dr,valueFormat2:dr,pairSetCount:f.uint16,pairSets:new n.LazyArray(new d.Pointer(f.uint16,yr),"pairSetCount")},2:{coverage:new d.Pointer(f.uint16,Re),valueFormat1:dr,valueFormat2:dr,classDef1:new d.Pointer(f.uint16,Ne),classDef2:new d.Pointer(f.uint16,Ne),class1Count:f.uint16,class2Count:f.uint16,classRecords:new n.LazyArray(new n.LazyArray(br,"class2Count"),"class1Count")}}),3:{format:f.uint16,coverage:new d.Pointer(f.uint16,Re),entryExitCount:f.uint16,entryExitRecords:new r.Array(vr,"entryExitCount")},4:{format:f.uint16,markCoverage:new d.Pointer(f.uint16,Re),baseCoverage:new d.Pointer(f.uint16,Re),classCount:f.uint16,markArray:new d.Pointer(f.uint16,xr),baseArray:new d.Pointer(f.uint16,_r)},5:{format:f.uint16,markCoverage:new d.Pointer(f.uint16,Re),ligatureCoverage:new d.Pointer(f.uint16,Re),classCount:f.uint16,markArray:new d.Pointer(f.uint16,xr),ligatureArray:new d.Pointer(f.uint16,kr)},6:{format:f.uint16,mark1Coverage:new d.Pointer(f.uint16,Re),mark2Coverage:new d.Pointer(f.uint16,Re),classCount:f.uint16,mark1Array:new d.Pointer(f.uint16,xr),mark2Array:new d.Pointer(f.uint16,_r)},7:Ye,8:Ke,9:{posFormat:f.uint16,lookupType:f.uint16,extension:new d.Pointer(f.uint32,null)}});Ir.versions[9].extension.type=Ir;var Tr=new c.VersionedStruct(f.uint32,{header:{scriptList:new d.Pointer(f.uint16,Fe),featureList:new d.Pointer(f.uint16,Ge),lookupList:new d.Pointer(f.uint16,new ze(Ir))},65536:{},65537:{featureVariations:new d.Pointer(f.uint32,ut)}});let Or=new r.Array(f.uint16,f.uint16),Fr=Or,Dr=new u.Struct({glyph:f.uint16,compCount:f.uint16,components:new r.Array(f.uint16,e=>e.compCount-1)}),Mr=new r.Array(new d.Pointer(f.uint16,Dr),f.uint16),Lr=new c.VersionedStruct("lookupType",{1:new c.VersionedStruct(f.uint16,{1:{coverage:new d.Pointer(f.uint16,Re),deltaGlyphID:f.int16},2:{coverage:new d.Pointer(f.uint16,Re),glyphCount:f.uint16,substitute:new n.LazyArray(f.uint16,"glyphCount")}}),2:{substFormat:f.uint16,coverage:new d.Pointer(f.uint16,Re),count:f.uint16,sequences:new n.LazyArray(new d.Pointer(f.uint16,Or),"count")},3:{substFormat:f.uint16,coverage:new d.Pointer(f.uint16,Re),count:f.uint16,alternateSet:new n.LazyArray(new d.Pointer(f.uint16,Fr),"count")},4:{substFormat:f.uint16,coverage:new d.Pointer(f.uint16,Re),count:f.uint16,ligatureSets:new n.LazyArray(new d.Pointer(f.uint16,Mr),"count")},5:Ye,6:Ke,7:{substFormat:f.uint16,lookupType:f.uint16,extension:new d.Pointer(f.uint32,null)},8:{substFormat:f.uint16,coverage:new d.Pointer(f.uint16,Re),backtrackCoverage:new r.Array(new d.Pointer(f.uint16,Re),"backtrackGlyphCount"),lookaheadGlyphCount:f.uint16,lookaheadCoverage:new r.Array(new d.Pointer(f.uint16,Re),"lookaheadGlyphCount"),glyphCount:f.uint16,substitutes:new r.Array(f.uint16,"glyphCount")}});Lr.versions[7].extension.type=Lr;var Gr=new c.VersionedStruct(f.uint32,{header:{scriptList:new d.Pointer(f.uint16,Fe),featureList:new d.Pointer(f.uint16,Ge),lookupList:new d.Pointer(f.uint16,new ze(Lr))},65536:{},65537:{featureVariations:new d.Pointer(f.uint32,ut)}});let Br=new r.Array(f.uint16,f.uint16),zr=new u.Struct({shrinkageEnableGSUB:new d.Pointer(f.uint16,Br),shrinkageDisableGSUB:new d.Pointer(f.uint16,Br),shrinkageEnableGPOS:new d.Pointer(f.uint16,Br),shrinkageDisableGPOS:new d.Pointer(f.uint16,Br),shrinkageJstfMax:new d.Pointer(f.uint16,new ze(Ir)),extensionEnableGSUB:new d.Pointer(f.uint16,Br),extensionDisableGSUB:new d.Pointer(f.uint16,Br),extensionEnableGPOS:new d.Pointer(f.uint16,Br),extensionDisableGPOS:new d.Pointer(f.uint16,Br),extensionJstfMax:new d.Pointer(f.uint16,new ze(Ir))}),Er=new r.Array(new d.Pointer(f.uint16,zr),f.uint16),Rr=new u.Struct({tag:new o.String(4),jstfLangSys:new d.Pointer(f.uint16,Er)}),Vr=new u.Struct({extenderGlyphs:new d.Pointer(f.uint16,new r.Array(f.uint16,f.uint16)),defaultLangSys:new d.Pointer(f.uint16,Er),langSysCount:f.uint16,langSysRecords:new r.Array(Rr,"langSysCount")}),Nr=new u.Struct({tag:new o.String(4),script:new d.Pointer(f.uint16,Vr,{type:"parent"})});var qr=new u.Struct({version:f.uint32,scriptCount:f.uint16,scriptList:new r.Array(Nr,"scriptCount")});let Ur=new u.Struct({entry:new class{decode(e,t){switch(this.size(0,t)){case 1:return e.readUInt8();case 2:return e.readUInt16BE();case 3:return e.readUInt24BE();case 4:return e.readUInt32BE()}}size(e,t){return h.resolveLength(this._size,null,t)}constructor(e){this._size=e}}(e=>1+((48&e.parent.entryFormat)>>4)),outerIndex:e=>e.entry>>1+(15&e.parent.entryFormat),innerIndex:e=>e.entry&(1<<1+(15&e.parent.entryFormat))-1}),jr=new u.Struct({entryFormat:f.uint16,mapCount:f.uint16,mapData:new r.Array(Ur,"mapCount")});var Xr=new u.Struct({majorVersion:f.uint16,minorVersion:f.uint16,itemVariationStore:new d.Pointer(f.uint32,nt),advanceWidthMapping:new d.Pointer(f.uint32,jr),LSBMapping:new d.Pointer(f.uint32,jr),RSBMapping:new d.Pointer(f.uint32,jr)});let Hr=new u.Struct({format:f.uint32,length:f.uint32,offset:f.uint32}),Wr=new u.Struct({reserved:new l.Reserved(f.uint16,2),cbSignature:f.uint32,signature:new i.BufferT("cbSignature")});var Yr=new u.Struct({ulVersion:f.uint32,usNumSigs:f.uint16,usFlag:f.uint16,signatures:new r.Array(Hr,"usNumSigs"),signatureBlocks:new r.Array(Wr,"usNumSigs")});let Zr=new u.Struct({rangeMaxPPEM:f.uint16,rangeGaspBehavior:new s.Bitfield(f.uint16,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])});var Jr=new u.Struct({version:f.uint16,numRanges:f.uint16,gaspRanges:new r.Array(Zr,"numRanges")});let Kr=new u.Struct({pixelSize:f.uint8,maximumWidth:f.uint8,widths:new r.Array(f.uint8,e=>e.parent.parent.maxp.numGlyphs)});var Qr=new u.Struct({version:f.uint16,numRecords:f.int16,sizeDeviceRecord:f.int32,records:new r.Array(Kr,"numRecords")});let $r=new u.Struct({left:f.uint16,right:f.uint16,value:f.int16}),en=new u.Struct({firstGlyph:f.uint16,nGlyphs:f.uint16,offsets:new r.Array(f.uint16,"nGlyphs"),max:e=>e.offsets.length&&Math.max.apply(Math,e.offsets)}),tn=new u.Struct({off:e=>e._startOffset-e.parent.parent._startOffset,len:e=>((e.parent.leftTable.max-e.off)/e.parent.rowWidth+1)*(e.parent.rowWidth/2),values:new n.LazyArray(f.int16,"len")}),rn=new c.VersionedStruct("format",{0:{nPairs:f.uint16,searchRange:f.uint16,entrySelector:f.uint16,rangeShift:f.uint16,pairs:new r.Array($r,"nPairs")},2:{rowWidth:f.uint16,leftTable:new d.Pointer(f.uint16,en,{type:"parent"}),rightTable:new d.Pointer(f.uint16,en,{type:"parent"}),array:new d.Pointer(f.uint16,tn,{type:"parent"})},3:{glyphCount:f.uint16,kernValueCount:f.uint8,leftClassCount:f.uint8,rightClassCount:f.uint8,flags:f.uint8,kernValue:new r.Array(f.int16,"kernValueCount"),leftClass:new r.Array(f.uint8,"glyphCount"),rightClass:new r.Array(f.uint8,"glyphCount"),kernIndex:new r.Array(f.uint8,e=>e.leftClassCount*e.rightClassCount)}}),nn=new c.VersionedStruct("version",{0:{subVersion:f.uint16,length:f.uint16,format:f.uint8,coverage:new s.Bitfield(f.uint8,["horizontal","minimum","crossStream","override"]),subtable:rn,padding:new l.Reserved(f.uint8,e=>e.length-e._currentOffset)},1:{length:f.uint32,coverage:new s.Bitfield(f.uint8,[null,null,null,null,null,"variation","crossStream","vertical"]),format:f.uint8,tupleIndex:f.uint16,subtable:rn,padding:new l.Reserved(f.uint8,e=>e.length-e._currentOffset)}});var sn=new c.VersionedStruct(f.uint16,{0:{nTables:f.uint16,tables:new r.Array(nn,"nTables")},1:{reserved:new l.Reserved(f.uint16),nTables:f.uint32,tables:new r.Array(nn,"nTables")}}),an=new u.Struct({version:f.uint16,numGlyphs:f.uint16,yPels:new r.Array(f.uint8,"numGlyphs")}),ln=new u.Struct({version:f.uint16,fontNumber:f.uint32,pitch:f.uint16,xHeight:f.uint16,style:f.uint16,typeFamily:f.uint16,capHeight:f.uint16,symbolSet:f.uint16,typeface:new o.String(16),characterComplement:new o.String(8),fileName:new o.String(6),strokeWeight:new o.String(1),widthType:new o.String(1),serifStyle:f.uint8,reserved:new l.Reserved(f.uint8)});let on=new u.Struct({bCharSet:f.uint8,xRatio:f.uint8,yStartRatio:f.uint8,yEndRatio:f.uint8}),un=new u.Struct({yPelHeight:f.uint16,yMax:f.int16,yMin:f.int16}),cn=new u.Struct({recs:f.uint16,startsz:f.uint8,endsz:f.uint8,entries:new r.Array(un,"recs")});var hn=new u.Struct({version:f.uint16,numRecs:f.uint16,numRatios:f.uint16,ratioRanges:new r.Array(on,"numRatios"),offsets:new r.Array(f.uint16,"numRatios"),groups:new r.Array(cn,"numRecs")}),fn=new u.Struct({version:f.uint16,ascent:f.int16,descent:f.int16,lineGap:f.int16,advanceHeightMax:f.int16,minTopSideBearing:f.int16,minBottomSideBearing:f.int16,yMaxExtent:f.int16,caretSlopeRise:f.int16,caretSlopeRun:f.int16,caretOffset:f.int16,reserved:new l.Reserved(f.int16,4),metricDataFormat:f.int16,numberOfMetrics:f.uint16});let dn=new u.Struct({advance:f.uint16,bearing:f.int16});var pn=new u.Struct({metrics:new n.LazyArray(dn,e=>e.parent.vhea.numberOfMetrics),bearings:new n.LazyArray(f.int16,e=>e.parent.maxp.numGlyphs-e.parent.vhea.numberOfMetrics)});let gn=new f.Fixed(16,"BE",14),mn=new u.Struct({fromCoord:gn,toCoord:gn}),yn=new u.Struct({pairCount:f.uint16,correspondence:new r.Array(mn,"pairCount")});var bn=new u.Struct({version:f.fixed32,axisCount:f.uint32,segment:new r.Array(yn,"axisCount")});class wn{getItem(e){if(null==this._items[e]){let t=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*e,this._items[e]=this.type.decode(this.stream,this.parent),this.stream.pos=t}return this._items[e]}inspect(){return`[UnboundedArray ${this.type.constructor.name}]`}constructor(e,t,r){this.type=e,this.stream=t,this.parent=r,this.base=this.stream.pos,this._items=[]}}class vn extends r.Array{decode(e,t){return new wn(this.type,e,t)}constructor(e){super(e,0)}}let Sn=function(e=f.uint16){e=new class{decode(e,t){return t=t.parent.parent,this.type.decode(e,t)}size(e,t){return t=t.parent.parent,this.type.size(e,t)}encode(e,t,r){return r=r.parent.parent,this.type.encode(e,t,r)}constructor(e){this.type=e}}(e);let t=new u.Struct({unitSize:f.uint16,nUnits:f.uint16,searchRange:f.uint16,entrySelector:f.uint16,rangeShift:f.uint16}),n=new u.Struct({lastGlyph:f.uint16,firstGlyph:f.uint16,value:e}),s=new u.Struct({lastGlyph:f.uint16,firstGlyph:f.uint16,values:new d.Pointer(f.uint16,new r.Array(e,e=>e.lastGlyph-e.firstGlyph+1),{type:"parent"})}),i=new u.Struct({glyph:f.uint16,value:e});return new c.VersionedStruct(f.uint16,{0:{values:new vn(e)},2:{binarySearchHeader:t,segments:new r.Array(n,e=>e.binarySearchHeader.nUnits)},4:{binarySearchHeader:t,segments:new r.Array(s,e=>e.binarySearchHeader.nUnits)},6:{binarySearchHeader:t,segments:new r.Array(i,e=>e.binarySearchHeader.nUnits)},8:{firstGlyph:f.uint16,count:f.uint16,values:new r.Array(e,"count")}})};function xn(e={},t=f.uint16){let n=Object.assign({newState:f.uint16,flags:f.uint16},e),s=new u.Struct(n),i=new vn(new r.Array(f.uint16,e=>e.nClasses));return new u.Struct({nClasses:f.uint32,classTable:new d.Pointer(f.uint32,new Sn(t)),stateArray:new d.Pointer(f.uint32,i),entryTable:new d.Pointer(f.uint32,new vn(s))})}let Cn=new c.VersionedStruct("format",{0:{deltas:new r.Array(f.int16,32)},1:{deltas:new r.Array(f.int16,32),mappingData:new Sn(f.uint16)},2:{standardGlyph:f.uint16,controlPoints:new r.Array(f.uint16,32)},3:{standardGlyph:f.uint16,controlPoints:new r.Array(f.uint16,32),mappingData:new Sn(f.uint16)}});var _n=new u.Struct({version:f.fixed32,format:f.uint16,defaultBaseline:f.uint16,subtable:Cn});let An=new u.Struct({setting:f.uint16,nameIndex:f.int16,name:e=>e.parent.parent.parent.name.records.fontFeatures[e.nameIndex]}),Pn=new u.Struct({feature:f.uint16,nSettings:f.uint16,settingTable:new d.Pointer(f.uint32,new r.Array(An,"nSettings"),{type:"parent"}),featureFlags:new s.Bitfield(f.uint8,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:f.uint8,nameIndex:f.int16,name:e=>e.parent.parent.name.records.fontFeatures[e.nameIndex]});var kn=new u.Struct({version:f.fixed32,featureNameCount:f.uint16,reserved1:new l.Reserved(f.uint16),reserved2:new l.Reserved(f.uint32),featureNames:new r.Array(Pn,"featureNameCount")});let In=new u.Struct({axisTag:new o.String(4),minValue:f.fixed32,defaultValue:f.fixed32,maxValue:f.fixed32,flags:f.uint16,nameID:f.uint16,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID]}),Tn=new u.Struct({nameID:f.uint16,name:e=>e.parent.parent.name.records.fontFeatures[e.nameID],flags:f.uint16,coord:new r.Array(f.fixed32,e=>e.parent.axisCount),postscriptNameID:new a.Optional(f.uint16,e=>e.parent.instanceSize-e._currentOffset>0)});var On=new u.Struct({version:f.fixed32,offsetToData:f.uint16,countSizePairs:f.uint16,axisCount:f.uint16,axisSize:f.uint16,instanceCount:f.uint16,instanceSize:f.uint16,axis:new r.Array(In,"axisCount"),instance:new r.Array(Tn,"instanceCount")});let Fn=new f.Fixed(16,"BE",14);var Dn=new u.Struct({version:f.uint16,reserved:new l.Reserved(f.uint16),axisCount:f.uint16,globalCoordCount:f.uint16,globalCoords:new d.Pointer(f.uint32,new r.Array(new r.Array(Fn,"axisCount"),"globalCoordCount")),glyphCount:f.uint16,flags:f.uint16,offsetToData:f.uint32,offsets:new r.Array(new d.Pointer(class{static decode(e,t){return t.flags?e.readUInt32BE():2*e.readUInt16BE()}},"void",{relativeTo:e=>e.offsetToData,allowNull:!1}),e=>e.glyphCount+1)});let Mn=new u.Struct({length:f.uint16,coverage:f.uint16,subFeatureFlags:f.uint32,stateTable:new function(e={}){let t=new u.Struct({version:()=>8,firstGlyph:f.uint16,values:new r.Array(f.uint8,f.uint16)}),n=Object.assign({newStateOffset:f.uint16,newState:e=>(e.newStateOffset-(e.parent.stateArray.base-e.parent._startOffset))/e.parent.nClasses,flags:f.uint16},e),s=new u.Struct(n),i=new vn(new r.Array(f.uint8,e=>e.nClasses));return new u.Struct({nClasses:f.uint16,classTable:new d.Pointer(f.uint16,t),stateArray:new d.Pointer(f.uint16,i),entryTable:new d.Pointer(f.uint16,new vn(s))})}}),Ln=new u.Struct({justClass:f.uint32,beforeGrowLimit:f.fixed32,beforeShrinkLimit:f.fixed32,afterGrowLimit:f.fixed32,afterShrinkLimit:f.fixed32,growFlags:f.uint16,shrinkFlags:f.uint16}),Gn=new r.Array(Ln,f.uint32),Bn=new c.VersionedStruct("actionType",{0:{lowerLimit:f.fixed32,upperLimit:f.fixed32,order:f.uint16,glyphs:new r.Array(f.uint16,f.uint16)},1:{addGlyph:f.uint16},2:{substThreshold:f.fixed32,addGlyph:f.uint16,substGlyph:f.uint16},3:{},4:{variationAxis:f.uint32,minimumLimit:f.fixed32,noStretchValue:f.fixed32,maximumLimit:f.fixed32},5:{flags:f.uint16,glyph:f.uint16}}),zn=new u.Struct({actionClass:f.uint16,actionType:f.uint16,actionLength:f.uint32,actionData:Bn,padding:new l.Reserved(f.uint8,e=>e.actionLength-e._currentOffset)}),En=new r.Array(zn,f.uint32),Rn=new u.Struct({lookupTable:new Sn(new d.Pointer(f.uint16,En))}),Vn=new u.Struct({classTable:new d.Pointer(f.uint16,Mn,{type:"parent"}),wdcOffset:f.uint16,postCompensationTable:new d.Pointer(f.uint16,Rn,{type:"parent"}),widthDeltaClusters:new Sn(new d.Pointer(f.uint16,Gn,{type:"parent",relativeTo:e=>e.wdcOffset}))});var Nn=new u.Struct({version:f.uint32,format:f.uint16,horizontal:new d.Pointer(f.uint16,Vn),vertical:new d.Pointer(f.uint16,Vn)});let qn={action:f.uint16},Un={markIndex:f.uint16,currentIndex:f.uint16},jn={currentInsertIndex:f.uint16,markedInsertIndex:f.uint16},Xn=new u.Struct({items:new vn(new d.Pointer(f.uint32,new Sn))}),Hn=new c.VersionedStruct("type",{0:{stateTable:new xn},1:{stateTable:new xn(Un),substitutionTable:new d.Pointer(f.uint32,Xn)},2:{stateTable:new xn(qn),ligatureActions:new d.Pointer(f.uint32,new vn(f.uint32)),components:new d.Pointer(f.uint32,new vn(f.uint16)),ligatureList:new d.Pointer(f.uint32,new vn(f.uint16))},4:{lookupTable:new Sn},5:{stateTable:new xn(jn),insertionActions:new d.Pointer(f.uint32,new vn(f.uint16))}}),Wn=new u.Struct({length:f.uint32,coverage:f.uint24,type:f.uint8,subFeatureFlags:f.uint32,table:Hn,padding:new l.Reserved(f.uint8,e=>e.length-e._currentOffset)}),Yn=new u.Struct({featureType:f.uint16,featureSetting:f.uint16,enableFlags:f.uint32,disableFlags:f.uint32}),Zn=new u.Struct({defaultFlags:f.uint32,chainLength:f.uint32,nFeatureEntries:f.uint32,nSubtables:f.uint32,features:new r.Array(Yn,"nFeatureEntries"),subtables:new r.Array(Wn,"nSubtables")});var Jn=new u.Struct({version:f.uint16,unused:new l.Reserved(f.uint16),nChains:f.uint32,chains:new r.Array(Zn,"nChains")});let Kn=new u.Struct({left:f.int16,top:f.int16,right:f.int16,bottom:f.int16});var Qn=new u.Struct({version:f.fixed32,format:f.uint16,lookupTable:new Sn(Kn)});let $n={};var es=$n;$n.cmap=N,$n.head=q,$n.hhea=U,$n.hmtx=X,$n.maxp=H,$n.name=se,$n["OS/2"]=oe,$n.post=ue,$n.fpgm=he,$n.loca=de,$n.prep=pe,$n["cvt "]=ce,$n.glyf=ge,$n["CFF "]=It,$n.CFF2=It,$n.VORG=Ot,$n.EBLC=Nt,$n.CBLC=$n.EBLC,$n.sbix=Ut,$n.COLR=Ht,$n.CPAL=Yt,$n.BASE=ir,$n.GDEF=fr,$n.GPOS=Tr,$n.GSUB=Gr,$n.JSTF=qr,$n.HVAR=Xr,$n.DSIG=Yr,$n.gasp=Jr,$n.hdmx=Qr,$n.kern=sn,$n.LTSH=an,$n.PCLT=ln,$n.VDMX=hn,$n.vhea=fn,$n.vmtx=pn,$n.avar=bn,$n.bsln=_n,$n.feat=kn,$n.fvar=On,$n.gvar=Dn,$n.just=Nn,$n.morx=Jn,$n.opbd=Qn;let ts=new u.Struct({tag:new o.String(4),checkSum:f.uint32,offset:new d.Pointer(f.uint32,"void",{type:"global"}),length:f.uint32}),rs=new u.Struct({tag:new o.String(4),numTables:f.uint16,searchRange:f.uint16,entrySelector:f.uint16,rangeShift:f.uint16,tables:new r.Array(ts,"numTables")});rs.process=function(){let e={};for(let t of this.tables)e[t.tag]=t;this.tables=e},rs.preEncode=function(){if(!Array.isArray(this.tables)){let e=[];for(let t in this.tables){let r=this.tables[t];r&&e.push({tag:t,checkSum:0,offset:new d.VoidPointer(es[t],r),length:es[t].size(r)})}this.tables=e}this.tag="true",this.numTables=this.tables.length;let e=Math.floor(Math.log(this.numTables)/Math.LN2),t=Math.pow(2,e);this.searchRange=16*t,this.entrySelector=Math.log(t)/Math.LN2,this.rangeShift=16*this.numTables-this.searchRange};var ns=rs;function ss(e,t){let r=0,n=e.length-1;for(;r<=n;){let s=r+n>>1,i=t(e[s]);if(i<0)n=s-1;else{if(!(i>0))return s;r=s+1}}return-1}function is(e,t){let r=[];for(;e<t;)r.push(e++);return r}const as=new TextDecoder("ascii"),ls="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",os=new Uint8Array(256);for(let e=0;e<64;e++)os[ls.charCodeAt(e)]=e;function us(e){let t=.75*e.length;"="===e[e.length-1]&&(t--,"="===e[e.length-2]&&t--);let r=new Uint8Array(t),n=0;for(let t=0,s=e.length;t<s;t+=4){let s=os[e.charCodeAt(t)],i=os[e.charCodeAt(t+1)],a=os[e.charCodeAt(t+2)],l=os[e.charCodeAt(t+3)];r[n++]=s<<2|i>>4,r[n++]=(15&i)<<4|a>>2,r[n++]=(3&a)<<6|63&l}return r}class cs{findSubtable(e,t){for(let[r,n]of t)for(let t of e.tables)if(t.platformID===r&&t.encodingID===n)return t.table;return null}lookup(e,t){if(this.encoding)e=this.encoding.get(e)||e;else if(t){let r=this.getVariationSelector(e,t);if(r)return r}let r=this.cmap;switch(r.version){case 0:return r.codeMap.get(e)||0;case 4:{let t=0,n=r.segCount-1;for(;t<=n;){let s=t+n>>1;if(e<r.startCode.get(s))n=s-1;else{if(!(e>r.endCode.get(s))){let t,n=r.idRangeOffset.get(s);if(0===n)t=e+r.idDelta.get(s);else{let i=n/2+(e-r.startCode.get(s))-(r.segCount-s);t=r.glyphIndexArray.get(i)||0,0!==t&&(t+=r.idDelta.get(s))}return 65535&t}t=s+1}}return 0}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return r.glyphIndices.get(e-r.firstCode)||0;case 12:case 13:{let t=0,n=r.nGroups-1;for(;t<=n;){let s=t+n>>1,i=r.groups.get(s);if(e<i.startCharCode)n=s-1;else{if(!(e>i.endCharCode))return 12===r.version?i.glyphID+(e-i.startCharCode):i.glyphID;t=s+1}}return 0}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${r.version}`)}}getVariationSelector(e,t){if(!this.uvs)return 0;let r=this.uvs.varSelectors.toArray(),n=ss(r,e=>t-e.varSelector),s=r[n];return-1!==n&&s.defaultUVS&&(n=ss(s.defaultUVS,t=>e<t.startUnicodeValue?-1:e>t.startUnicodeValue+t.additionalCount?1:0)),-1!==n&&s.nonDefaultUVS&&(n=ss(s.nonDefaultUVS,t=>e-t.unicodeValue),-1!==n)?s.nonDefaultUVS[n].glyphID:0}getCharacterSet(){let e=this.cmap;switch(e.version){case 0:return is(0,e.codeMap.length);case 4:{let t=[],r=e.endCode.toArray();for(let n=0;n<r.length;n++){let s=r[n]+1,i=e.startCode.get(n);t.push(...is(i,s))}return t}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return is(e.firstCode,e.firstCode+e.glyphIndices.length);case 12:case 13:{let t=[];for(let r of e.groups.toArray())t.push(...is(r.startCharCode,r.endCharCode+1));return t}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${e.version}`)}}codePointsForGlyph(e){let t=this.cmap;switch(t.version){case 0:{let r=[];for(let n=0;n<256;n++)t.codeMap.get(n)===e&&r.push(n);return r}case 4:{let n=[];for(let s=0;s<t.segCount;s++){let i=t.endCode.get(s),a=t.startCode.get(s),l=t.idRangeOffset.get(s),o=t.idDelta.get(s);for(var r=a;r<=i;r++){let i=0;if(0===l)i=r+o;else{let e=l/2+(r-a)-(t.segCount-s);i=t.glyphIndexArray.get(e)||0,0!==i&&(i+=o)}i===e&&n.push(r)}}return n}case 12:{let r=[];for(let n of t.groups.toArray())e>=n.glyphID&&e<=n.glyphID+(n.endCharCode-n.startCharCode)&&r.push(n.startCharCode+(e-n.glyphID));return r}case 13:{let r=[];for(let n of t.groups.toArray())e===n.glyphID&&r.push(...is(n.startCharCode,n.endCharCode+1));return r}default:throw new Error(`Unknown cmap format ${t.version}`)}}constructor(e){if(this.encoding=null,this.cmap=this.findSubtable(e,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap)for(let t of e.tables){let e=K(W(t.platformID,t.encodingID,t.table.language-1));e&&(this.cmap=t.table,this.encoding=e)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&14!==this.uvs.version&&(this.uvs=null)}}x.__decorate([F],cs.prototype,"getCharacterSet",null),x.__decorate([F],cs.prototype,"codePointsForGlyph",null);class hs{process(e,t){for(let r=0;r<e.length-1;r++){let n=e[r].id,s=e[r+1].id;t[r].xAdvance+=this.getKerning(n,s)}}getKerning(e,t){let r=0;for(let n of this.kern.tables){if(n.coverage.crossStream)continue;switch(n.version){case 0:if(!n.coverage.horizontal)continue;break;case 1:if(n.coverage.vertical||n.coverage.variation)continue;break;default:throw new Error(`Unsupported kerning table version ${n.version}`)}let s=0,i=n.subtable;switch(n.format){case 0:let r=ss(i.pairs,function(r){return e-r.left||t-r.right});r>=0&&(s=i.pairs[r].value);break;case 2:let a=0,l=0;a=e>=i.leftTable.firstGlyph&&e<i.leftTable.firstGlyph+i.leftTable.nGlyphs?i.leftTable.offsets[e-i.leftTable.firstGlyph]:i.array.off,t>=i.rightTable.firstGlyph&&t<i.rightTable.firstGlyph+i.rightTable.nGlyphs&&(l=i.rightTable.offsets[t-i.rightTable.firstGlyph]);let o=(a+l-i.array.off)/2;s=i.array.values.get(o);break;case 3:if(e>=i.glyphCount||t>=i.glyphCount)return 0;s=i.kernValue[i.kernIndex[i.leftClass[e]*i.rightClassCount+i.rightClass[t]]];break;default:throw new Error(`Unsupported kerning sub-table format ${n.format}`)}n.coverage.override?r=s:r+=s}return r}constructor(e){this.kern=e.kern}}class fs{positionGlyphs(e,t){let r=0,n=0;for(let s=0;s<e.length;s++){e[s].isMark?n=s:(r!==n&&this.positionCluster(e,t,r,n),r=n=s)}return r!==n&&this.positionCluster(e,t,r,n),t}positionCluster(e,t,r,n){let s=e[r],i=s.cbox.copy();s.codePoints.length>1&&(i.minX+=(s.codePoints.length-1)*i.width/s.codePoints.length);let a=-t[r].xAdvance,l=0,o=this.font.unitsPerEm/16;for(let s=r+1;s<=n;s++){let r=e[s],n=r.cbox,u=t[s],c=this.getCombiningClass(r.codePoints[0]);if("Not_Reordered"!==c){switch(u.xOffset=u.yOffset=0,c){case"Double_Above":case"Double_Below":u.xOffset+=i.minX-n.width/2-n.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":u.xOffset+=i.minX-n.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":u.xOffset+=i.maxX-n.width-n.minX;break;default:u.xOffset+=i.minX+(i.width-n.width)/2-n.minX}switch(c){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":"Attached_Below_Left"!==c&&"Attached_Below"!==c||(i.minY+=o),u.yOffset=-i.minY-n.maxY,i.minY+=n.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":"Attached_Above"!==c&&"Attached_Above_Right"!==c||(i.maxY+=o),u.yOffset=i.maxY-n.minY,i.maxY+=n.height}u.xAdvance=u.yAdvance=0,u.xOffset+=a,u.yOffset+=l}else a-=u.xAdvance,l-=u.yAdvance}}getCombiningClass(e){let t=m.getCombiningClass(e);if(3584==(-256&e))if("Not_Reordered"===t)switch(e){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(3642===e)return"Below_Right";switch(t){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":case"CCC29":case"CCC32":case"CCC118":case"CCC129":case"CCC132":return"Below";case"CCC23":return"Attached_Above";case"CCC24":case"CCC107":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":case"CCC122":case"CCC130":return"Above";case"CCC21":break;case"CCC103":return"Below_Right"}return t}constructor(e){this.font=e}}class ds{get width(){return this.maxX-this.minX}get height(){return this.maxY-this.minY}addPoint(e,t){Math.abs(e)!==1/0&&(e<this.minX&&(this.minX=e),e>this.maxX&&(this.maxX=e)),Math.abs(t)!==1/0&&(t<this.minY&&(this.minY=t),t>this.maxY&&(this.maxY=t))}copy(){return new ds(this.minX,this.minY,this.maxX,this.maxY)}constructor(e=1/0,t=1/0,r=-1/0,n=-1/0){this.minX=e,this.minY=t,this.maxX=r,this.maxY=n}}const ps={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},gs={};for(let e in ps){let t=ps[e];if(Array.isArray(t))for(let r of t)gs[r]=e;else gs[t]=e}const ms={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};function ys(e){return ms[e]?"rtl":"ltr"}class bs{get advanceWidth(){let e=0;for(let t of this.positions)e+=t.xAdvance;return e}get advanceHeight(){let e=0;for(let t of this.positions)e+=t.yAdvance;return e}get bbox(){let e=new ds,t=0,r=0;for(let n=0;n<this.glyphs.length;n++){let s=this.glyphs[n],i=this.positions[n],a=s.bbox;e.addPoint(a.minX+t+i.xOffset,a.minY+r+i.yOffset),e.addPoint(a.maxX+t+i.xOffset,a.maxY+r+i.yOffset),t+=i.xAdvance,r+=i.yAdvance}return e}constructor(e,t,r,n,s){if(this.glyphs=e,this.positions=null,this.script=r,this.language=n||null,this.direction=s||ys(r),this.features={},Array.isArray(t))for(let e of t)this.features[e]=!0;else"object"==typeof t&&(this.features=t)}}class ws{constructor(e=0,t=0,r=0,n=0){this.xAdvance=e,this.yAdvance=t,this.xOffset=r,this.yOffset=n}}const vs={allTypographicFeatures:{code:0,exclusive:!1,allTypeFeatures:0},ligatures:{code:1,exclusive:!1,requiredLigatures:0,commonLigatures:2,rareLigatures:4,rebusPictures:8,diphthongLigatures:10,squaredLigatures:12,abbrevSquaredLigatures:14,symbolLigatures:16,contextualLigatures:18,historicalLigatures:20},cursiveConnection:{code:2,exclusive:!0,unconnected:0,partiallyConnected:1,cursive:2},letterCase:{code:3,exclusive:!0},verticalSubstitution:{code:4,exclusive:!1,substituteVerticalForms:0},linguisticRearrangement:{code:5,exclusive:!1,linguisticRearrangement:0},numberSpacing:{code:6,exclusive:!0,monospacedNumbers:0,proportionalNumbers:1,thirdWidthNumbers:2,quarterWidthNumbers:3},smartSwash:{code:8,exclusive:!1,wordInitialSwashes:0,wordFinalSwashes:2,nonFinalSwashes:8},diacritics:{code:9,exclusive:!0,showDiacritics:0,hideDiacritics:1,decomposeDiacritics:2},verticalPosition:{code:10,exclusive:!0,normalPosition:0,superiors:1,inferiors:2,ordinals:3,scientificInferiors:4},fractions:{code:11,exclusive:!0,noFractions:0,verticalFractions:1,diagonalFractions:2},overlappingCharacters:{code:13,exclusive:!1,preventOverlap:0},typographicExtras:{code:14,exclusive:!1,slashedZero:4},mathematicalExtras:{code:15,exclusive:!1,mathematicalGreek:10},ornamentSets:{code:16,exclusive:!0,noOrnaments:0,dingbats:1,piCharacters:2,fleurons:3,decorativeBorders:4,internationalSymbols:5,mathSymbols:6},characterAlternatives:{code:17,exclusive:!0,noAlternates:0},designComplexity:{code:18,exclusive:!0,designLevel1:0,designLevel2:1,designLevel3:2,designLevel4:3,designLevel5:4},styleOptions:{code:19,exclusive:!0,noStyleOptions:0,displayText:1,engravedText:2,illuminatedCaps:3,titlingCaps:4,tallCaps:5},characterShape:{code:20,exclusive:!0,traditionalCharacters:0,simplifiedCharacters:1,JIS1978Characters:2,JIS1983Characters:3,JIS1990Characters:4,traditionalAltOne:5,traditionalAltTwo:6,traditionalAltThree:7,traditionalAltFour:8,traditionalAltFive:9,expertCharacters:10,JIS2004Characters:11,hojoCharacters:12,NLCCharacters:13,traditionalNamesCharacters:14},numberCase:{code:21,exclusive:!0,lowerCaseNumbers:0,upperCaseNumbers:1},textSpacing:{code:22,exclusive:!0,proportionalText:0,monospacedText:1,halfWidthText:2,thirdWidthText:3,quarterWidthText:4,altProportionalText:5,altHalfWidthText:6},transliteration:{code:23,exclusive:!0,noTransliteration:0},annotation:{code:24,exclusive:!0,noAnnotation:0,boxAnnotation:1,roundedBoxAnnotation:2,circleAnnotation:3,invertedCircleAnnotation:4,parenthesisAnnotation:5,periodAnnotation:6,romanNumeralAnnotation:7,diamondAnnotation:8,invertedBoxAnnotation:9,invertedRoundedBoxAnnotation:10},kanaSpacing:{code:25,exclusive:!0,fullWidthKana:0,proportionalKana:1},ideographicSpacing:{code:26,exclusive:!0,fullWidthIdeographs:0,proportionalIdeographs:1,halfWidthIdeographs:2},unicodeDecomposition:{code:27,exclusive:!1,canonicalComposition:0,compatibilityComposition:2,transcodingComposition:4},rubyKana:{code:28,exclusive:!1,rubyKana:2},CJKSymbolAlternatives:{code:29,exclusive:!0,noCJKSymbolAlternatives:0,CJKSymbolAltOne:1,CJKSymbolAltTwo:2,CJKSymbolAltThree:3,CJKSymbolAltFour:4,CJKSymbolAltFive:5},ideographicAlternatives:{code:30,exclusive:!0,noIdeographicAlternatives:0,ideographicAltOne:1,ideographicAltTwo:2,ideographicAltThree:3,ideographicAltFour:4,ideographicAltFive:5},CJKVerticalRomanPlacement:{code:31,exclusive:!0,CJKVerticalRomanCentered:0,CJKVerticalRomanHBaseline:1},italicCJKRoman:{code:32,exclusive:!1,CJKItalicRoman:2},caseSensitiveLayout:{code:33,exclusive:!1,caseSensitiveLayout:0,caseSensitiveSpacing:2},alternateKana:{code:34,exclusive:!1,alternateHorizKana:0,alternateVertKana:2},stylisticAlternatives:{code:35,exclusive:!1,noStylisticAlternates:0,stylisticAltOne:2,stylisticAltTwo:4,stylisticAltThree:6,stylisticAltFour:8,stylisticAltFive:10,stylisticAltSix:12,stylisticAltSeven:14,stylisticAltEight:16,stylisticAltNine:18,stylisticAltTen:20,stylisticAltEleven:22,stylisticAltTwelve:24,stylisticAltThirteen:26,stylisticAltFourteen:28,stylisticAltFifteen:30,stylisticAltSixteen:32,stylisticAltSeventeen:34,stylisticAltEighteen:36,stylisticAltNineteen:38,stylisticAltTwenty:40},contextualAlternates:{code:36,exclusive:!1,contextualAlternates:0,swashAlternates:2,contextualSwashAlternates:4},lowerCase:{code:37,exclusive:!0,defaultLowerCase:0,lowerCaseSmallCaps:1,lowerCasePetiteCaps:2},upperCase:{code:38,exclusive:!0,defaultUpperCase:0,upperCaseSmallCaps:1,upperCasePetiteCaps:2},languageTag:{code:39,exclusive:!0},CJKRomanSpacing:{code:103,exclusive:!0,halfWidthCJKRoman:0,proportionalCJKRoman:1,defaultCJKRoman:2,fullWidthCJKRoman:3}},Ss=(e,t)=>[vs[e].code,vs[e][t]],xs={rlig:Ss("ligatures","requiredLigatures"),clig:Ss("ligatures","contextualLigatures"),dlig:Ss("ligatures","rareLigatures"),hlig:Ss("ligatures","historicalLigatures"),liga:Ss("ligatures","commonLigatures"),hist:Ss("ligatures","historicalLigatures"),smcp:Ss("lowerCase","lowerCaseSmallCaps"),pcap:Ss("lowerCase","lowerCasePetiteCaps"),frac:Ss("fractions","diagonalFractions"),dnom:Ss("fractions","diagonalFractions"),numr:Ss("fractions","diagonalFractions"),afrc:Ss("fractions","verticalFractions"),case:Ss("caseSensitiveLayout","caseSensitiveLayout"),ccmp:Ss("unicodeDecomposition","canonicalComposition"),cpct:Ss("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:Ss("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:Ss("contextualAlternates","swashAlternates"),cswh:Ss("contextualAlternates","contextualSwashAlternates"),curs:Ss("cursiveConnection","cursive"),c2pc:Ss("upperCase","upperCasePetiteCaps"),c2sc:Ss("upperCase","upperCaseSmallCaps"),init:Ss("smartSwash","wordInitialSwashes"),fin2:Ss("smartSwash","wordFinalSwashes"),medi:Ss("smartSwash","nonFinalSwashes"),med2:Ss("smartSwash","nonFinalSwashes"),fin3:Ss("smartSwash","wordFinalSwashes"),fina:Ss("smartSwash","wordFinalSwashes"),pkna:Ss("kanaSpacing","proportionalKana"),half:Ss("textSpacing","halfWidthText"),halt:Ss("textSpacing","altHalfWidthText"),hkna:Ss("alternateKana","alternateHorizKana"),vkna:Ss("alternateKana","alternateVertKana"),ital:Ss("italicCJKRoman","CJKItalicRoman"),lnum:Ss("numberCase","upperCaseNumbers"),onum:Ss("numberCase","lowerCaseNumbers"),mgrk:Ss("mathematicalExtras","mathematicalGreek"),calt:Ss("contextualAlternates","contextualAlternates"),vrt2:Ss("verticalSubstitution","substituteVerticalForms"),vert:Ss("verticalSubstitution","substituteVerticalForms"),tnum:Ss("numberSpacing","monospacedNumbers"),pnum:Ss("numberSpacing","proportionalNumbers"),sups:Ss("verticalPosition","superiors"),subs:Ss("verticalPosition","inferiors"),ordn:Ss("verticalPosition","ordinals"),pwid:Ss("textSpacing","proportionalText"),hwid:Ss("textSpacing","halfWidthText"),qwid:Ss("textSpacing","quarterWidthText"),twid:Ss("textSpacing","thirdWidthText"),fwid:Ss("textSpacing","proportionalText"),palt:Ss("textSpacing","altProportionalText"),trad:Ss("characterShape","traditionalCharacters"),smpl:Ss("characterShape","simplifiedCharacters"),jp78:Ss("characterShape","JIS1978Characters"),jp83:Ss("characterShape","JIS1983Characters"),jp90:Ss("characterShape","JIS1990Characters"),jp04:Ss("characterShape","JIS2004Characters"),expt:Ss("characterShape","expertCharacters"),hojo:Ss("characterShape","hojoCharacters"),nlck:Ss("characterShape","NLCCharacters"),tnam:Ss("characterShape","traditionalNamesCharacters"),ruby:Ss("rubyKana","rubyKana"),titl:Ss("styleOptions","titlingCaps"),zero:Ss("typographicExtras","slashedZero"),ss01:Ss("stylisticAlternatives","stylisticAltOne"),ss02:Ss("stylisticAlternatives","stylisticAltTwo"),ss03:Ss("stylisticAlternatives","stylisticAltThree"),ss04:Ss("stylisticAlternatives","stylisticAltFour"),ss05:Ss("stylisticAlternatives","stylisticAltFive"),ss06:Ss("stylisticAlternatives","stylisticAltSix"),ss07:Ss("stylisticAlternatives","stylisticAltSeven"),ss08:Ss("stylisticAlternatives","stylisticAltEight"),ss09:Ss("stylisticAlternatives","stylisticAltNine"),ss10:Ss("stylisticAlternatives","stylisticAltTen"),ss11:Ss("stylisticAlternatives","stylisticAltEleven"),ss12:Ss("stylisticAlternatives","stylisticAltTwelve"),ss13:Ss("stylisticAlternatives","stylisticAltThirteen"),ss14:Ss("stylisticAlternatives","stylisticAltFourteen"),ss15:Ss("stylisticAlternatives","stylisticAltFifteen"),ss16:Ss("stylisticAlternatives","stylisticAltSixteen"),ss17:Ss("stylisticAlternatives","stylisticAltSeventeen"),ss18:Ss("stylisticAlternatives","stylisticAltEighteen"),ss19:Ss("stylisticAlternatives","stylisticAltNineteen"),ss20:Ss("stylisticAlternatives","stylisticAltTwenty")};for(let e=1;e<=99;e++)xs[`cv${`00${e}`.slice(-2)}`]=[vs.characterAlternatives.code,e];let Cs={};for(let e in xs){let t=xs[e];null==Cs[t[0]]&&(Cs[t[0]]={}),Cs[t[0]][t[1]]=e}function _s(e){let[t,r]=e;if(isNaN(t))var n=vs[t]&&vs[t].code;else n=t;if(isNaN(r))var s=vs[t]&&vs[t][r];else s=r;return[n,s]}class As{lookup(e){switch(this.table.version){case 0:return this.table.values.getItem(e);case 2:case 4:{let n=0,s=this.table.binarySearchHeader.nUnits-1;for(;n<=s;){var t=n+s>>1;if(65535===(r=this.table.segments[t]).firstGlyph)return null;if(e<r.firstGlyph)s=t-1;else{if(!(e>r.lastGlyph))return 2===this.table.version?r.value:r.values[e-r.firstGlyph];n=t+1}}return null}case 6:{let n=0,s=this.table.binarySearchHeader.nUnits-1;for(;n<=s;){var r;t=n+s>>1;if(65535===(r=this.table.segments[t]).glyph)return null;if(e<r.glyph)s=t-1;else{if(!(e>r.glyph))return r.value;n=t+1}}return null}case 8:return this.table.values[e-this.table.firstGlyph];default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}}glyphsForValue(e){let t=[];switch(this.table.version){case 2:case 4:for(let r of this.table.segments)if(2===this.table.version&&r.value===e)t.push(...is(r.firstGlyph,r.lastGlyph+1));else for(let n=0;n<r.values.length;n++)r.values[n]===e&&t.push(r.firstGlyph+n);break;case 6:for(let r of this.table.segments)r.value===e&&t.push(r.glyph);break;case 8:for(let r=0;r<this.table.values.length;r++)this.table.values[r]===e&&t.push(this.table.firstGlyph+r);break;default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}return t}constructor(e){this.table=e}}x.__decorate([F],As.prototype,"glyphsForValue",null);class Ps{process(e,t,r){let n=0,s=t?e.length-1:0,i=t?-1:1;for(;1===i&&s<=e.length||-1===i&&s>=-1;){let t=null,a=1,l=!0;s===e.length||-1===s?a=0:(t=e[s],65535===t.id?a=2:(a=this.lookupTable.lookup(t.id),null==a&&(a=1)));let o=this.stateTable.stateArray.getItem(n)[a],u=this.stateTable.entryTable.getItem(o);0!==a&&2!==a&&(r(t,u,s),l=!(16384&u.flags)),n=u.newState,l&&(s+=i)}return e}traverse(e,t=0,r=new Set){if(r.has(t))return;r.add(t);let{nClasses:n,stateArray:s,entryTable:i}=this.stateTable,a=s.getItem(t);for(let t=4;t<n;t++){let n=a[t],s=i.getItem(n);for(let n of this.lookupTable.glyphsForValue(t))e.enter&&e.enter(n,s),0!==s.newState&&this.traverse(e,s.newState,r),e.exit&&e.exit(n,s)}}constructor(e){this.stateTable=e,this.lookupTable=new As(e.classTable)}}const ks=4194304;class Is{process(e,t={}){for(let r of this.morx.chains){let n=r.defaultFlags;for(let e of r.features){let r;(r=t[e.featureType])&&(r[e.featureSetting]?(n&=e.disableFlags,n|=e.enableFlags):!1===r[e.featureSetting]&&(n|=~e.disableFlags,n&=~e.enableFlags))}for(let t of r.subtables)t.subFeatureFlags&n&&this.processSubtable(t,e)}let r=e.length-1;for(;r>=0;)65535===e[r].id&&e.splice(r,1),r--;return e}processSubtable(e,t){if(this.subtable=e,this.glyphs=t,4===this.subtable.type)return void this.processNoncontextualSubstitutions(this.subtable,this.glyphs);this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let r=this.getStateMachine(e),n=this.getProcessor(),s=!!(this.subtable.coverage&ks);return r.process(this.glyphs,s,n)}getStateMachine(e){return new Ps(e.table.stateTable)}getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error(`Invalid morx subtable type: ${this.subtable.type}`)}}processIndicRearragement(e,t,r){32768&t.flags&&(this.firstGlyph=r),8192&t.flags&&(this.lastGlyph=r),function(e,t,r,n){switch(t){case 0:return e;case 1:return Ts(e,[r,1],[n,0]);case 2:return Ts(e,[r,0],[n,1]);case 3:return Ts(e,[r,1],[n,1]);case 4:return Ts(e,[r,2],[n,0]);case 5:return Ts(e,[r,2],[n,0],!0,!1);case 6:return Ts(e,[r,0],[n,2]);case 7:return Ts(e,[r,0],[n,2],!1,!0);case 8:return Ts(e,[r,1],[n,2]);case 9:return Ts(e,[r,1],[n,2],!1,!0);case 10:return Ts(e,[r,2],[n,1]);case 11:return Ts(e,[r,2],[n,1],!0,!1);case 12:return Ts(e,[r,2],[n,2]);case 13:return Ts(e,[r,2],[n,2],!0,!1);case 14:return Ts(e,[r,2],[n,2],!1,!0);case 15:return Ts(e,[r,2],[n,2],!0,!0);default:throw new Error(`Unknown verb: ${t}`)}}(this.glyphs,15&t.flags,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(e,t,r){let n=this.subtable.table.substitutionTable.items;if(65535!==t.markIndex){let r=n.getItem(t.markIndex),i=new As(r);e=this.glyphs[this.markedGlyph],(s=i.lookup(e.id))&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(s,e.codePoints))}if(65535!==t.currentIndex){let i=n.getItem(t.currentIndex),a=new As(i);var s;e=this.glyphs[r],(s=a.lookup(e.id))&&(this.glyphs[r]=this.font.getGlyph(s,e.codePoints))}32768&t.flags&&(this.markedGlyph=r)}processLigature(e,t,r){if(32768&t.flags&&this.ligatureStack.push(r),8192&t.flags){let e=this.subtable.table.ligatureActions,r=this.subtable.table.components,n=this.subtable.table.ligatureList,s=t.action,i=!1,a=0,l=[],o=[];for(;!i;){let t=this.ligatureStack.pop();l.unshift(...this.glyphs[t].codePoints);let u=e.getItem(s++);i=!!(2147483648&u);let c=!!(1073741824&u),h=(1073741823&u)<<2>>2;if(h+=this.glyphs[t].id,a+=r.getItem(h),i||c){let e=n.getItem(a);this.glyphs[t]=this.font.getGlyph(e,l),o.push(t),a=0,l=[]}else this.glyphs[t]=this.font.getGlyph(65535)}this.ligatureStack.push(...o)}}processNoncontextualSubstitutions(e,t,r){let n=new As(e.table.lookupTable);for(r=0;r<t.length;r++){let e=t[r];if(65535!==e.id){let s=n.lookup(e.id);s&&(t[r]=this.font.getGlyph(s,e.codePoints))}}}_insertGlyphs(e,t,r,n){let s=[];for(;r--;){let e=this.subtable.table.insertionActions.getItem(t++);s.push(this.font.getGlyph(e))}n||e++,this.glyphs.splice(e,0,...s)}processGlyphInsertion(e,t,r){if(32768&t.flags&&(this.markedIndex=r),65535!==t.markedInsertIndex){let e=(31&t.flags)>>>5,r=!!(1024&t.flags);this._insertGlyphs(this.markedIndex,t.markedInsertIndex,e,r)}if(65535!==t.currentInsertIndex){let e=(992&t.flags)>>>5,n=!!(2048&t.flags);this._insertGlyphs(r,t.currentInsertIndex,e,n)}}getSupportedFeatures(){let e=[];for(let t of this.morx.chains)for(let r of t.features)e.push([r.featureType,r.featureSetting]);return e}generateInputs(e){return this.inputCache||this.generateInputCache(),this.inputCache[e]||[]}generateInputCache(){this.inputCache={};for(let e of this.morx.chains){let t=e.defaultFlags;for(let r of e.subtables)r.subFeatureFlags&t&&this.generateInputsForSubtable(r)}}generateInputsForSubtable(e){if(2!==e.type)return;if(!!(e.coverage&ks))throw new Error("Reverse subtable, not supported.");this.subtable=e,this.ligatureStack=[];let t=this.getStateMachine(e),r=this.getProcessor(),n=[],s=[];this.glyphs=[],t.traverse({enter:(e,t)=>{let i=this.glyphs;s.push({glyphs:i.slice(),ligatureStack:this.ligatureStack.slice()});let a=this.font.getGlyph(e);n.push(a),i.push(n[n.length-1]),r(i[i.length-1],t,i.length-1);let l=0,o=0;for(let e=0;e<i.length&&l<=1;e++)65535!==i[e].id&&(l++,o=i[e].id);if(1===l){let e=n.map(e=>e.id),t=this.inputCache[o];t?t.push(e):this.inputCache[o]=[e]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=s.pop()),n.pop()}})}constructor(e){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=e,this.morx=e.morx,this.inputCache=null}}function Ts(e,t,r,n=!1,s=!1){let i=e.splice(r[0]-(r[1]-1),r[1]);s&&i.reverse();let a=e.splice(t[0],t[1],...i);return n&&a.reverse(),e.splice(r[0]-(t[1]-1),0,...a),e}x.__decorate([F],Is.prototype,"getStateMachine",null);class Os{substitute(e){"rtl"===e.direction&&e.glyphs.reverse(),this.morxProcessor.process(e.glyphs,function(e){let t={};for(let r in e){let n;(n=xs[r])&&(null==t[n[0]]&&(t[n[0]]={}),t[n[0]][n[1]]=e[r])}return t}(e.features))}getAvailableFeatures(e,t){return function(e){let t={};if(Array.isArray(e))for(let r=0;r<e.length;r++){let n,s=_s(e[r]);(n=Cs[s[0]]&&Cs[s[0]][s[1]])&&(t[n]=!0)}else if("object"==typeof e)for(let r in e){let n=e[r];for(let e in n){let s,i=_s([r,e]);n[e]&&(s=Cs[i[0]]&&Cs[i[0]][i[1]])&&(t[s]=!0)}}return Object.keys(t)}(this.morxProcessor.getSupportedFeatures())}stringsForGlyph(e){let t=this.morxProcessor.generateInputs(e),r=new Set;for(let e of t)this._addStrings(e,0,r,"");return r}_addStrings(e,t,r,n){let s=this.font._cmapProcessor.codePointsForGlyph(e[t]);for(let i of s){let s=n+String.fromCodePoint(i);t<e.length-1?this._addStrings(e,t+1,r,s):r.add(s)}}constructor(e){this.font=e,this.morxProcessor=new Is(e),this.fallbackPosition=!1}}class Fs{_addFeatures(e,t){let r=this.stages.length-1,n=this.stages[r];for(let s of e)null==this.allFeatures[s]&&(n.push(s),this.allFeatures[s]=r,t&&(this.globalFeatures[s]=!0))}add(e,t=!0){if(0===this.stages.length&&this.stages.push([]),"string"==typeof e&&(e=[e]),Array.isArray(e))this._addFeatures(e,t);else{if("object"!=typeof e)throw new Error("Unsupported argument to ShapingPlan#add");this._addFeatures(e.global||[],!0),this._addFeatures(e.local||[],!1)}}addStage(e,t){"function"==typeof e?this.stages.push(e,[]):(this.stages.push([]),this.add(e,t))}setFeatureOverrides(e){if(Array.isArray(e))this.add(e);else if("object"==typeof e)for(let t in e)if(e[t])this.add(t);else if(null!=this.allFeatures[t]){let e=this.stages[this.allFeatures[t]];e.splice(e.indexOf(t),1),delete this.allFeatures[t],delete this.globalFeatures[t]}}assignGlobalFeatures(e){for(let t of e)for(let e in this.globalFeatures)t.features[e]=!0}process(e,t,r){for(let n of this.stages)"function"==typeof n?r||n(this.font,t,this):n.length>0&&e.applyFeatures(n,t,r)}constructor(e,t,r){this.font=e,this.script=t,this.direction=r,this.stages=[],this.globalFeatures={},this.allFeatures={}}}const Ds=["rvrn"],Ms=["ccmp","locl","rlig","mark","mkmk"],Ls=["frac","numr","dnom"],Gs=["calt","clig","liga","rclt","curs","kern"],Bs={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]};class zs{static plan(e,t,r){this.planPreprocessing(e),this.planFeatures(e),this.planPostprocessing(e,r),e.assignGlobalFeatures(t),this.assignFeatures(e,t)}static planPreprocessing(e){e.add({global:[...Ds,...Bs[e.direction]],local:Ls})}static planFeatures(e){}static planPostprocessing(e,t){e.add([...Ms,...Gs]),e.setFeatureOverrides(t)}static assignFeatures(e,t){for(let e=0;e<t.length;e++){let r=t[e];if(8260===r.codePoints[0]){let n=e,s=e+1;for(;n>0&&m.isDigit(t[n-1].codePoints[0]);)t[n-1].features.numr=!0,t[n-1].features.frac=!0,n--;for(;s<t.length&&m.isDigit(t[s].codePoints[0]);)t[s].features.dnom=!0,t[s].features.frac=!0,s++;r.features.frac=!0,e=s-1}}}}p._(zs,"zeroMarkWidths","AFTER_GPOS");const Es=new y.default(us("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCYaEcygEiqBQ4FAkCE4ikUgMiiBJSAgSiUQSDMn9L9eSl6bddddug9t7yS/trevre+3r27pcNxZiG+yCfdCVv/9LeQxOwRm4AJegD27ALbgD9+ABPJF+z+BN/h7yDj5k/VOWX6SdmU5+wLWknggxDxaS8u0qiiX4uiz9XamQ3wzDMAzDMAzDMAzDVI/h959V/v7BMAzDMAzDMLlyNTNiMSdewVxbiA44B4/guz1qW58VYlMI0WsJ0W+N6kXw0spvPtdwhtkwnGM6uLaV4Xyzg3v3PM9DPfQ/sOg4xPWjipy31P8LTqbU304c/cLCUmWJLNB2Uz2U1KTeRKNmKHVMfbJC+/0loTZRH/W5cvEvBJPMbREkWt3FD1NcqXZBSpuE2Ad0PBehPtNrPtIEdYP+hiRt/V1jIiE69X4NT/uVZI3PUHE9bm5M7ePGdZWy951v7Nn6j8v1WWKP3mt6ttnsigx6VN7Vc0VomSSGqW2mGNP1muZPl7LfjNUaKNFtDGVf2fvE9O7VlBS5j333c5p/eeoOqcs1R/hIqDWLJ7TTlksirVT1SI7l8k4Yp+g3jafGcrU1RM6l9th80XOpnlN97bDNY4i4s61B0Si/ipa0uHMl6zqEjlFfCZm/TM8KmzQDjmuTAQ==")),Rs=["isol","fina","fin2","fin3","medi","med2","init"],Vs=0,Ns=6,qs="isol",Us="fina",js="fin2",Xs="medi",Hs="med2",Ws="init",Ys=null,Zs=[[[Ys,Ys,0],[Ys,qs,2],[Ys,qs,1],[Ys,qs,2],[Ys,qs,1],[Ys,qs,6]],[[Ys,Ys,0],[Ys,qs,2],[Ys,qs,1],[Ys,qs,2],[Ys,js,5],[Ys,qs,6]],[[Ys,Ys,0],[Ys,qs,2],[Ws,Us,1],[Ws,Us,3],[Ws,Us,4],[Ws,Us,6]],[[Ys,Ys,0],[Ys,qs,2],[Xs,Us,1],[Xs,Us,3],[Xs,Us,4],[Xs,Us,6]],[[Ys,Ys,0],[Ys,qs,2],[Hs,qs,1],[Hs,qs,2],[Hs,js,5],[Hs,qs,6]],[[Ys,Ys,0],[Ys,qs,2],[qs,qs,1],[qs,qs,2],[qs,js,5],[qs,qs,6]],[[Ys,Ys,0],[Ys,qs,2],[Ys,qs,1],[Ys,qs,2],[Ys,"fin3",5],[Ys,qs,6]]];class Js extends zs{static planFeatures(e){e.add(["ccmp","locl"]);for(let t=0;t<Rs.length;t++){let r=Rs[t];e.addStage(r,!1)}e.addStage("mset")}static assignFeatures(e,t){super.assignFeatures(e,t);let r=-1,n=0,s=[];for(let e=0;e<t.length;e++){let a,l;let o=Ks((i=t[e]).codePoints[0]);o!==Ns?([l,a,n]=Zs[n][o],l!==Ys&&-1!==r&&(s[r]=l),s[e]=a,r=e):s[e]=Ys}for(let e=0;e<t.length;e++){let r;var i=t[e];(r=s[e])&&(i.features[r]=!0)}}}function Ks(e){let t=Es.get(e);if(t)return t-1;let r=m.getCategory(e);return"Mn"===r||"Me"===r||"Cf"===r?Ns:Vs}class Qs{reset(e={},t=0){this.options=e,this.flags=e.flags||{},this.markAttachmentType=e.markAttachmentType||0,this.index=t}get cur(){return this.glyphs[this.index]||null}shouldIgnore(e){return this.flags.ignoreMarks&&e.isMark||this.flags.ignoreBaseGlyphs&&e.isBase||this.flags.ignoreLigatures&&e.isLigature||this.markAttachmentType&&e.isMark&&e.markAttachmentType!==this.markAttachmentType}move(e){for(this.index+=e;0<=this.index&&this.index<this.glyphs.length&&this.shouldIgnore(this.glyphs[this.index]);)this.index+=e;return 0>this.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]}next(){return this.move(1)}prev(){return this.move(-1)}peek(e=1){let t=this.index,r=this.increment(e);return this.index=t,r}peekIndex(e=1){let t=this.index;this.increment(e);let r=this.index;return this.index=t,r}increment(e=1){let t=e<0?-1:1;for(e=Math.abs(e);e--;)this.move(t);return this.glyphs[this.index]}constructor(e,t){this.glyphs=e,this.reset(t)}}const $s=["DFLT","dflt","latn"];class ei{findScript(e){if(null==this.table.scriptList)return null;Array.isArray(e)||(e=[e]);for(let t of e)for(let e of this.table.scriptList)if(e.tag===t)return e;return null}selectScript(e,t,r){let n,s=!1;if(!this.script||e!==this.scriptTag){if(n=this.findScript(e),n||(n=this.findScript($s)),!n)return this.scriptTag;this.scriptTag=n.tag,this.script=n.script,this.language=null,this.languageTag=null,s=!0}if(r&&r===this.direction||(this.direction=r||ys(e)),t&&t.length<4&&(t+=" ".repeat(4-t.length)),!t||t!==this.languageTag){this.language=null;for(let e of this.script.langSysRecords)if(e.tag===t){this.language=e.langSys,this.languageTag=e.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),s=!0}if(s&&(this.features={},this.language))for(let e of this.language.featureIndexes){let t=this.table.featureList[e],r=this.substituteFeatureForVariations(e);this.features[t.tag]=r||t.feature}return this.scriptTag}lookupsForFeatures(e=[],t){let r=[];for(let n of e){let e=this.features[n];if(e)for(let s of e.lookupListIndexes)t&&-1!==t.indexOf(s)||r.push({feature:n,index:s,lookup:this.table.lookupList.get(s)})}return r.sort((e,t)=>e.index-t.index),r}substituteFeatureForVariations(e){if(-1===this.variationsIndex)return null;let t=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions;for(let r of t)if(r.featureIndex===e)return r.alternateFeatureTable;return null}findVariationsIndex(e){let t=this.table.featureVariations;if(!t)return-1;let r=t.featureVariationRecords;for(let t=0;t<r.length;t++){let n=r[t].conditionSet.conditionTable;if(this.variationConditionsMatch(n,e))return t}return-1}variationConditionsMatch(e,t){return e.every(e=>{let r=e.axisIndex<t.length?t[e.axisIndex]:0;return e.filterRangeMinValue<=r&&r<=e.filterRangeMaxValue})}applyFeatures(e,t,r){let n=this.lookupsForFeatures(e);this.applyLookups(n,t,r)}applyLookups(e,t,r){this.glyphs=t,this.positions=r,this.glyphIterator=new Qs(t);for(let{feature:r,lookup:n}of e)for(this.currentFeature=r,this.glyphIterator.reset(n.flags);this.glyphIterator.index<t.length;)if(r in this.glyphIterator.cur.features){for(let e of n.subTables){if(this.applyLookup(n.lookupType,e))break}this.glyphIterator.next()}else this.glyphIterator.next()}applyLookup(e,t){throw new Error("applyLookup must be implemented by subclasses")}applyLookupList(e){let t=this.glyphIterator.options,r=this.glyphIterator.index;for(let n of e){this.glyphIterator.reset(t,r),this.glyphIterator.increment(n.sequenceIndex);let e=this.table.lookupList.get(n.lookupListIndex);this.glyphIterator.reset(e.flags,this.glyphIterator.index);for(let t of e.subTables)if(this.applyLookup(e.lookupType,t))break}return this.glyphIterator.reset(t,r),!0}coverageIndex(e,t){switch(null==t&&(t=this.glyphIterator.cur.id),e.version){case 1:return e.glyphs.indexOf(t);case 2:for(let r of e.rangeRecords)if(r.start<=t&&t<=r.end)return r.startCoverageIndex+t-r.start}return-1}match(e,t,r,n){let s=this.glyphIterator.index,i=this.glyphIterator.increment(e),a=0;for(;a<t.length&&i&&r(t[a],i);)n&&n.push(this.glyphIterator.index),a++,i=this.glyphIterator.next();return this.glyphIterator.index=s,!(a<t.length)&&(n||!0)}sequenceMatches(e,t){return this.match(e,t,(e,t)=>e===t.id)}sequenceMatchIndices(e,t){return this.match(e,t,(e,t)=>this.currentFeature in t.features&&e===t.id,[])}coverageSequenceMatches(e,t){return this.match(e,t,(e,t)=>this.coverageIndex(e,t.id)>=0)}getClassID(e,t){switch(t.version){case 1:let r=e-t.startGlyph;if(r>=0&&r<t.classValueArray.length)return t.classValueArray[r];break;case 2:for(let r of t.classRangeRecord)if(r.start<=e&&e<=r.end)return r.class}return 0}classSequenceMatches(e,t,r){return this.match(e,t,(e,t)=>e===this.getClassID(t.id,r))}applyContext(e){let t,r;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),-1===t)return!1;r=e.ruleSets[t];for(let e of r)if(this.sequenceMatches(1,e.input))return this.applyLookupList(e.lookupRecords);break;case 2:if(-1===this.coverageIndex(e.coverage))return!1;if(t=this.getClassID(this.glyphIterator.cur.id,e.classDef),-1===t)return!1;r=e.classSet[t];for(let t of r)if(this.classSequenceMatches(1,t.classes,e.classDef))return this.applyLookupList(t.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,e.coverages))return this.applyLookupList(e.lookupRecords)}return!1}applyChainingContext(e){let t;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),-1===t)return!1;let r=e.chainRuleSets[t];for(let e of r)if(this.sequenceMatches(-e.backtrack.length,e.backtrack)&&this.sequenceMatches(1,e.input)&&this.sequenceMatches(1+e.input.length,e.lookahead))return this.applyLookupList(e.lookupRecords);break;case 2:if(-1===this.coverageIndex(e.coverage))return!1;t=this.getClassID(this.glyphIterator.cur.id,e.inputClassDef);let n=e.chainClassSet[t];if(!n)return!1;for(let t of n)if(this.classSequenceMatches(-t.backtrack.length,t.backtrack,e.backtrackClassDef)&&this.classSequenceMatches(1,t.input,e.inputClassDef)&&this.classSequenceMatches(1+t.input.length,t.lookahead,e.lookaheadClassDef))return this.applyLookupList(t.lookupRecords);break;case 3:if(this.coverageSequenceMatches(-e.backtrackGlyphCount,e.backtrackCoverage)&&this.coverageSequenceMatches(0,e.inputCoverage)&&this.coverageSequenceMatches(e.inputGlyphCount,e.lookaheadCoverage))return this.applyLookupList(e.lookupRecords)}return!1}constructor(e,t){this.font=e,this.table=t,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=e._variationProcessor?this.findVariationsIndex(e._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}}class ti{get id(){return this._id}set id(e){this._id=e,this.substituted=!0;let t=this._font.GDEF;if(t&&t.glyphClassDef){let r=ei.prototype.getClassID(e,t.glyphClassDef);this.isBase=1===r,this.isLigature=2===r,this.isMark=3===r,this.markAttachmentType=t.markAttachClassDef?ei.prototype.getClassID(e,t.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(m.isMark),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new ti(this._font,this.id,this.codePoints,this.features)}constructor(e,t,r=[],n){if(this._font=e,this.codePoints=r,this.id=t,this.features={},Array.isArray(n))for(let e=0;e<n.length;e++){let t=n[e];this.features[t]=!0}else"object"==typeof n&&Object.assign(this.features,n);this.ligatureID=null,this.ligatureComponent=null,this.isLigated=!1,this.cursiveAttachment=null,this.markAttachment=null,this.shaperInfo=null,this.substituted=!1,this.isMultiplied=!1}}class ri extends zs{static planFeatures(e){e.add(["ljmo","vjmo","tjmo"],!1)}static assignFeatures(e,t){let r=0,n=0;for(;n<t.length;){let s,i=t[n].codePoints[0],a=Oi(i);switch([s,r]=Gi[r][a],s){case Fi:e.font.hasGlyphForCodePoint(i)||(n=zi(t,n,e.font));break;case Di:n=Ei(t,n,e.font);break;case Mi:Ri(t,n,e.font);break;case Li:n=Vi(t,n,e.font)}n++}}}p._(ri,"zeroMarkWidths","NONE");const ni=44032,si=55204-ni+1,ii=4352,ai=4449,li=4519,oi=21,ui=28,ci=ii+19-1,hi=ai+oi-1,fi=li+ui-1,di=9676,pi=e=>4352<=e&&e<=4447||43360<=e&&e<=43388,gi=e=>4448<=e&&e<=4519||55216<=e&&e<=55238,mi=e=>4520<=e&&e<=4607||55243<=e&&e<=55291,yi=e=>12334<=e&&e<=12335,bi=e=>ni<=e&&e<=55204,wi=e=>e-ni<si&&(e-ni)%ui===0,vi=e=>ii<=e&&e<=ci,Si=e=>ai<=e&&e<=hi,xi=e=>1<=e&&e<=fi,Ci=0,_i=1,Ai=2,Pi=3,ki=4,Ii=5,Ti=6;function Oi(e){return pi(e)?_i:gi(e)?Ai:mi(e)?Pi:wi(e)?ki:bi(e)?Ii:yi(e)?Ti:Ci}const Fi=1,Di=2,Mi=4,Li=5,Gi=[[[0,0],[0,1],[0,0],[0,0],[Fi,2],[Fi,3],[Li,0]],[[0,0],[0,1],[Di,2],[0,0],[Fi,2],[Fi,3],[Li,0]],[[0,0],[0,1],[0,0],[Di,3],[Fi,2],[Fi,3],[Mi,0]],[[0,0],[0,1],[0,0],[0,0],[Fi,2],[Fi,3],[Mi,0]]];function Bi(e,t,r){return new ti(e,e.glyphForCodePoint(t).id,[t],r)}function zi(e,t,r){let n=e[t],s=n.codePoints[0]-ni,i=li+s%ui;s=s/ui|0;let a=ii+s/oi|0,l=ai+s%oi;if(!r.hasGlyphForCodePoint(a)||!r.hasGlyphForCodePoint(l)||i!==li&&!r.hasGlyphForCodePoint(i))return t;let o=Bi(r,a,n.features);o.features.ljmo=!0;let u=Bi(r,l,n.features);u.features.vjmo=!0;let c=[o,u];if(i>li){let e=Bi(r,i,n.features);e.features.tjmo=!0,c.push(e)}return e.splice(t,1,...c),t+c.length-1}function Ei(e,t,r){let n,s,i,a,l=e[t],o=Oi(e[t].codePoints[0]),u=e[t-1].codePoints[0],c=Oi(u);if(c===ki&&o===Pi)n=u,a=l;else{o===Ai?(s=e[t-1],i=l):(s=e[t-2],i=e[t-1],a=l);let r=s.codePoints[0],u=i.codePoints[0];vi(r)&&Si(u)&&(n=ni+((r-ii)*oi+(u-ai))*ui)}let h=a&&a.codePoints[0]||li;if(null!=n&&(h===li||xi(h))){let s=n+(h-li);if(r.hasGlyphForCodePoint(s)){let n=c===Ai?3:2;return e.splice(t-n+1,n,Bi(r,s,l.features)),t-n+1}}return s&&(s.features.ljmo=!0),i&&(i.features.vjmo=!0),a&&(a.features.tjmo=!0),c===ki?(zi(e,t-1,r),t+1):t}function Ri(e,t,r){let n=e[t],s=e[t].codePoints[0];if(0===r.glyphForCodePoint(s).advanceWidth)return;let i=function(e){switch(Oi(e)){case ki:case Ii:return 1;case Ai:return 2;case Pi:return 3}}(e[t-1].codePoints[0]);return e.splice(t,1),e.splice(t-i,0,n)}function Vi(e,t,r){let n=e[t],s=e[t].codePoints[0];if(r.hasGlyphForCodePoint(di)){let i=Bi(r,di,n.features),a=0===r.glyphForCodePoint(s).advanceWidth?t:t+1;e.splice(a,0,i),t++}return t}var Ni;Ni=JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');var qi;qi=JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","null","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","M","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');const Ui=1,ji=8,Xi=16,Hi=32,Wi=64,Yi=128,Zi=8192,Ji=32768,Ki=65536,Qi=131072,$i={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},ea=2|Ki|Qi|4|2048|4096,ta=Wi|Hi,ra=Xi|16384,na={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:$i.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:$i.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:$i.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:$i.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:$i.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:$i.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:$i.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:$i.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:$i.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:$i.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:$i.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},sa={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:ia}=_(qi),aa=new y.default(us("AAARAAAAAABg2AAAAWYPmfDtnXuMXFUdx+/uzs7M7szudAtECGJRIMRQbUAithQWkGAKiVhNpFVRRAmIQVCDkDYICGotIA9BTCz8IeUviv7BQ2PBtBIRLBBQIWAUsKg1BKxRAqIgfs/cc+aeOXPej3tnZX7JJ/dxzj3nd36/8753Z5fUsuxgsAwcAU4Gp4BPgM+Cd4P3RjieDs4GXwLrHJ5bDy4DG8A14LvgZrAZbAF3gns0z18ALgY/B78C94NHwBPgabAE/AX8DbwM5sF/QX0yD5vFcU/wVnAgWAoOAyvAceBE8CGwBpwGzgJfAF8BXwXfAFeC68EmsBlsAXeCreA+8CB4DDwF/gh2gd3gFfAGmKxn2QzYC+wHDgRLweFgJTgWrKrnuq/GcQ04jV6fheN54EJwEbgcXAG+Q8O/j+Mt4DZwB9haz8t9Hz3a8iCN/xiOvwRP0evH6fE68AzOH+Ke2eWYhw3PcGnuxvkr4A3QaGRZB7wFLAEHg2XgiEZ/fHKcp/ceBh/A+cngFPCpRm6vM3E8l8a5gN67GMdvgqsbeX2ap9yI601gM7gN3AG20mfuo8cdOP6GpvdUg9oKxz839GV90RDO2/glxN1B790NXsN1rZll7WYRdw+c70uvTwIHNAfTO0RyL5TDmnnbc3lmRQI9UnM0dD5eovfz4FpJ/BNpXNYWV+N6Lfg0hY97JK1vn+Pur9DoQur2F7m436bHDUK8C5t5/8vruo4+97WmXG+GLmzEiBF+PDwEOowYMWLEiBEjRoxYeBw5BDqIPEfXut9yWN+vVNxfrnnmWqR/PdgENoMt4E5wD9gOHgCPgifBs2BXM99b2o3jP8F/wMRUlrXAHNgHvH0q3895J46HguXgWHAGLctmLv9VuL96qnp7jxgxYsSbCbJvuRZ97/tqxT59VVRtixEjRsThBG7OSt5zzoPT0M+cBc4T5noXOs79TqLHeZrHUeCSqeJ96gacXy2kecNU8V6Hh7yXuQlhtw7B/PO1RTkr52Aj8JNFZjYg3gOKuC/g/v6Ls2wNuAY8urg//PcIb+6RZXuDNeCS6SzbBrJWlh0DLiFHco8ed9IjzzvaWfa9sZzTcf6D9mCcnbg3PlNcH4fzS8F2MDaLdQG4dLZIJxbbaZqv4ri8k58f3+mPs66T6/TTzqDeI0aMGDGiHP5dcR8ce/xxYcWi6vOfr725uRzcjnngXVOD61Hync+9uL+Nmyfej/NHpvL56A5Jeuz7uyfo+pqcPz2Vf1NH0ttJ03pekt8SmuY/EPYy9zzbN319ym/9TL6ZIt9MHCXRdxJtoAkWTRdz472n87D9cTwYLJvuz++I6WIePo/zE8AHp4v8WLyP0nufnM6/+zoDx8+DL08P6r9+urheRtO+jD6/cdrsx3mqu8w+xH4PScKIXa5D2jeCm8Et4DbwI/BjcC/4BXgI/Bb8DuwEu8Bu8Ap4A9RaRZptnO8J9gUHgEPAoWA5OLY1qMO90GEV7q+mYWtxPBWcIYnL4p+DsPNbxfVFOP86uAr8DNc34HgTDb8Vx9sVaRFI/LtagzYjnCqpb908EX87eBA8Bh4Hf2jle/9/wvGFVv787rrZZy8h7qtgDOuFOmiBuXYRvg/O9wMHgXeB97SLspk4sq0OI/q9v13+ek+sh3zYSRp9jrYorw9ll1/GRzR+KotYZSHf8laVP2lvpA/8OGdPMk59hqtXZ+L8nHbxvWwqO65ryu+fT3VZz+l4dET7L0R072ljsMyzTpaJqQxsbL8M9WajY789DO85XMp/Dcp3Qztdn+9qf/a97ZWK8PXc3G+TpC/nv8Mncy7ZvICF302P5O+aNiOtLdTXd+D4Q7DVwfcvWvx9zTEJ/o5iG3R8YAjGNFseha5PGuZKz7b7xxXbOrXMcu5eJSo//rXdH/73Enz6L1q/X+fyIu8wZGtNBmkjkzNZNgP2AvuBg2bysKUzduXn/66JtNeN4PCZvO0/x7Ujdn4VnYOvRJzjZ/I+9sQZeftX2Tc1RPcPz/Tf4/si0g+t5Mq+kfZjZL34Mc5ul3PPnE7TOxvHK2qDaZ+L++db2HyYqMo/qVnb/P8uH8/rmnFxR0k6DCu/rjj/RxT7KGUSWgbd+LMQuEgYB1zsk2qtvJD8v5AhdfdttbEunSxbcJD9Zf7chqp1Hlbe7FK1/aPVTfp7FgtC1yGGiSncFK/DhZvi+epZta0WWjlsfDZMyPRdSPrryqSSKnXx1bkq/Ye9TlRpk7Lrjq1UrfdC9X+MtKqwP6+3a/4pJFUZF0pZZpv91MYjMBaRRXbxpho5zQmUY3F+Pt4o7rvQrBXPdm00TaE24uMadaM2meLSI7iu071t3er3b6ZLi8JEde3qw+6zGv+ycF5kaRBh/m1T/7Yl/mMyTuMwadP4xL9ifjJpNwbvDZRJ8G8vnqV/Wf12aa/kyOdl69+BspTsXzGueE6E+JfZnvmXIfNPW+FfXkjb1YmqPNpnLP3b61fHCj/X5tzGANf2y3yqvC7Jv7btV4TVbdammI9l/g0dS5lNxLrk2j9r8xjjxhBQnygg0lgg/bOrfyct+udJi/Yrk0lFnxC7f+5kRbsNmcexfrubt0X/rGvLqrGSnYv3ZPHEe8r7lvMvUfi2LOu/2dg8LrRtQt2yfcv8r5IU70VkIs6nbebUXf0M/o7Znl39Sdoz+X1oEb5N8ffF67qhPfPP6eoUbxf+GRf/6sRnvaSdmw+Bf1VxmbD+2sa//DU7t/Gv2PfKpKdrBP92Ojk+IvqX16ks/2qxbL8EZnc2HqsgYuqPuzZV+I3RbujbDm+T0PmWCVO/5jqftp1zy+wSA6s0JWtp2z5e1oZV+yMsjB3ZXolsv0Ulrv01v3/iKrF94Qtbt9siCnmeb6fjjf59KnLk1xaEbvtvFnFirGvEOqmycQrbm/IMsXd3P28uh4nM3swXRER717OiX8kc7K2qqyn2p3maFGU/aruP5VCv+PraoTYU8yUmmbDwcYo6pusnM486xdoga4dkPCb1pK7Sfc6ebvkd4qeAtQcd/N63bB3lU3dlUnUf38VyvqCqK7JxlNSd7lydrDlm+/uqHiRvl30Nrp/n9zpkZRjoJ3V1diyP05rIYXHYs+w+D5+WMS8b5gZtKcuX0KT5d/WwtB97VnyvY6rjMukI56HI0rFJPwt8PjT/1OXzSbcMeEmdh294qvKK4rNu7j4n3LNZg8TKXwafv025U+XvKjHsT8Q7/7LGaJt9lAh7Asz3uv0XEX6t0duDoWN/93wmh92XpUHmCKb9GALbG+rZP3AfNbQPKKv/jpF/bP0JXfuW1QYk7dhljcyvk5mw+933Hpo1g26PQ2ZP6zVmTJt47P25jncD9vPwGS+q9QS/V6RaY8j8K8LmvUr9HfYCpH5OWL9lZY+Sv6pesHCJHbtrf9k6etZvf0G1L0ja4cAe1UT/s3zdCe3/Q5/n372wMc97/E1Qh0Tbmfwh3m/V9On72tNnrCF1sJkVe1EyXMdBa7+lHMsk44zMF6St9e2djNnbm8ybpHkq+gbbemMaH0UZmD8obKGrk7r+nt+3bE7o83YZp/vqOKdv6PzJNN6mTJsI/51XR7i2ZrGA5B6zFwnjzxmqPjaGfW3tZNrz1eljq29mOOqeCfF/irRt87PNw0uXSVAvrmOMNT569MptsYaV0sic/wbY13e8hPrb9K2ySUJ0j6G/Lu0U4qpTrR23jMp6m5hU+YTaWCeh9aIsm/rqUHV4bFv42kgnZdfH1PUj1D7DVH9d8khRN1zFRl/+/TW//qxL1uH83+mk3H+SvRtS2TDU90nX2TpM6/1xzZpZtoYdK763dqlz0f6uNeFehcs+H/nbGP77MpX06n/ofpzP+tVmTUvRtVuX/cjS67OE5kRBrxyJ+w/dPo7r+9cO1160e3gqu0S2uW7PjN/L6ns/UfMf10Lai87frJ+3KndAfc8yTf1M3T4s6qm4/yh7/2GSkG8UMw//DvRLgbYZSEOxr0LCWvRdjfh9XGzfqN4NivfZd7rsmFp08zmbssrKJEuTfVMZopdpbuwSrhNv3/N2s+0PDG3KNB6RMrFvJHv6B85HXObAoWsd3zm3i+6uZYytv+5+pohbpo6+tpZJFfmGlrcMf4c8b1Pe2OUIsaXJrinCTfaxtZOt+NYnU3hIfQlN20Z/1+dt7JaqLsbIzycNWZmrlNg2Dc2/LJ1T+T6WrrYSml4Ku7ik7yIx2opJD51vU9UfVRmrqL8u/olZj0PyCLV5irxcdKoi/6rKb8qTrHsnhW9jyZH/nSpeWDzxd9769uQ016lgUuf2pAfKPhu2FpfZL2Yb9snLNl/fNIepXaUsj4vNXCXUZ75px8ojNP8UPvAta2g6fb+F1ckZuneshv1vGXXDeyRRrN/bBPS1Jul+l+7zW86R7Wv63WXyDpt/RxraRjvC+TC3O61/Sqj/prag8x372yQivn+XwudrI2X2E2KdtJEov52e0L+uv4FO3p/rvssgsL8F4d/z9PzlWS94m8fqS3361Fi+6qaVYHwi9Yz4iH2fobIj+45cpz/TUaarr/4+z+vaWtVtyAX2d1LG8W9C3f+F1mnf36/k4w3YPrLv+XBVXCJs3cr+n4MKJuLv/fN9GhNdXVP5pJMN9vFi3rpv3/r8Ywg3SYp66zNOsO8QGcxPpnmRS/1mvmJjju3v7absI2xspQrvs1dNbjOj/wP7h1RlZyKGy8occ408UL8En4v6xfC/K3z52XzJd62T8vuZGGsxo/6O46ntmNqqFb/jps2/hHV4rPKH0svT4pstU7t2tZ9u/ZdqbJL1MwP6O86Fyt4jYaIrGz9mjEt8lFL4PtVE6votG2P6fpdf/GZRse7s3bf4BtSl/DIbKMctx++Z+8o6K6z9FPOwKsRmXiaNl7C+6NYRpjlbqG1j72f49qsuY4brd/amb4ZVc8TQ+sSH985LrEe8iPWJnfPrJRbWbb+dwn4x6o+r/aS2S7w3qWt//LnYz2ntE0vH1uDcyKatx1rH+EiMPEN1SZG/iz6+9o01Rob6O7Q+xLZ1jHobK61U+pWVvo2EpuWqzzD6Poa+pvhli0wn8Zq/72Mzm2d90o5VN1x9ZKuzbTgvqWwUIin8FSpl1CXXvFRxU0iozVPYJDRtF3uFphn6XAyJUUdD7SjTJ8v6n9fVbVObkKWp001lc9VRlqdOf5v0ZM+bymdbfp1NfG0bq27Y5JMyfxeJkU6o/inKH8O2Zfgidb6h/g3VJ7QcVbWL0Pxt6rlrPqa4KfQ25a2zl4/E8GdM/4fK/wA=")),la=new b.default(_(Ni));class oa extends zs{static planFeatures(e){var t;e.addStage(fa),e.addStage(["locl","ccmp"]),e.addStage(ba),e.addStage("nukt"),e.addStage("akhn"),e.addStage("rphf",!1),e.addStage("rkrf"),e.addStage("pref",!1),e.addStage("blwf",!1),e.addStage("abvf",!1),e.addStage("half",!1),e.addStage("pstf",!1),e.addStage("vatu"),e.addStage("cjct"),e.addStage("cfar",!1),e.addStage(wa),e.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),e.unicodeScript=(t=e.script,gs[t]),e.indicConfig=na[e.unicodeScript]||na.Default,e.isOldSpec=e.indicConfig.hasOldSpec&&"2"!==e.script[e.script.length-1]}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let n=t[r].codePoints[0],s=sa[n]||ia[n];if(s){let n=s.map(n=>{let s=e.font.glyphForCodePoint(n);return new ti(e.font,s.id,[n],t[r].features)});t.splice(r,1,...n)}}}}function ua(e){return aa.get(e.codePoints[0])>>8}function ca(e){return 1<<(255&aa.get(e.codePoints[0]))}p._(oa,"zeroMarkWidths","NONE");class ha{constructor(e,t,r,n){this.category=e,this.position=t,this.syllableType=r,this.syllable=n}}function fa(e,t){let r=0,n=0;for(let[e,s,i]of la.match(t.map(ua))){if(e>n){++r;for(let s=n;s<e;s++)t[s].shaperInfo=new ha(Ui,$i.End,"non_indic_cluster",r)}++r;for(let n=e;n<=s;n++)t[n].shaperInfo=new ha(1<<ua(t[n]),ca(t[n]),i[0],r);n=s+1}if(n<t.length){++r;for(let e=n;e<t.length;e++)t[e].shaperInfo=new ha(Ui,$i.End,"non_indic_cluster",r)}}function da(e){return e.shaperInfo.category&ea}function pa(e){return e.shaperInfo.category&ta}function ga(e){return e.shaperInfo.category&ra}function ma(e,t){for(let r of e)r.features={[t]:!0};return e[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([t],e),1===e.length}function ya(e,t,r){let n=[r,t,r];return ma(n.slice(0,2),"blwf")||ma(n.slice(1,3),"blwf")?$i.Below_C:ma(n.slice(0,2),"pstf")||ma(n.slice(1,3),"pstf")||ma(n.slice(0,2),"pref")||ma(n.slice(1,3),"pref")?$i.Post_C:$i.Base_C}function ba(e,t,r){let n=r.indicConfig,s=e._layoutEngine.engine.GSUBProcessor.features,i=e.glyphForCodePoint(9676).id,a=e.glyphForCodePoint(n.virama).id;if(a){let r=new ti(e,a,[n.virama]);for(let e=0;e<t.length;e++)t[e].shaperInfo.position===$i.Base_C&&(t[e].shaperInfo.position=ya(0,t[e].copy(),r))}for(let a=0,l=va(t,0);a<t.length;a=l,l=va(t,a)){let{category:o,syllableType:u}=t[a].shaperInfo;if("symbol_cluster"===u||"non_indic_cluster"===u)continue;if("broken_cluster"===u&&i){let r=new ti(e,i,[9676]);r.shaperInfo=new ha(1<<ua(r),ca(r),t[a].shaperInfo.syllableType,t[a].shaperInfo.syllable);let n=a;for(;n<l&&t[n].shaperInfo.category===Ji;)n++;t.splice(n++,0,r),l++}let c=l,h=a,f=!1;if(n.rephPos!==$i.Ra_To_Become_Reph&&s.rphf&&a+3<=l&&("Implicit"===n.rephMode&&!pa(t[a+2])||"Explicit"===n.rephMode&&t[a+2].shaperInfo.category===Wi)){let e=[t[a].copy(),t[a+1].copy(),t[a+2].copy()];if(ma(e.slice(0,2),"rphf")||"Explicit"===n.rephMode&&ma(e,"rphf")){for(h+=2;h<l&&pa(t[h]);)h++;c=a,f=!0}}else if("Log_Repha"===n.rephMode&&t[a].shaperInfo.category===Ji){for(h++;h<l&&pa(t[h]);)h++;c=a,f=!0}switch(n.basePos){case"Last":{let e=l,r=!1;do{let n=t[--e].shaperInfo;if(da(t[e])){if(n.position!==$i.Below_C&&(n.position!==$i.Post_C||r)){c=e;break}n.position===$i.Below_C&&(r=!0),c=e}else if(a<e&&n.category===Wi&&t[e-1].shaperInfo.category===Xi)break}while(e>h);break}case"First":c=a;for(let e=c+1;e<l;e++)da(t[e])&&(t[e].shaperInfo.position=$i.Below_C)}f&&c===a&&h-c<=2&&(f=!1);for(let e=a;e<c;e++){let r=t[e].shaperInfo;r.position=Math.min($i.Pre_C,r.position)}c<l&&(t[c].shaperInfo.position=$i.Base_C);for(let e=c+1;e<l;e++)if(t[e].shaperInfo.category===Yi){for(let r=e+1;r<l;r++)if(da(t[r])){t[r].shaperInfo.position=$i.Final_C;break}break}if(f&&(t[a].shaperInfo.position=$i.Ra_To_Become_Reph),r.isOldSpec){let e="Malayalam"!==r.unicodeScript;for(let r=c+1;r<l;r++)if(t[r].shaperInfo.category===Xi){let n;for(n=l-1;n>r&&!(da(t[n])||e&&t[n].shaperInfo.category===Xi);n--);if(t[n].shaperInfo.category!==Xi&&n>r){let e=t[r];t.splice(r,0,...t.splice(r+1,n-r)),t[n]=e}break}}let d=$i.Start;for(let e=a;e<l;e++){let r=t[e].shaperInfo;if(r.category&(ta|ji|Zi|Qi|ra&r.category)){if(r.position=d,r.category===Xi&&r.position===$i.Pre_M)for(let n=e;n>a;n--)if(t[n-1].shaperInfo.position!==$i.Pre_M){r.position=t[n-1].shaperInfo.position;break}}else r.position!==$i.SMVD&&(d=r.position)}let p=c;for(let e=c+1;e<l;e++)if(da(t[e])){for(let r=p+1;r<e;r++)t[r].shaperInfo.position<$i.SMVD&&(t[r].shaperInfo.position=t[e].shaperInfo.position);p=e}else t[e].shaperInfo.category===Yi&&(p=e);let g=t.slice(a,l);g.sort((e,t)=>e.shaperInfo.position-t.shaperInfo.position),t.splice(a,g.length,...g);for(let e=a;e<l;e++)if(t[e].shaperInfo.position===$i.Base_C){c=e;break}for(let e=a;e<l&&t[e].shaperInfo.position===$i.Ra_To_Become_Reph;e++)t[e].features.rphf=!0;let m=!r.isOldSpec&&"Pre_And_Post"===n.blwfMode;for(let e=a;e<c;e++)t[e].features.half=!0,m&&(t[e].features.blwf=!0);for(let e=c+1;e<l;e++)t[e].features.abvf=!0,t[e].features.pstf=!0,t[e].features.blwf=!0;if(r.isOldSpec&&"Devanagari"===r.unicodeScript)for(let e=a;e+1<c;e++)t[e].shaperInfo.category!==Ki||t[e+1].shaperInfo.category!==Xi||e+1!==c&&t[e+2].shaperInfo.category!==Wi||(t[e].features.blwf=!0,t[e+1].features.blwf=!0);let y=2;if(s.pref&&c+y<l)for(let e=c+1;e+y-1<l;e++){if(ma([t[e].copy(),t[e+1].copy()],"pref")){for(let r=0;r<y;r++)t[e++].features.pref=!0;if(s.cfar)for(;e<l;e++)t[e].features.cfar=!0;break}}for(let e=a+1;e<l;e++)if(pa(t[e])){let r=t[e].shaperInfo.category===Hi,n=e;do{n--,r&&delete t[n].features.half}while(n>a&&!da(t[n]))}}}function wa(e,t,r){let n=r.indicConfig,s=e._layoutEngine.engine.GSUBProcessor.features;for(let e=0,i=va(t,0);e<t.length;e=i,i=va(t,e)){let a=!!s.pref,l=e;for(;l<i;l++)if(t[l].shaperInfo.position>=$i.Base_C){if(a&&l+1<i)for(let e=l+1;e<i;e++)if(t[e].features.pref){if(!t[e].substituted||!t[e].isLigated||t[e].isMultiplied){for(l=e;l<i&&ga(t[l]);)l++;t[l].shaperInfo.position=$i.BASE_C,a=!1}break}if("Malayalam"===r.unicodeScript)for(let e=l+1;e<i;e++){for(;e<i&&pa(t[e]);)e++;if(e===i||!ga(t[e]))break;for(e++;e<i&&pa(t[e]);)e++;e<i&&da(t[e])&&t[e].shaperInfo.position===$i.Below_C&&(l=e,t[l].shaperInfo.position=$i.Base_C)}e<l&&t[l].shaperInfo.position>$i.Base_C&&l--;break}if(l===i&&e<l&&t[l-1].shaperInfo.category===Wi&&l--,l<i)for(;e<l&&t[l].shaperInfo.category&(ji|ra);)l--;if(e+1<i&&e<l){let n=l===i?l-2:l-1;if("Malayalam"!==r.unicodeScript&&"Tamil"!==r.unicodeScript){for(;n>e&&!(t[n].shaperInfo.category&(Yi|ra));)n--;ga(t[n])&&t[n].shaperInfo.position!==$i.Pre_M?n+1<i&&pa(t[n+1])&&n++:n=e}if(e<n&&t[n].shaperInfo.position!==$i.Pre_M)for(let r=n;r>e;r--)if(t[r-1].shaperInfo.position===$i.Pre_M){let e=r-1;e<l&&l<=n&&l--;let s=t[e];t.splice(e,0,...t.splice(e+1,n-e)),t[n]=s,n--}}if(e+1<i&&t[e].shaperInfo.position===$i.Ra_To_Become_Reph&&t[e].shaperInfo.category===Ji!==(t[e].isLigated&&!t[e].isMultiplied)){let r,s=n.rephPos,a=!1;if(s!==$i.After_Post){for(r=e+1;r<l&&!ga(t[r]);)r++;if(r<l&&ga(t[r])&&(r+1<l&&pa(t[r+1])&&r++,a=!0),!a&&s===$i.After_Main){for(r=l;r+1<i&&t[r+1].shaperInfo.position<=$i.After_Main;)r++;a=r<i}if(!a&&s===$i.After_Sub){for(r=l;r+1<i&&!(t[r+1].shaperInfo.position&($i.Post_C|$i.After_Post|$i.SMVD));)r++;a=r<i}}if(!a){for(r=e+1;r<l&&!ga(t[r]);)r++;r<l&&ga(t[r])&&(r+1<l&&pa(t[r+1])&&r++,a=!0)}if(!a){for(r=i-1;r>e&&t[r].shaperInfo.position===$i.SMVD;)r--;if(ga(t[r]))for(let e=l+1;e<r;e++)t[e].shaperInfo.category===Yi&&r--}let o=t[e];t.splice(e,0,...t.splice(e+1,r-e)),t[r]=o,e<l&&l<=r&&l--}if(a&&l+1<i)for(let n=l+1;n<i;n++)if(t[n].features.pref){if(t[n].isLigated&&!t[n].isMultiplied){let s=l;if("Malayalam"!==r.unicodeScript&&"Tamil"!==r.unicodeScript){for(;s>e&&!(t[s-1].shaperInfo.category&(Yi|ra));)s--;if(s>e&&t[s-1].shaperInfo.category===Yi){let e=n;for(let r=l+1;r<e;r++)if(t[r].shaperInfo.category===Yi){s--;break}}}s>e&&ga(t[s-1])&&s<i&&pa(t[s])&&s++;let a=n,o=t[a];t.splice(s+1,0,...t.splice(s,a-s)),t[s]=o,s<=l&&l<a&&l++}break}t[e].shaperInfo.position!==$i.Pre_M||e&&/Cf|Mn/.test(m.getCategory(t[e-1].codePoints[0]))||(t[e].features.init=!0)}}function va(e,t){if(t>=e.length)return t;let r=e[t].shaperInfo.syllable;for(;++t<e.length&&e[t].shaperInfo.syllable===r;);return t}const{categories:Sa,decompositions:xa}=_(qi),Ca=new y.default(us("AAACAAAAAAAQugAAAQUO+vHtnHuMX0UVx2d3u/t7bXe7FlqgvB+mpQhFmhikMRAg0ZQmakMU+cPWBzZisEGNjUpoiIYCEgmGUGOEGqOVNPUZUGNA+QNIBU2KREEFFSMBUYRISMXE+B3vnPzOzp553tcWfif5ZO5jnufMzJ2ZO/eumlDqFLAWnAMuBBvBZnC5uXZeBe4WsA1sBzs8/naCXcL1G8GtYDfYA74NvgfuAfcZHmT+fwEeBb8DTwvxPQWeAavACyZvq8z9VYxXwCGglijVBcvACnA8eCM4E6wHG8BF4BLwbvA+8AHwUbAd7AA7wS5wC9gN7gR7wX5wN7gXPAAeBr8Gvwd/Ac+CF8EhoCaV6oBZsBKcAE4FZ0wWeV8P9zxwoTnfCHczuBxsAdvAx8Gnzf1r4X4B3AxuA1+bHJb9m5PzdVGW/Yjv+xXHyfmxFfd9OH8Q/Ar8Bjw1WZT3GfACeAX8N5CfqSmlZsAKsGqqCH8K3DXgbHCuuXYB3HeAd4HLpgrdarbi+EPgY+CT4HPg8ybMTcb9MtyvghtYut/A+b4pf95+ELgfw08Qx/3gADgInjDl0veehPtX8A/wsrn2KtzxDuogWNoJx38k/BzXKeI8Ee5qcBZYD9aZtDbg+AwT19uMX83F7JizCdcvBZdZ97c6/BMfMWmfzfTm88/95aLj+DDSvApcDXZ04uPfaen3TMHPLvi5BezuFPVtD4t/qUcfe3FvP7gb3Ouwo9T+H+gMy/UIjh8DfwBPm7T08d/M8WMBe1Sh3xEjXo+M2s+IESNGjBgxYsSI1wLrOsM1gRsi/P+TzV3/Zc1jvxgR/j8IM9Et1mEGcJeDFeA4cJq5/ia467uF/w1wzwdvB+80998LdwvYZs63w90Bdnbd6Wp/uzz3R4wYMWJEvZzTMm2Xf8SIEfVQd/v+EsaPt3eL90J3wP2WMJ78Trd4t6+P77Hu37cIxp9/ny6YXqrUJeCR6TA74e/nll81MzxejeMtYA94HBwy91bPYow+O/S3A8d7oIM/gRN7CAP29Iqx/B1ThfuwOecM+vA3NmRjf6Gfm3BtH7v+PI7XDpS6EuwDz4O10+0/f9om1F4ehO4OmHp6EO7jxl56nvhsN/15ut+4Z0b657yYkZ7UJ0jhX0bcr3bn+6P87vekN4762QNzvWHZtL+jcH5srzg/uTf0f3pvfj5i+6tYW7rK9+aefO+tuL4BXAQ2gs3gPeBJc//9OL4CXAWuNvc/A64DN4Jbwe0s7jtxvBfsAz8EPwX3gwPgoJAHPQ9/Atf/bO7p/TTP4fglwS/5/zfujfWH5z0cz4Gj+8X5Sf1ib4m+vwbHZ/fdOtP+z+3LOnPp/QL4vxhsApeCy8BWk/a2ftFmYu22Hf4/Ba4B14Hrwc0sP7fh+Cvg6+Au8F1WthA/8pT7UeTxZ/12njkuXT8UyM9i6iur1EEb6f+yPz/eg0b3v4X7x365fMaW42lPu7PTv6vi8i/G+lWF/cvUk7bLl1r+5/rN5tu3j2qvWTd/qV+4h+AqjDGnBsX59GDo94iBXDa6v6Yjl6vu+h8itJcsZq/ZykHhHg/3tMHhUe9s/Yfuny7YNxTvQ8LYdrER2+/c0GBezhrMv3ZNRv7PmYirh7oOv4W1Y72/cwPOzx8U7X8d2295sfE3MPnbBPfSQbHv9nK4HxTqiK/trI7Yy5mLzvuVg/nX+N7V51A3r+gMy/4J434W7l2dYf5PZWGuNX6uh3uzEPetuLY7sZ20zTETY2oxyBhj3DrnfsidYPeXRGLHpxzX6pbFofGRkFBdGhcgW40L4cYtd9JAElO36q4LEzXHX7VMtZ2BEhJjy9dT25fazOtJxhwsBrHzwfu8w12kMYN9fLhIbp2RxlI59rX1dzjpsKl2Fxt3iu6rbofc9q5+KcRrXVzzDn6/Crvk6p/y1GFgGhs9/6maHjBLgv8/18fTxl1q0bPoW8ywsFTGWaazHosrNn/kP2eeqEroZYLZphsZl7L82eephMIqNT8dyT9JjH1Jpg32ubZvTB/SF665ymSnnaqjUHum+1Qn+NyOtz9f2r6y5OQ51b6hYy0D40r2tYXar30+Y/mbVX6JqY+hMC60XZapoh3S/HdOpT3DYu3rs0lKnquyb277JZvyPlqp+f1zVVK2/dJYNpQGf04uYyh1+PTPqfalZ2tO/xwSu+3bOrDzmWvfcTW/fLmibRx6lkvlcOlc8qsE/y5/rnSk67F1iAu1VT6+4jKt5tufn8e2b+n57JKcckhrsKG1Cd6Wu+Y8tf2l5DenPafqQZ/7xstKLeyr+XnInjSelvRgS9n27JPQM5n6Am7jmLG8VK6m7OvyS2L313XYV2r/tth5LWPfNxhyhI+1Up7HVbe/HMgeZE8brtNQ/7tcyX0cn//H2LTO9kpir5VI6yYp9szJW9W2jI1Tqfl5ic2v1GZ5XaG6RDZbyvxMO/DVh1SdUj5y1vraaHs+2/TYNXvtSRoXk4wrf9w6fEctnFt0zL2y+xFsfSrLza2zOTqMiZv8xOpbn8+xsL5ykdj6VsxNKb/Lvxb7nX8u48y1x6yuMW3V9tNxTlouzXslibVxndjC14xda8g2NIbg5x01XAP2lfeIBFSi/zrQEporTXru8fCueiy1CUnqrhspSM9SzbSS64tep9R1ZsZcOxKsUEUfNZeYtr0vjY5DeXW915hT8/PRV8MxlR1HV4DHZZc9R7dzajgWoXikdLtGr0uEfPigsGS/NvYjSHW87XejoXZehZ74XrcqpQ4d5T5f7Gu8f6g7fQmefoqOqk4/VarQv2o4/VDetPDnhjR2dc3BCBp/9NVw7KGfwStVMf6aZNAajj6224j9HCZbpZa/LvH1gU30i/q5WnUdSNEprxv2eIOwx2pcjjLMsmObo008k0J4u69P3d9QdbspW/dy080Nb8PXqcrmj0vsc7tu6qwD1A5oLYr3U3XWSxqj6/a10nCMkudJMyxvrvbK55jUrqU+Xlr/Iai98jY7mVAml5QNHxq31j2m5TrSdmp6z5p+9kpzQntdQbI1Pafr6I9C60gxrALHGtdF6tyhLTtxeBuW+hhqyzPMX931xl6rJ5f6n5h3blpsW7vKbvdBfL1gpYfjDLrvob1drrRT+mcuMf1OrJSdW/P+RfufdUB+pOtdTzhpL5t0jfKr46P3obQfQdPGt1jS+DEkx4MT2PmEg1j72OthqfZNWX+JuZ4at/2sTAmn5cSIMqZIjk0pnD0+aUI6YS9ekdaspWsp8cWEC62dS66UTkq+ypajyvXSlPz4xhQhm/ns6wpXBVI560jHN9aKkdT46spvWT916rONdHNsGSNtl6Hp8oakTVukpF9n3U3Jx0TNefbp3R4jltVfFfpvQkJpNaH/puyco++qbZPz7sE1L3DFGVovc4XPLUPO3ELyrzLiSpmPhaTJfqeJ+t60PiTh9snNW2656upDQ+Wtyg6ueJquB7HSVPspW9a28lDWJouhb6iyv7XjTfVL67j2vjDpvUfMt1Vl4GvctMaeq/vYcFWXIfV5Ku3XaxK951H6dsWFrhcxa3pU/pz3C1xc71tTcaXjGjtJbYIj7UHm7wxSyx+D/d7SfpfJ3wPpfSQp32tS2dt8V2tD7+Bce3rpPa3eC6Dr8Ulq+K+J3HFvbn312Zv2RdStr9g0pP0P/B04XbP3Q8cIT2dlRF6orkrhY/Rv27FqHfL1DP480ffo/V6V7aTHXLKDbTdXOOrnyG1ScvSv6xqve30lPzdpj36M8Pilb+L5vr0xE3dd30nWIfZ45uSSxK4x+CRmTUK6F/LrSsfnj+aOdYyvpXyMK7/OpHWjlDTsa0rJum5K7Ppnj7F9c+0q0qtr7pQji2X9oMwcVrJfmblwU2V2SV3rEk3YuO46XXf8MfrQz077G2zftyDkj/ZqhcZr9nldkOg5ykAt3GunJbR3NGYsUfWafd3ts853C4dLHppOM6WcfM5C+xSbaC/2HMa1H9v1vXdoXm/LKSVpYh5wqmr/X67SfwHtPc9a97p/k8bt0hpbW0j1Svr2m+7Rd98qIQ1pvSF273dKOjHYNmk6fd8/JX3tWIddblBqoU5p7zrZKnd9TppjVq0DSitWqkwz12b2exb7vwjaRvS/TFd/S+8AYvIo+Suri5TwvvZRdV1IQevQ1/8SA+UeH5eto7n/X1Oe86ptaafl8kPjcF7P7W93eD9d5n+oSvn7fFe7I/G9q1IBfylSR71N6fft94ZU18hOXKR+JqUO8f4+5dvLsmWlMQb/Vov+CUDlpTGUndeQlG3fdZWdRPoPgl3mmDlsLnaey/4X3tVuU+o6L3/Pym+qlLV/jk6rlBRd8394hZ6JdnuqIv2ykOh3pfq96Wkq/E8qu2xl88/tOJ4R3tfmpbGi3c5T859bzqr7MbsN03iI5itUNj5eaEKWqIX/KJCQ/iFWNZMmHXs8ovWk53JzFq5vPul6zDjLV36pX7bzvNzB0YlQOZephWtRS5T7eeSq8030R77/HvC1d7tN83Zt9yltrDdwSR0XxsZd5l+MvvvU1/M9jSnj+Nh6FPJbBld/w6XHXH5MZeXrOfS/65g9RTl1JCa8chzX2RZ9/3lXSh4/VqWfEBNq4b82Ytp6m+9Qqxir1jX+rfPdT1vvsWhM6bPbmON6E1LnPCZW7L0qqXswmtqf0MQelZj4myrzYtzvIYmURlvtqapyx+gzRfd0XPfahVSOquMoG+dibBdl46iyfdbV1qvUW9m8+KTudMvkzZe/pqTJ+pWTflX5zw1fVfox6ZTVc8hvHflOSb+OuG1JsZ0kufXAJf8D")),_a=new b.default(_(qi));class Aa extends zs{static planFeatures(e){e.addStage(Ia),e.addStage(["locl","ccmp","nukt","akhn"]),e.addStage(Ta),e.addStage(["rphf"],!1),e.addStage(Oa),e.addStage(Ta),e.addStage(["pref"]),e.addStage(Fa),e.addStage(["rkrf","abvf","blwf","half","pstf","vatu","cjct"]),e.addStage(Da),e.addStage(["abvs","blws","pres","psts","dist","abvm","blwm"])}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let n=t[r].codePoints[0];if(xa[n]){let s=xa[n].map(n=>{let s=e.font.glyphForCodePoint(n);return new ti(e.font,s.id,[n],t[r].features)});t.splice(r,1,...s)}}}}function Pa(e){return Ca.get(e.codePoints[0])}p._(Aa,"zeroMarkWidths","BEFORE_GPOS");class ka{constructor(e,t,r){this.category=e,this.syllableType=t,this.syllable=r}}function Ia(e,t){let r=0;for(let[e,n,s]of _a.match(t.map(Pa))){++r;for(let i=e;i<=n;i++)t[i].shaperInfo=new ka(Sa[Pa(t[i])],s[0],r);let i="R"===t[e].shaperInfo.category?1:Math.min(3,n-e);for(let r=e;r<e+i;r++)t[r].features.rphf=!0}}function Ta(e,t){for(let e of t)e.substituted=!1}function Oa(e,t){for(let e of t)e.substituted&&e.features.rphf&&(e.shaperInfo.category="R")}function Fa(e,t){for(let e of t)e.substituted&&(e.shaperInfo.category="VPre")}function Da(e,t){let r=e.glyphForCodePoint(9676).id;for(let n=0,s=Ma(t,0);n<t.length;n=s,s=Ma(t,n)){let i,a,l=t[n].shaperInfo,o=l.syllableType;if("virama_terminated_cluster"===o||"standard_cluster"===o||"broken_cluster"===o){if("broken_cluster"===o&&r){let a=new ti(e,r,[9676]);for(a.shaperInfo=l,i=n;i<s&&"R"===t[i].shaperInfo.category;i++);t.splice(++i,0,a),s++}if("R"===l.category&&s-n>1)for(i=n+1;i<s;i++)if(l=t[i].shaperInfo,Ga(l)||La(t[i])){La(t[i])&&i--,t.splice(n,0,...t.splice(n+1,i-n),t[i]);break}for(i=n,a=s;i<s;i++)l=t[i].shaperInfo,Ga(l)||La(t[i])?a=La(t[i])?i+1:i:("VPre"===l.category||"VMPre"===l.category)&&a<i&&t.splice(a,1,t[i],...t.splice(a,i-a))}}}function Ma(e,t){if(t>=e.length)return t;let r=e[t].shaperInfo.syllable;for(;++t<e.length&&e[t].shaperInfo.syllable===r;);return t}function La(e){return"H"===e.shaperInfo.category&&!e.isLigated}function Ga(e){return"B"===e.category||"GB"===e.category}const Ba={arab:Js,mong:Js,syrc:Js,"nko ":Js,phag:Js,mand:Js,mani:Js,phlp:Js,hang:ri,bng2:oa,beng:oa,dev2:oa,deva:oa,gjr2:oa,gujr:oa,guru:oa,gur2:oa,knda:oa,knd2:oa,mlm2:oa,mlym:oa,ory2:oa,orya:oa,taml:oa,tml2:oa,telu:oa,tel2:oa,khmr:oa,bali:Aa,batk:Aa,brah:Aa,bugi:Aa,buhd:Aa,cakm:Aa,cham:Aa,dupl:Aa,egyp:Aa,gran:Aa,hano:Aa,java:Aa,kthi:Aa,kali:Aa,khar:Aa,khoj:Aa,sind:Aa,lepc:Aa,limb:Aa,mahj:Aa,mtei:Aa,modi:Aa,hmng:Aa,rjng:Aa,saur:Aa,shrd:Aa,sidd:Aa,sinh:oa,sund:Aa,sylo:Aa,tglg:Aa,tagb:Aa,tale:Aa,lana:Aa,tavt:Aa,takr:Aa,tibt:Aa,tfng:Aa,tirh:Aa,latn:zs,DFLT:zs};class za extends ei{applyLookup(e,t){switch(e){case 1:{let e=this.coverageIndex(t.coverage);if(-1===e)return!1;let r=this.glyphIterator.cur;switch(t.version){case 1:r.id=r.id+t.deltaGlyphID&65535;break;case 2:r.id=t.substitute.get(e)}return!0}case 2:{let e=this.coverageIndex(t.coverage);if(-1!==e){let r=t.sequences.get(e);if(0===r.length)return this.glyphs.splice(this.glyphIterator.index,1),!0;this.glyphIterator.cur.id=r[0],this.glyphIterator.cur.ligatureComponent=0;let n=this.glyphIterator.cur.features,s=this.glyphIterator.cur,i=r.slice(1).map((e,t)=>{let r=new ti(this.font,e,void 0,n);return r.shaperInfo=s.shaperInfo,r.isLigated=s.isLigated,r.ligatureComponent=t+1,r.substituted=!0,r.isMultiplied=!0,r});return this.glyphs.splice(this.glyphIterator.index+1,0,...i),!0}return!1}case 3:{let e=this.coverageIndex(t.coverage);if(-1!==e){let r=0;return this.glyphIterator.cur.id=t.alternateSet.get(e)[r],!0}return!1}case 4:{let e=this.coverageIndex(t.coverage);if(-1===e)return!1;for(let n of t.ligatureSets.get(e)){let e=this.sequenceMatchIndices(1,n.components);if(!e)continue;let t=this.glyphIterator.cur,s=t.codePoints.slice();for(let t of e)s.push(...this.glyphs[t].codePoints);let i=new ti(this.font,n.glyph,s,t.features);i.shaperInfo=t.shaperInfo,i.isLigated=!0,i.substituted=!0;let a=t.isMark;for(let t=0;t<e.length&&a;t++)a=this.glyphs[e[t]].isMark;i.ligatureID=a?null:this.ligatureID++;let l=t.ligatureID,o=t.codePoints.length,u=o,c=this.glyphIterator.index+1;for(let t of e){if(a)c=t;else for(;c<t;){var r=u-o+Math.min(this.glyphs[c].ligatureComponent||1,o);this.glyphs[c].ligatureID=i.ligatureID,this.glyphs[c].ligatureComponent=r,c++}l=this.glyphs[c].ligatureID,o=this.glyphs[c].codePoints.length,u+=o,c++}if(l&&!a)for(let e=c;e<this.glyphs.length&&this.glyphs[e].ligatureID===l;e++){r=u-o+Math.min(this.glyphs[e].ligatureComponent||1,o);this.glyphs[e].ligatureComponent=r}for(let t=e.length-1;t>=0;t--)this.glyphs.splice(e[t],1);return this.glyphs[this.glyphIterator.index]=i,!0}return!1}case 5:return this.applyContext(t);case 6:return this.applyChainingContext(t);case 7:return this.applyLookup(t.lookupType,t.extension);default:throw new Error(`GSUB lookupType ${e} is not supported`)}}}class Ea extends ei{applyPositionValue(e,t){let r=this.positions[this.glyphIterator.peekIndex(e)];null!=t.xAdvance&&(r.xAdvance+=t.xAdvance),null!=t.yAdvance&&(r.yAdvance+=t.yAdvance),null!=t.xPlacement&&(r.xOffset+=t.xPlacement),null!=t.yPlacement&&(r.yOffset+=t.yPlacement);let n=this.font._variationProcessor,s=this.font.GDEF&&this.font.GDEF.itemVariationStore;n&&s&&(t.xPlaDevice&&(r.xOffset+=n.getDelta(s,t.xPlaDevice.a,t.xPlaDevice.b)),t.yPlaDevice&&(r.yOffset+=n.getDelta(s,t.yPlaDevice.a,t.yPlaDevice.b)),t.xAdvDevice&&(r.xAdvance+=n.getDelta(s,t.xAdvDevice.a,t.xAdvDevice.b)),t.yAdvDevice&&(r.yAdvance+=n.getDelta(s,t.yAdvDevice.a,t.yAdvDevice.b)))}applyLookup(e,t){switch(e){case 1:{let e=this.coverageIndex(t.coverage);if(-1===e)return!1;switch(t.version){case 1:this.applyPositionValue(0,t.value);break;case 2:this.applyPositionValue(0,t.values.get(e))}return!0}case 2:{let e=this.glyphIterator.peek();if(!e)return!1;let n=this.coverageIndex(t.coverage);if(-1===n)return!1;switch(t.version){case 1:let s=t.pairSets.get(n);for(let t of s)if(t.secondGlyph===e.id)return this.applyPositionValue(0,t.value1),this.applyPositionValue(1,t.value2),!0;return!1;case 2:let i=this.getClassID(this.glyphIterator.cur.id,t.classDef1),a=this.getClassID(e.id,t.classDef2);if(-1===i||-1===a)return!1;var r=t.classRecords.get(i).get(a);return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0}}case 3:{let e=this.glyphIterator.peekIndex(),r=this.glyphs[e];if(!r)return!1;let n=t.entryExitRecords[this.coverageIndex(t.coverage)];if(!n||!n.exitAnchor)return!1;let s=t.entryExitRecords[this.coverageIndex(t.coverage,r.id)];if(!s||!s.entryAnchor)return!1;let i,a=this.getAnchor(s.entryAnchor),l=this.getAnchor(n.exitAnchor),o=this.positions[this.glyphIterator.index],u=this.positions[e];switch(this.direction){case"ltr":o.xAdvance=l.x+o.xOffset,i=a.x+u.xOffset,u.xAdvance-=i,u.xOffset-=i;break;case"rtl":i=l.x+o.xOffset,o.xAdvance-=i,o.xOffset-=i,u.xAdvance=a.x+u.xOffset}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=e,o.yOffset=a.y-l.y):(r.cursiveAttachment=this.glyphIterator.index,o.yOffset=l.y-a.y),!0}case 4:{let e=this.coverageIndex(t.markCoverage);if(-1===e)return!1;let r=this.glyphIterator.index;for(;--r>=0&&(this.glyphs[r].isMark||this.glyphs[r].ligatureComponent>0););if(r<0)return!1;let n=this.coverageIndex(t.baseCoverage,this.glyphs[r].id);if(-1===n)return!1;let s=t.markArray[e],i=t.baseArray[n][s.class];return this.applyAnchor(s,i,r),!0}case 5:{let e=this.coverageIndex(t.markCoverage);if(-1===e)return!1;let r=this.glyphIterator.index;for(;--r>=0&&this.glyphs[r].isMark;);if(r<0)return!1;let n=this.coverageIndex(t.ligatureCoverage,this.glyphs[r].id);if(-1===n)return!1;let s=t.ligatureArray[n],i=this.glyphIterator.cur,a=this.glyphs[r],l=a.ligatureID&&a.ligatureID===i.ligatureID&&i.ligatureComponent>0?Math.min(i.ligatureComponent,a.codePoints.length)-1:a.codePoints.length-1,o=t.markArray[e],u=s[l][o.class];return this.applyAnchor(o,u,r),!0}case 6:{let e=this.coverageIndex(t.mark1Coverage);if(-1===e)return!1;let r=this.glyphIterator.peekIndex(-1),n=this.glyphs[r];if(!n||!n.isMark)return!1;let s=this.glyphIterator.cur,i=!1;if(s.ligatureID===n.ligatureID?s.ligatureID?s.ligatureComponent===n.ligatureComponent&&(i=!0):i=!0:(s.ligatureID&&!s.ligatureComponent||n.ligatureID&&!n.ligatureComponent)&&(i=!0),!i)return!1;let a=this.coverageIndex(t.mark2Coverage,n.id);if(-1===a)return!1;let l=t.mark1Array[e],o=t.mark2Array[a][l.class];return this.applyAnchor(l,o,r),!0}case 7:return this.applyContext(t);case 8:return this.applyChainingContext(t);case 9:return this.applyLookup(t.lookupType,t.extension);default:throw new Error(`Unsupported GPOS table: ${e}`)}}applyAnchor(e,t,r){let n=this.getAnchor(t),s=this.getAnchor(e.markAnchor);this.positions[r];let i=this.positions[this.glyphIterator.index];i.xOffset=n.x-s.x,i.yOffset=n.y-s.y,this.glyphIterator.cur.markAttachment=r}getAnchor(e){let t=e.xCoordinate,r=e.yCoordinate,n=this.font._variationProcessor,s=this.font.GDEF&&this.font.GDEF.itemVariationStore;return n&&s&&(e.xDeviceTable&&(t+=n.getDelta(s,e.xDeviceTable.a,e.xDeviceTable.b)),e.yDeviceTable&&(r+=n.getDelta(s,e.yDeviceTable.a,e.yDeviceTable.b))),{x:t,y:r}}applyFeatures(e,t,r){super.applyFeatures(e,t,r);for(var n=0;n<this.glyphs.length;n++)this.fixCursiveAttachment(n);this.fixMarkAttachment()}fixCursiveAttachment(e){let t=this.glyphs[e];if(null!=t.cursiveAttachment){let r=t.cursiveAttachment;t.cursiveAttachment=null,this.fixCursiveAttachment(r),this.positions[e].yOffset+=this.positions[r].yOffset}}fixMarkAttachment(){for(let e=0;e<this.glyphs.length;e++){let t=this.glyphs[e];if(null!=t.markAttachment){let r=t.markAttachment;if(this.positions[e].xOffset+=this.positions[r].xOffset,this.positions[e].yOffset+=this.positions[r].yOffset,"ltr"===this.direction)for(let t=r;t<e;t++)this.positions[e].xOffset-=this.positions[t].xAdvance,this.positions[e].yOffset-=this.positions[t].yAdvance;else for(let t=r+1;t<e+1;t++)this.positions[e].xOffset+=this.positions[t].xAdvance,this.positions[e].yOffset+=this.positions[t].yAdvance}}}}class Ra{setup(e){this.glyphInfos=e.glyphs.map(e=>new ti(this.font,e.id,[...e.codePoints]));let t=null;this.GPOSProcessor&&(t=this.GPOSProcessor.selectScript(e.script,e.language,e.direction)),this.GSUBProcessor&&(t=this.GSUBProcessor.selectScript(e.script,e.language,e.direction)),this.shaper=function(e){Array.isArray(e)||(e=[e]);for(let t of e){let e=Ba[t];if(e)return e}return zs}(t),this.plan=new Fs(this.font,t,e.direction),this.shaper.plan(this.plan,this.glyphInfos,e.features);for(let t in this.plan.allFeatures)e.features[t]=!0}substitute(e){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),e.glyphs=this.glyphInfos.map(e=>this.font.getGlyph(e.id,e.codePoints)))}position(e){return"BEFORE_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(e.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,e.positions),"AFTER_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(e.positions),"rtl"===e.direction&&(e.glyphs.reverse(),e.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features}zeroMarkAdvances(e){for(let t=0;t<this.glyphInfos.length;t++)this.glyphInfos[t].isMark&&(e[t].xAdvance=0,e[t].yAdvance=0)}cleanup(){this.glyphInfos=null,this.plan=null,this.shaper=null}getAvailableFeatures(e,t){let r=[];return this.GSUBProcessor&&(this.GSUBProcessor.selectScript(e,t),r.push(...Object.keys(this.GSUBProcessor.features))),this.GPOSProcessor&&(this.GPOSProcessor.selectScript(e,t),r.push(...Object.keys(this.GPOSProcessor.features))),r}constructor(e){this.font=e,this.glyphInfos=null,this.plan=null,this.GSUBProcessor=null,this.GPOSProcessor=null,this.fallbackPosition=!0,e.GSUB&&(this.GSUBProcessor=new za(e,e.GSUB)),e.GPOS&&(this.GPOSProcessor=new Ea(e,e.GPOS))}}class Va{layout(e,t,r,n,s){if("string"==typeof t&&(s=n,n=r,r=t,t=[]),"string"==typeof e){null==r&&(r=function(e){let t=e.length,r=0;for(;r<t;){let n=e.charCodeAt(r++);if(55296<=n&&n<=56319&&r<t){let t=e.charCodeAt(r);56320<=t&&t<=57343&&(r++,n=((1023&n)<<10)+(1023&t)+65536)}let s=m.getScript(n);if("Common"!==s&&"Inherited"!==s&&"Unknown"!==s)return ps[s]}return ps.Unknown}(e));var i=this.font.glyphsForString(e)}else{if(null==r){let t=[];for(let r of e)t.push(...r.codePoints);r=function(e){for(let t=0;t<e.length;t++){let r=e[t],n=m.getScript(r);if("Common"!==n&&"Inherited"!==n&&"Unknown"!==n)return ps[n]}return ps.Unknown}(t)}i=e}let a=new bs(i,t,r,n,s);return 0===i.length?(a.positions=[],a):(this.engine&&this.engine.setup&&this.engine.setup(a),this.substitute(a),this.position(a),this.hideDefaultIgnorables(a.glyphs,a.positions),this.engine&&this.engine.cleanup&&this.engine.cleanup(),a)}substitute(e){this.engine&&this.engine.substitute&&this.engine.substitute(e)}position(e){e.positions=e.glyphs.map(e=>new ws(e.advanceWidth));let t=null;this.engine&&this.engine.position&&(t=this.engine.position(e)),t||this.engine&&!this.engine.fallbackPosition||(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new fs(this.font)),this.unicodeLayoutEngine.positionGlyphs(e.glyphs,e.positions)),t&&t.kern||!1===e.features.kern||!this.font.kern||(this.kernProcessor||(this.kernProcessor=new hs(this.font)),this.kernProcessor.process(e.glyphs,e.positions),e.features.kern=!0)}hideDefaultIgnorables(e,t){let r=this.font.glyphForCodePoint(32);for(let n=0;n<e.length;n++)this.isDefaultIgnorable(e[n].codePoints[0])&&(e[n]=r,t[n].xAdvance=0,t[n].yAdvance=0)}isDefaultIgnorable(e){let t=e>>16;if(0===t)switch(e>>8){case 0:return 173===e;case 3:return 847===e;case 6:return 1564===e;case 23:return 6068<=e&&e<=6069;case 24:return 6155<=e&&e<=6158;case 32:return 8203<=e&&e<=8207||8234<=e&&e<=8238||8288<=e&&e<=8303;case 254:return 65024<=e&&e<=65039||65279===e;case 255:return 65520<=e&&e<=65528;default:return!1}else switch(t){case 1:return 113824<=e&&e<=113827||119155<=e&&e<=119162;case 14:return 917504<=e&&e<=921599;default:return!1}}getAvailableFeatures(e,t){let r=[];return this.engine&&r.push(...this.engine.getAvailableFeatures(e,t)),this.font.kern&&-1===r.indexOf("kern")&&r.push("kern"),r}stringsForGlyph(e){let t=new Set,r=this.font._cmapProcessor.codePointsForGlyph(e);for(let e of r)t.add(String.fromCodePoint(e));if(this.engine&&this.engine.stringsForGlyph)for(let r of this.engine.stringsForGlyph(e))t.add(r);return Array.from(t)}constructor(e){this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new Os(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new Ra(this.font))}}const Na={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"};class qa{toFunction(){return e=>{this.commands.forEach(t=>e[t.command].apply(e,t.args))}}toSVG(){return this.commands.map(e=>{let t=e.args.map(e=>Math.round(100*e)/100);return`${Na[e.command]}${t.join(" ")}`}).join("")}get cbox(){if(!this._cbox){let e=new ds;for(let t of this.commands)for(let r=0;r<t.args.length;r+=2)e.addPoint(t.args[r],t.args[r+1]);this._cbox=Object.freeze(e)}return this._cbox}get bbox(){if(this._bbox)return this._bbox;let e=new ds,t=0,r=0,n=e=>Math.pow(1-e,3)*f[m]+3*Math.pow(1-e,2)*e*d[m]+3*(1-e)*Math.pow(e,2)*p[m]+Math.pow(e,3)*g[m];for(let y of this.commands)switch(y.command){case"moveTo":case"lineTo":let[b,w]=y.args;e.addPoint(b,w),t=b,r=w;break;case"quadraticCurveTo":case"bezierCurveTo":if("quadraticCurveTo"===y.command)var[s,i,a,l]=y.args,o=t+2/3*(s-t),u=r+2/3*(i-r),c=a+2/3*(s-a),h=l+2/3*(i-l);else var[o,u,c,h,a,l]=y.args;e.addPoint(a,l);for(var f=[t,r],d=[o,u],p=[c,h],g=[a,l],m=0;m<=1;m++){let t=6*f[m]-12*d[m]+6*p[m],r=-3*f[m]+9*d[m]-9*p[m]+3*g[m];if(y=3*d[m]-3*f[m],0===r){if(0===t)continue;let r=-y/t;0<r&&r<1&&(0===m?e.addPoint(n(r),e.maxY):1===m&&e.addPoint(e.maxX,n(r)));continue}let s=Math.pow(t,2)-4*y*r;if(s<0)continue;let i=(-t+Math.sqrt(s))/(2*r);0<i&&i<1&&(0===m?e.addPoint(n(i),e.maxY):1===m&&e.addPoint(e.maxX,n(i)));let a=(-t-Math.sqrt(s))/(2*r);0<a&&a<1&&(0===m?e.addPoint(n(a),e.maxY):1===m&&e.addPoint(e.maxX,n(a)))}t=a,r=l}return this._bbox=Object.freeze(e)}mapPoints(e){let t=new qa;for(let r of this.commands){let n=[];for(let t=0;t<r.args.length;t+=2){let[s,i]=e(r.args[t],r.args[t+1]);n.push(s,i)}t[r.command](...n)}return t}transform(e,t,r,n,s,i){return this.mapPoints((a,l)=>[e*a+r*l+s,t*a+n*l+i])}translate(e,t){return this.transform(1,0,0,1,e,t)}rotate(e){let t=Math.cos(e),r=Math.sin(e);return this.transform(t,r,-r,t,0,0)}scale(e,t=e){return this.transform(e,0,0,t,0,0)}constructor(){this.commands=[],this._bbox=null,this._cbox=null}}for(let e of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])qa.prototype[e]=function(...t){return this._bbox=this._cbox=null,this.commands.push({command:e,args:t}),this};var Ua=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];class ja{_getPath(){return new qa}_getCBox(){return this.path.cbox}_getBBox(){return this.path.bbox}_getTableMetrics(e){if(this.id<e.metrics.length)return e.metrics.get(this.id);let t=e.metrics.get(e.metrics.length-1);return{advance:t?t.advance:0,bearing:e.bearings.get(this.id-e.metrics.length)||0}}_getMetrics(e){if(this._metrics)return this._metrics;let{advance:t,bearing:r}=this._getTableMetrics(this._font.hmtx);if(this._font.vmtx)var{advance:n,bearing:s}=this._getTableMetrics(this._font.vmtx);else{let t;if(null==e&&({cbox:e}=this),(t=this._font["OS/2"])&&t.version>0)n=Math.abs(t.typoAscender-t.typoDescender),s=t.typoAscender-e.maxY;else{let{hhea:t}=this._font;var n=Math.abs(t.ascent-t.descent),s=t.ascent-e.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(t+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:t,advanceHeight:n,leftBearing:r,topBearing:s}}get cbox(){return this._getCBox()}get bbox(){return this._getBBox()}get path(){return this._getPath()}getScaledPath(e){let t=1/this._font.unitsPerEm*e;return this.path.scale(t)}get advanceWidth(){return this._getMetrics().advanceWidth}get advanceHeight(){return this._getMetrics().advanceHeight}get ligatureCaretPositions(){}_getName(){let{post:e}=this._font;if(!e)return null;switch(e.version){case 1:return Ua[this.id];case 2:let t=e.glyphNameIndex[this.id];return t<Ua.length?Ua[t]:e.names[t-Ua.length];case 2.5:return Ua[this.id+e.offsets[this.id]];case 4:return String.fromCharCode(e.map[this.id])}}get name(){return this._getName()}render(e,t){e.save();let r=1/this._font.head.unitsPerEm*t;e.scale(r,r),this.path.toFunction()(e),e.fill(),e.restore()}constructor(e,t,r){this.id=e,this.codePoints=t,this._font=r,this.isMark=this.codePoints.length>0&&this.codePoints.every(m.isMark),this.isLigature=this.codePoints.length>1}}x.__decorate([F],ja.prototype,"cbox",null),x.__decorate([F],ja.prototype,"bbox",null),x.__decorate([F],ja.prototype,"path",null),x.__decorate([F],ja.prototype,"advanceWidth",null),x.__decorate([F],ja.prototype,"advanceHeight",null),x.__decorate([F],ja.prototype,"name",null);let Xa=new u.Struct({numberOfContours:f.int16,xMin:f.int16,yMin:f.int16,xMax:f.int16,yMax:f.int16});class Ha{copy(){return new Ha(this.onCurve,this.endContour,this.x,this.y)}constructor(e,t,r=0,n=0){this.onCurve=e,this.endContour=t,this.x=r,this.y=n}}class Wa{constructor(e,t,r){this.glyphID=e,this.dx=t,this.dy=r,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0}}class Ya extends ja{_getCBox(e){if(this._font._variationProcessor&&!e)return this.path.cbox;let t=this._font._getTableStream("glyf");t.pos+=this._font.loca.offsets[this.id];let r=Xa.decode(t),n=new ds(r.xMin,r.yMin,r.xMax,r.yMax);return Object.freeze(n)}_parseGlyphCoord(e,t,r,n){if(r){var s=e.readUInt8();n||(s=-s),s+=t}else if(n)s=t;else s=t+e.readInt16BE();return s}_decode(){let e=this._font.loca.offsets[this.id];if(e===this._font.loca.offsets[this.id+1])return null;let t=this._font._getTableStream("glyf");t.pos+=e;let r=t.pos,n=Xa.decode(t);return n.numberOfContours>0?this._decodeSimple(n,t):n.numberOfContours<0&&this._decodeComposite(n,t,r),n}_decodeSimple(e,t){e.points=[];let n=new r.Array(f.uint16,e.numberOfContours).decode(t);e.instructions=new r.Array(f.uint8,f.uint16).decode(t);let s=[],i=n[n.length-1]+1;for(;s.length<i;){var a=t.readUInt8();if(s.push(a),8&a){let e=t.readUInt8();for(let t=0;t<e;t++)s.push(a)}}for(var l=0;l<s.length;l++){a=s[l];let t=new Ha(!!(1&a),n.indexOf(l)>=0,0,0);e.points.push(t)}let o=0;for(l=0;l<s.length;l++){a=s[l];e.points[l].x=o=this._parseGlyphCoord(t,o,2&a,16&a)}let u=0;for(l=0;l<s.length;l++){a=s[l];e.points[l].y=u=this._parseGlyphCoord(t,u,4&a,32&a)}if(this._font._variationProcessor){let t=e.points.slice();t.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,t),e.phantomPoints=t.slice(-4)}}_decodeComposite(e,t,r=0){e.components=[];let n=!1,s=32;for(;32&s;){s=t.readUInt16BE();let o=t.pos-r,u=t.readUInt16BE();if(n||(n=!!(256&s)),1&s)var i=t.readInt16BE(),a=t.readInt16BE();else i=t.readInt8(),a=t.readInt8();(l=new Wa(u,i,a)).pos=o,8&s?l.scaleX=l.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824:64&s?(l.scaleX=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,l.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824):128&s&&(l.scaleX=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,l.scale01=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,l.scale10=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,l.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824),e.components.push(l)}if(this._font._variationProcessor){let t=[];for(let r=0;r<e.components.length;r++){var l=e.components[r];t.push(new Ha(!0,!0,l.dx,l.dy))}t.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,t),e.phantomPoints=t.splice(-4,4);for(let r=0;r<t.length;r++){let n=t[r];e.components[r].dx=n.x,e.components[r].dy=n.y}}return n}_getPhantomPoints(e){let t=this._getCBox(!0);null==this._metrics&&(this._metrics=ja.prototype._getMetrics.call(this,t));let{advanceWidth:r,advanceHeight:n,leftBearing:s,topBearing:i}=this._metrics;return[new Ha(!1,!0,e.xMin-s,0),new Ha(!1,!0,e.xMin-s+r,0),new Ha(!1,!0,0,e.yMax+i),new Ha(!1,!0,0,e.yMax+i+n)]}_getContours(){let e=this._decode();if(!e)return[];let t=[];if(e.numberOfContours<0)for(let r of e.components){let e=this._font.getGlyph(r.glyphID)._getContours();for(let n=0;n<e.length;n++){let s=e[n];for(let e=0;e<s.length;e++){let n=s[e],i=n.x*r.scaleX+n.y*r.scale01+r.dx,a=n.y*r.scaleY+n.x*r.scale10+r.dy;t.push(new Ha(n.onCurve,n.endContour,i,a))}}}else t=e.points||[];e.phantomPoints&&!this._font.directory.tables.HVAR&&(this._metrics.advanceWidth=e.phantomPoints[1].x-e.phantomPoints[0].x,this._metrics.advanceHeight=e.phantomPoints[3].y-e.phantomPoints[2].y,this._metrics.leftBearing=e.xMin-e.phantomPoints[0].x,this._metrics.topBearing=e.phantomPoints[2].y-e.yMax);let r=[],n=[];for(let e=0;e<t.length;e++){var s=t[e];n.push(s),s.endContour&&(r.push(n),n=[])}return r}_getMetrics(){if(this._metrics)return this._metrics;let e=this._getCBox(!0);return super._getMetrics(e),this._font._variationProcessor&&!this._font.HVAR&&this.path,this._metrics}_getPath(){let e=this._getContours(),t=new qa;for(let n=0;n<e.length;n++){let s=e[n],i=s[0],a=s[s.length-1],l=0;if(i.onCurve){var r=null;l=1}else{i=a.onCurve?a:new Ha(!1,!1,(i.x+a.x)/2,(i.y+a.y)/2);r=i}t.moveTo(i.x,i.y);for(let e=l;e<s.length;e++){let n=s[e],a=0===e?i:s[e-1];if(a.onCurve&&n.onCurve)t.lineTo(n.x,n.y);else if(a.onCurve&&!n.onCurve)r=n;else if(a.onCurve||n.onCurve){if(a.onCurve||!n.onCurve)throw new Error("Unknown TTF path state");t.quadraticCurveTo(r.x,r.y,n.x,n.y);r=null}else{let e=(a.x+n.x)/2,s=(a.y+n.y)/2;t.quadraticCurveTo(a.x,a.y,e,s);var r=n}}r&&t.quadraticCurveTo(r.x,r.y,i.x,i.y),t.closePath()}return t}constructor(...e){super(...e),p._(this,"type","TTF")}}class Za extends ja{_getName(){return this._font.CFF2?super._getName():this._font["CFF "].getGlyphName(this.id)}bias(e){return e.length<1240?107:e.length<33900?1131:32768}_getPath(){let e=this._font.CFF2||this._font["CFF "],{stream:t}=e,r=e.topDict.CharStrings[this.id],n=r.offset+r.length;t.pos=r.offset;let s,i,a=new qa,l=[],o=[],u=null,c=0,h=0,f=0,d=!1;this._usedGsubrs=s={},this._usedSubrs=i={};let p=e.globalSubrIndex||[],g=this.bias(p),m=e.privateDictForGlyph(this.id)||{},y=m.Subrs||[],b=this.bias(y),w=e.topDict.vstore&&e.topDict.vstore.itemVariationStore,v=m.vsindex,S=this._font._variationProcessor;function x(){null==u&&(u=l.shift()+m.nominalWidthX)}function C(){return l.length%2!=0&&x(),c+=l.length>>1,l.length=0}function _(e,t){d&&a.closePath(),a.moveTo(e,t),d=!0}let A=function(){for(;t.pos<n;){let m=t.readUInt8();if(m<32){let u,P,k,I,T,O,F,D,M,L,G,B,z,E,R,V;switch(m){case 1:case 3:case 18:case 23:C();break;case 4:l.length>1&&x(),f+=l.shift(),_(h,f);break;case 5:for(;l.length>=2;)h+=l.shift(),f+=l.shift(),a.lineTo(h,f);break;case 6:case 7:for(k=6===m;l.length>=1;)k?h+=l.shift():f+=l.shift(),a.lineTo(h,f),k=!k;break;case 8:for(;l.length>0;)I=h+l.shift(),T=f+l.shift(),O=I+l.shift(),F=T+l.shift(),h=O+l.shift(),f=F+l.shift(),a.bezierCurveTo(I,T,O,F,h,f);break;case 10:if(u=l.pop()+b,P=y[u],P){i[u]=!0;let e=t.pos,r=n;t.pos=P.offset,n=P.offset+P.length,A(),t.pos=e,n=r}break;case 11:if(e.version>=2)break;return;case 14:if(e.version>=2)break;l.length>0&&x(),d&&(a.closePath(),d=!1);break;case 15:if(e.version<2)throw new Error("vsindex operator not supported in CFF v1");v=l.pop();break;case 16:{if(e.version<2)throw new Error("blend operator not supported in CFF v1");if(!S)throw new Error("blend operator in non-variation font");let t=S.getBlendVector(w,v),r=l.pop(),n=r*t.length,s=l.length-n,i=s-r;for(let e=0;e<r;e++){let r=l[i+e];for(let e=0;e<t.length;e++)r+=t[e]*l[s++];l[i+e]=r}for(;n--;)l.pop();break}case 19:case 20:C(),t.pos+=c+7>>3;break;case 21:l.length>2&&x(),h+=l.shift(),f+=l.shift(),_(h,f);break;case 22:l.length>1&&x(),h+=l.shift(),_(h,f);break;case 24:for(;l.length>=8;)I=h+l.shift(),T=f+l.shift(),O=I+l.shift(),F=T+l.shift(),h=O+l.shift(),f=F+l.shift(),a.bezierCurveTo(I,T,O,F,h,f);h+=l.shift(),f+=l.shift(),a.lineTo(h,f);break;case 25:for(;l.length>=8;)h+=l.shift(),f+=l.shift(),a.lineTo(h,f);I=h+l.shift(),T=f+l.shift(),O=I+l.shift(),F=T+l.shift(),h=O+l.shift(),f=F+l.shift(),a.bezierCurveTo(I,T,O,F,h,f);break;case 26:for(l.length%2&&(h+=l.shift());l.length>=4;)I=h,T=f+l.shift(),O=I+l.shift(),F=T+l.shift(),h=O,f=F+l.shift(),a.bezierCurveTo(I,T,O,F,h,f);break;case 27:for(l.length%2&&(f+=l.shift());l.length>=4;)I=h+l.shift(),T=f,O=I+l.shift(),F=T+l.shift(),h=O+l.shift(),f=F,a.bezierCurveTo(I,T,O,F,h,f);break;case 28:l.push(t.readInt16BE());break;case 29:if(u=l.pop()+g,P=p[u],P){s[u]=!0;let e=t.pos,r=n;t.pos=P.offset,n=P.offset+P.length,A(),t.pos=e,n=r}break;case 30:case 31:for(k=31===m;l.length>=4;)k?(I=h+l.shift(),T=f,O=I+l.shift(),F=T+l.shift(),f=F+l.shift(),h=O+(1===l.length?l.shift():0)):(I=h,T=f+l.shift(),O=I+l.shift(),F=T+l.shift(),h=O+l.shift(),f=F+(1===l.length?l.shift():0)),a.bezierCurveTo(I,T,O,F,h,f),k=!k;break;case 12:switch(m=t.readUInt8(),m){case 3:let e=l.pop(),t=l.pop();l.push(e&&t?1:0);break;case 4:e=l.pop(),t=l.pop(),l.push(e||t?1:0);break;case 5:e=l.pop(),l.push(e?0:1);break;case 9:e=l.pop(),l.push(Math.abs(e));break;case 10:e=l.pop(),t=l.pop(),l.push(e+t);break;case 11:e=l.pop(),t=l.pop(),l.push(e-t);break;case 12:e=l.pop(),t=l.pop(),l.push(e/t);break;case 14:e=l.pop(),l.push(-e);break;case 15:e=l.pop(),t=l.pop(),l.push(e===t?1:0);break;case 18:l.pop();break;case 20:let n=l.pop(),s=l.pop();o[s]=n;break;case 21:s=l.pop(),l.push(o[s]||0);break;case 22:let i=l.pop(),u=l.pop(),c=l.pop(),d=l.pop();l.push(c<=d?i:u);break;case 23:l.push(Math.random());break;case 24:e=l.pop(),t=l.pop(),l.push(e*t);break;case 26:e=l.pop(),l.push(Math.sqrt(e));break;case 27:e=l.pop(),l.push(e,e);break;case 28:e=l.pop(),t=l.pop(),l.push(t,e);break;case 29:s=l.pop(),s<0?s=0:s>l.length-1&&(s=l.length-1),l.push(l[s]);break;case 30:let p=l.pop(),g=l.pop();if(g>=0)for(;g>0;){var r=l[p-1];for(let e=p-2;e>=0;e--)l[e+1]=l[e];l[0]=r,g--}else for(;g<0;){r=l[0];for(let e=0;e<=p;e++)l[e]=l[e+1];l[p-1]=r,g++}break;case 34:I=h+l.shift(),T=f,O=I+l.shift(),F=T+l.shift(),D=O+l.shift(),M=F,L=D+l.shift(),G=M,B=L+l.shift(),z=G,E=B+l.shift(),R=z,h=E,f=R,a.bezierCurveTo(I,T,O,F,D,M),a.bezierCurveTo(L,G,B,z,E,R);break;case 35:V=[];for(let e=0;e<=5;e++)h+=l.shift(),f+=l.shift(),V.push(h,f);a.bezierCurveTo(...V.slice(0,6)),a.bezierCurveTo(...V.slice(6)),l.shift();break;case 36:I=h+l.shift(),T=f+l.shift(),O=I+l.shift(),F=T+l.shift(),D=O+l.shift(),M=F,L=D+l.shift(),G=M,B=L+l.shift(),z=G+l.shift(),E=B+l.shift(),R=z,h=E,f=R,a.bezierCurveTo(I,T,O,F,D,M),a.bezierCurveTo(L,G,B,z,E,R);break;case 37:let y=h,b=f;V=[];for(let e=0;e<=4;e++)h+=l.shift(),f+=l.shift(),V.push(h,f);Math.abs(h-y)>Math.abs(f-b)?(h+=l.shift(),f=b):(h=y,f+=l.shift()),V.push(h,f),a.bezierCurveTo(...V.slice(0,6)),a.bezierCurveTo(...V.slice(6));break;default:throw new Error(`Unknown op: 12 ${m}`)}break;default:throw new Error(`Unknown op: ${m}`)}}else if(m<247)l.push(m-139);else if(m<251){var u=t.readUInt8();l.push(256*(m-247)+u+108)}else if(m<255){u=t.readUInt8();l.push(256*-(m-251)-u-108)}else l.push(t.readInt32BE()/65536)}};return A(),d&&a.closePath(),a}constructor(...e){super(...e),p._(this,"type","CFF")}}let Ja=new u.Struct({originX:f.uint16,originY:f.uint16,type:new o.String(4),data:new i.BufferT(e=>e.parent.buflen-e._currentOffset)});class Ka extends Ya{getImageForSize(e){for(let r=0;r<this._font.sbix.imageTables.length;r++){var t=this._font.sbix.imageTables[r];if(t.ppem>=e)break}let r=t.imageOffsets,n=r[this.id],s=r[this.id+1];return n===s?null:(this._font.stream.pos=n,Ja.decode(this._font.stream,{buflen:s-n}))}render(e,t){let r=this.getImageForSize(t);if(null!=r){let n=t/this._font.unitsPerEm;e.image(r.data,{height:t,x:r.originX,y:(this.bbox.minY-r.originY)*n})}this._font.sbix.flags.renderOutlines&&super.render(e,t)}constructor(...e){super(...e),p._(this,"type","SBIX")}}class Qa{constructor(e,t){this.glyph=e,this.color=t}}class $a extends ja{_getBBox(){let e=new ds;for(let t=0;t<this.layers.length;t++){let r=this.layers[t].glyph.bbox;e.addPoint(r.minX,r.minY),e.addPoint(r.maxX,r.maxY)}return e}get layers(){let e=this._font.CPAL,t=this._font.COLR,r=0,n=t.baseGlyphRecord.length-1;for(;r<=n;){let e=r+n>>1;var s=t.baseGlyphRecord[e];if(this.id<s.gid)n=e-1;else{if(!(this.id>s.gid)){var i=s;break}r=e+1}}if(null==i){var a=this._font._getBaseGlyph(this.id);return[new Qa(a,o={red:0,green:0,blue:0,alpha:255})]}let l=[];for(let r=i.firstLayerIndex;r<i.firstLayerIndex+i.numLayers;r++){s=t.layerRecords[r];var o=e.colorRecords[s.paletteIndex];a=this._font._getBaseGlyph(s.gid);l.push(new Qa(a,o))}return l}render(e,t){for(let{glyph:r,color:n}of this.layers)e.fillColor([n.red,n.green,n.blue],n.alpha/255*100),r.render(e,t)}constructor(...e){super(...e),p._(this,"type","COLR")}}class el{normalizeCoords(e){let t=[];for(var r=0;r<this.font.fvar.axis.length;r++){let n=this.font.fvar.axis[r];e[r]<n.defaultValue?t.push((e[r]-n.defaultValue+Number.EPSILON)/(n.defaultValue-n.minValue+Number.EPSILON)):t.push((e[r]-n.defaultValue+Number.EPSILON)/(n.maxValue-n.defaultValue+Number.EPSILON))}if(this.font.avar)for(r=0;r<this.font.avar.segment.length;r++){let e=this.font.avar.segment[r];for(let n=0;n<e.correspondence.length;n++){let s=e.correspondence[n];if(n>=1&&t[r]<s.fromCoord){let i=e.correspondence[n-1];t[r]=((t[r]-i.fromCoord)*(s.toCoord-i.toCoord)+Number.EPSILON)/(s.fromCoord-i.fromCoord+Number.EPSILON)+i.toCoord;break}}}return t}transformPoints(e,t){if(!this.font.fvar||!this.font.gvar)return;let{gvar:r}=this.font;if(e>=r.glyphCount)return;let n=r.offsets[e];if(n===r.offsets[e+1])return;let{stream:s}=this.font;if(s.pos=n,s.pos>=s.length)return;let i=s.readUInt16BE(),a=n+s.readUInt16BE();if(32768&i){var l=s.pos;s.pos=a;var o=this.decodePoints();a=s.pos,s.pos=l}let u=t.map(e=>e.copy());i&=4095;for(let e=0;e<i;e++){let e=s.readUInt16BE(),n=s.readUInt16BE();if(32768&n){var c=[];for(let e=0;e<r.axisCount;e++)c.push(s.readInt16BE()/16384)}else{if((4095&n)>=r.globalCoordCount)throw new Error("Invalid gvar table");c=r.globalCoords[4095&n]}if(16384&n){var h=[];for(let e=0;e<r.axisCount;e++)h.push(s.readInt16BE()/16384);var f=[];for(let e=0;e<r.axisCount;e++)f.push(s.readInt16BE()/16384)}let i=this.tupleFactor(n,c,h,f);if(0===i){a+=e;continue}l=s.pos;if(s.pos=a,8192&n)var d=this.decodePoints();else d=o;let g=0===d.length?t.length:d.length,m=this.decodeDeltas(g),y=this.decodeDeltas(g);if(0===d.length)for(let e=0;e<t.length;e++){var p=t[e];p.x+=Math.round(m[e]*i),p.y+=Math.round(y[e]*i)}else{let e=u.map(e=>e.copy()),r=t.map(()=>!1);for(let n=0;n<d.length;n++){let s=d[n];if(s<t.length){let t=e[s];r[s]=!0,t.x+=m[n]*i,t.y+=y[n]*i}}this.interpolateMissingDeltas(e,u,r);for(let r=0;r<t.length;r++){let n=e[r].x-u[r].x,s=e[r].y-u[r].y;t[r].x=Math.round(t[r].x+n),t[r].y=Math.round(t[r].y+s)}}a+=e,s.pos=l}}decodePoints(){let e=this.font.stream,t=e.readUInt8();128&t&&(t=(127&t)<<8|e.readUInt8());let r=new Uint16Array(t),n=0,s=0;for(;n<t;){let i=e.readUInt8(),a=1+(127&i),l=128&i?e.readUInt16:e.readUInt8;for(let i=0;i<a&&n<t;i++)s+=l.call(e),r[n++]=s}return r}decodeDeltas(e){let t=this.font.stream,r=0,n=new Int16Array(e);for(;r<e;){let s=t.readUInt8(),i=1+(63&s);if(128&s)r+=i;else{let a=64&s?t.readInt16BE:t.readInt8;for(let s=0;s<i&&r<e;s++)n[r++]=a.call(t)}}return n}tupleFactor(e,t,r,n){let s=this.normalizedCoords,{gvar:i}=this.font,a=1;for(let l=0;l<i.axisCount;l++)if(0!==t[l]){if(0===s[l])return 0;if(16384&e){if(s[l]<r[l]||s[l]>n[l])return 0;a=s[l]<t[l]?a*(s[l]-r[l]+Number.EPSILON)/(t[l]-r[l]+Number.EPSILON):a*(n[l]-s[l]+Number.EPSILON)/(n[l]-t[l]+Number.EPSILON)}else{if(s[l]<Math.min(0,t[l])||s[l]>Math.max(0,t[l]))return 0;a=(a*s[l]+Number.EPSILON)/(t[l]+Number.EPSILON)}}return a}interpolateMissingDeltas(e,t,r){if(0===e.length)return;let n=0;for(;n<e.length;){let s=n,i=n,a=e[i];for(;!a.endContour;)a=e[++i];for(;n<=i&&!r[n];)n++;if(n>i)continue;let l=n,o=n;for(n++;n<=i;)r[n]&&(this.deltaInterpolate(o+1,n-1,o,n,t,e),o=n),n++;o===l?this.deltaShift(s,i,o,t,e):(this.deltaInterpolate(o+1,i,o,l,t,e),l>0&&this.deltaInterpolate(s,l-1,o,l,t,e)),n=i+1}}deltaInterpolate(e,t,r,n,s,i){if(e>t)return;let a=["x","y"];for(let o=0;o<a.length;o++){let u=a[o];if(s[r][u]>s[n][u]){var l=r;r=n,n=l}let c=s[r][u],h=s[n][u],f=i[r][u],d=i[n][u];if(c!==h||f===d){let r=c===h?0:(d-f)/(h-c);for(let n=e;n<=t;n++){let e=s[n][u];e<=c?e+=f-c:e>=h?e+=d-h:e=f+(e-c)*r,i[n][u]=e}}}}deltaShift(e,t,r,n,s){let i=s[r].x-n[r].x,a=s[r].y-n[r].y;if(0!==i||0!==a)for(let n=e;n<=t;n++)n!==r&&(s[n].x+=i,s[n].y+=a)}getAdvanceAdjustment(e,t){let r,n;if(t.advanceWidthMapping){let s=e;s>=t.advanceWidthMapping.mapCount&&(s=t.advanceWidthMapping.mapCount-1),t.advanceWidthMapping.entryFormat,({outerIndex:r,innerIndex:n}=t.advanceWidthMapping.mapData[s])}else r=0,n=e;return this.getDelta(t.itemVariationStore,r,n)}getDelta(e,t,r){if(t>=e.itemVariationData.length)return 0;let n=e.itemVariationData[t];if(r>=n.deltaSets.length)return 0;let s=n.deltaSets[r],i=this.getBlendVector(e,t),a=0;for(let e=0;e<n.regionIndexCount;e++)a+=s.deltas[e]*i[e];return a}getBlendVector(e,t){let r=e.itemVariationData[t];if(this.blendVectors.has(r))return this.blendVectors.get(r);let n=this.normalizedCoords,s=[];for(let t=0;t<r.regionIndexCount;t++){let i=1,a=r.regionIndexes[t],l=e.variationRegionList.variationRegions[a];for(let e=0;e<l.length;e++){let t,r=l[e];t=r.startCoord>r.peakCoord||r.peakCoord>r.endCoord||r.startCoord<0&&r.endCoord>0&&0!==r.peakCoord||0===r.peakCoord?1:n[e]<r.startCoord||n[e]>r.endCoord?0:n[e]===r.peakCoord?1:n[e]<r.peakCoord?(n[e]-r.startCoord+Number.EPSILON)/(r.peakCoord-r.startCoord+Number.EPSILON):(r.endCoord-n[e]+Number.EPSILON)/(r.endCoord-r.peakCoord+Number.EPSILON),i*=t}s[t]=i}return this.blendVectors.set(r,s),s}constructor(e,t){this.font=e,this.normalizedCoords=this.normalizeCoords(t),this.blendVectors=new Map}}Promise.resolve();class tl{includeGlyph(e){return"object"==typeof e&&(e=e.id),null==this.mapping[e]&&(this.glyphs.push(e),this.mapping[e]=this.glyphs.length-1),this.mapping[e]}constructor(e){this.font=e,this.glyphs=[],this.mapping={},this.includeGlyph(0)}}class rl{static size(e){return e>=0&&e<=255?1:2}static encode(e,t){t>=0&&t<=255?e.writeUInt8(t):e.writeInt16BE(t)}}let nl=new u.Struct({numberOfContours:f.int16,xMin:f.int16,yMin:f.int16,xMax:f.int16,yMax:f.int16,endPtsOfContours:new r.Array(f.uint16,"numberOfContours"),instructions:new r.Array(f.uint8,f.uint16),flags:new r.Array(f.uint8,0),xPoints:new r.Array(rl,0),yPoints:new r.Array(rl,0)});class sl{encodeSimple(t,r=[]){let n=[],s=[],i=[],a=[],l=0,o=0,u=0,c=0,h=0;for(let e=0;e<t.commands.length;e++){let r=t.commands[e];for(let n=0;n<r.args.length;n+=2){let f=r.args[n],d=r.args[n+1],p=0;if("quadraticCurveTo"===r.command&&2===n){let r=t.commands[e+1];if(r&&"quadraticCurveTo"===r.command){let e=(o+r.args[0])/2,t=(u+r.args[1])/2;if(f===e&&d===t)continue}}"quadraticCurveTo"===r.command&&0===n||(p|=1),p=this._encodePoint(f,o,s,p,2,16),p=this._encodePoint(d,u,i,p,4,32),p===c&&l<255?(a[a.length-1]|=8,l++):(l>0&&(a.push(l),l=0),a.push(p),c=p),o=f,u=d,h++}"closePath"===r.command&&n.push(h-1)}t.commands.length>1&&"closePath"!==t.commands[t.commands.length-1].command&&n.push(h-1);let f=t.bbox,d={numberOfContours:n.length,xMin:f.minX,yMin:f.minY,xMax:f.maxX,yMax:f.maxY,endPtsOfContours:n,instructions:r,flags:a,xPoints:s,yPoints:i},p=nl.size(d),g=4-p%4,m=new e.EncodeStream(p+g);return nl.encode(m,d),0!==g&&m.fill(0,g),m.buffer}_encodePoint(e,t,r,n,s,i){let a=e-t;return e===t?n|=i:(-255<=a&&a<=255&&(n|=s,a<0?a=-a:n|=i),r.push(a)),n}}class il extends tl{_addGlyph(e){let t=this.font.getGlyph(e),r=t._decode(),n=this.font.loca.offsets[e],s=this.font.loca.offsets[e+1],i=this.font._getTableStream("glyf");i.pos+=n;let a=i.readBuffer(s-n);if(r&&r.numberOfContours<0){a=new Uint8Array(a);let t=new DataView(a.buffer);for(let n of r.components)e=this.includeGlyph(n.glyphID),t.setUint16(n.pos,e)}else r&&this.font._variationProcessor&&(a=this.glyphEncoder.encodeSimple(t.path,r.instructions));return this.glyf.push(a),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:t.advanceWidth,bearing:t._getMetrics().leftBearing}),this.offset+=a.length,this.glyf.length-1}encode(){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};let e=0;for(;e<this.glyphs.length;)this._addGlyph(this.glyphs[e++]);let t=w.default(this.font.maxp);t.numGlyphs=this.glyf.length,this.loca.offsets.push(this.offset);let r=w.default(this.font.head);r.indexToLocFormat=this.loca.version;let n=w.default(this.font.hhea);return n.numberOfMetrics=this.hmtx.metrics.length,ns.toBuffer({tables:{head:r,hhea:n,loca:this.loca,maxp:t,"cvt ":this.font["cvt "],prep:this.font.prep,glyf:this.glyf,hmtx:this.hmtx,fpgm:this.font.fpgm}})}constructor(e){super(e),this.glyphEncoder=new sl}}class al extends tl{subsetCharstrings(){this.charstrings=[];let e={};for(let t of this.glyphs){this.charstrings.push(this.cff.getCharString(t));let r=this.font.getGlyph(t);r.path;for(let t in r._usedGsubrs)e[t]=!0}this.gsubrs=this.subsetSubrs(this.cff.globalSubrIndex,e)}subsetSubrs(e,t){let r=[];for(let n=0;n<e.length;n++){let s=e[n];t[n]?(this.cff.stream.pos=s.offset,r.push(this.cff.stream.readBuffer(s.length))):r.push(new Uint8Array([11]))}return r}subsetFontdict(e){e.FDArray=[],e.FDSelect={version:0,fds:[]};let t={},r=[],n={};for(let s of this.glyphs){let i=this.cff.fdForGlyph(s);if(null==i)continue;t[i]||(e.FDArray.push(Object.assign({},this.cff.topDict.FDArray[i])),r.push({}),n[i]=e.FDArray.length-1),t[i]=!0,e.FDSelect.fds.push(n[i]);let a=this.font.getGlyph(s);a.path;for(let e in a._usedSubrs)r[n[i]][e]=!0}for(let t=0;t<e.FDArray.length;t++){let n=e.FDArray[t];delete n.FontName,n.Private&&n.Private.Subrs&&(n.Private=Object.assign({},n.Private),n.Private.Subrs=this.subsetSubrs(n.Private.Subrs,r[t]))}}createCIDFontdict(e){let t={};for(let e of this.glyphs){let r=this.font.getGlyph(e);r.path;for(let e in r._usedSubrs)t[e]=!0}let r=Object.assign({},this.cff.topDict.Private);return this.cff.topDict.Private&&this.cff.topDict.Private.Subrs&&(r.Subrs=this.subsetSubrs(this.cff.topDict.Private.Subrs,t)),e.FDArray=[{Private:r}],e.FDSelect={version:3,nRanges:1,ranges:[{first:0,fd:0}],sentinel:this.charstrings.length}}addString(e){return e?(this.strings||(this.strings=[]),this.strings.push(e),_e.length+this.strings.length-1):null}encode(){this.subsetCharstrings();let e={version:this.charstrings.length>255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},t=Object.assign({},this.cff.topDict);t.Private=null,t.charset=e,t.Encoding=null,t.CharStrings=this.charstrings;for(let e of["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"])t[e]=this.addString(this.cff.string(t[e]));t.ROS=[this.addString("Adobe"),this.addString("Identity"),0],t.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(t):this.createCIDFontdict(t);let r={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[t],stringIndex:this.strings,globalSubrIndex:this.gsubrs};return Pt.toBuffer(r)}constructor(e){if(super(e),this.cff=this.font["CFF "],!this.cff)throw new Error("Not a CFF Font")}}class ll{static probe(e){let t=as.decode(e.slice(0,4));return"true"===t||"OTTO"===t||t===String.fromCharCode(0,1,0,0)}setDefaultLanguage(e=null){this.defaultLanguage=e}_getTable(e){if(!(e.tag in this._tables))try{this._tables[e.tag]=this._decodeTable(e)}catch(e){}return this._tables[e.tag]}_getTableStream(e){let t=this.directory.tables[e];return t?(this.stream.pos=t.offset,this.stream):null}_decodeDirectory(){return this.directory=ns.decode(this.stream,{_startOffset:0})}_decodeTable(e){let t=this.stream.pos,r=this._getTableStream(e.tag),n=es[e.tag].decode(r,this,e.length);return this.stream.pos=t,n}getName(e,t=this.defaultLanguage||exports.defaultLanguage){let r=this.name&&this.name.records[e];return r&&(r[t]||r[this.defaultLanguage]||r[exports.defaultLanguage]||r.en||r[Object.keys(r)[0]])||null}get postscriptName(){return this.getName("postscriptName")}get fullName(){return this.getName("fullName")}get familyName(){return this.getName("fontFamily")}get subfamilyName(){return this.getName("fontSubfamily")}get copyright(){return this.getName("copyright")}get version(){return this.getName("version")}get ascent(){return this.hhea.ascent}get descent(){return this.hhea.descent}get lineGap(){return this.hhea.lineGap}get underlinePosition(){return this.post.underlinePosition}get underlineThickness(){return this.post.underlineThickness}get italicAngle(){return this.post.italicAngle}get capHeight(){let e=this["OS/2"];return e?e.capHeight:this.ascent}get xHeight(){let e=this["OS/2"];return e?e.xHeight:0}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get bbox(){return Object.freeze(new ds(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new cs(this.cmap)}get characterSet(){return this._cmapProcessor.getCharacterSet()}hasGlyphForCodePoint(e){return!!this._cmapProcessor.lookup(e)}glyphForCodePoint(e){return this.getGlyph(this._cmapProcessor.lookup(e),[e])}glyphsForString(e){let t=[],r=e.length,n=0,s=-1,i=-1;for(;n<=r;){let a=0,l=0;if(n<r){if(a=e.charCodeAt(n++),55296<=a&&a<=56319&&n<r){let t=e.charCodeAt(n);56320<=t&&t<=57343&&(n++,a=((1023&a)<<10)+(1023&t)+65536)}l=65024<=a&&a<=65039||917760<=a&&a<=917999?1:0}else n++;0===i&&1===l?t.push(this.getGlyph(this._cmapProcessor.lookup(s,a),[s,a])):0===i&&0===l&&t.push(this.glyphForCodePoint(s)),s=a,i=l}return t}get _layoutEngine(){return new Va(this)}layout(e,t,r,n,s){return this._layoutEngine.layout(e,t,r,n,s)}stringsForGlyph(e){return this._layoutEngine.stringsForGlyph(e)}get availableFeatures(){return this._layoutEngine.getAvailableFeatures()}getAvailableFeatures(e,t){return this._layoutEngine.getAvailableFeatures(e,t)}_getBaseGlyph(e,t=[]){return this._glyphs[e]||(this.directory.tables.glyf?this._glyphs[e]=new Ya(e,t,this):(this.directory.tables["CFF "]||this.directory.tables.CFF2)&&(this._glyphs[e]=new Za(e,t,this))),this._glyphs[e]||null}getGlyph(e,t=[]){return this._glyphs[e]||(this.directory.tables.sbix?this._glyphs[e]=new Ka(e,t,this):this.directory.tables.COLR&&this.directory.tables.CPAL?this._glyphs[e]=new $a(e,t,this):this._getBaseGlyph(e,t)),this._glyphs[e]||null}createSubset(){return this.directory.tables["CFF "]?new al(this):new il(this)}get variationAxes(){let e={};if(!this.fvar)return e;for(let t of this.fvar.axis)e[t.axisTag.trim()]={name:t.name.en,min:t.minValue,default:t.defaultValue,max:t.maxValue};return e}get namedVariations(){let e={};if(!this.fvar)return e;for(let t of this.fvar.instance){let r={};for(let e=0;e<this.fvar.axis.length;e++){r[this.fvar.axis[e].axisTag.trim()]=t.coord[e]}e[t.name.en]=r}return e}getVariation(e){if(!this.directory.tables.fvar||!(this.directory.tables.gvar&&this.directory.tables.glyf||this.directory.tables.CFF2))throw new Error("Variations require a font with the fvar, gvar and glyf, or CFF2 tables.");if("string"==typeof e&&(e=this.namedVariations[e]),"object"!=typeof e)throw new Error("Variation settings must be either a variation name or settings object.");let r=this.fvar.axis.map((t,r)=>{let n=t.axisTag.trim();return n in e?Math.max(t.minValue,Math.min(t.maxValue,e[n])):t.defaultValue}),n=new t.DecodeStream(this.stream.buffer);n.pos=this._directoryPos;let s=new ll(n,r);return s._tables=this._tables,s}get _variationProcessor(){if(!this.fvar)return null;let e=this.variationCoords;return e||this.CFF2?(e||(e=this.fvar.axis.map(e=>e.defaultValue)),new el(this,e)):null}getFont(e){return this.getVariation(e)}constructor(e,t=null){p._(this,"type","TTF"),this.defaultLanguage=null,this.stream=e,this.variationCoords=t,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory();for(let e in this.directory.tables){let t=this.directory.tables[e];es[e]&&t.length>0&&Object.defineProperty(this,e,{get:this._getTable.bind(this,t)})}}}x.__decorate([F],ll.prototype,"bbox",null),x.__decorate([F],ll.prototype,"_cmapProcessor",null),x.__decorate([F],ll.prototype,"characterSet",null),x.__decorate([F],ll.prototype,"_layoutEngine",null),x.__decorate([F],ll.prototype,"variationAxes",null),x.__decorate([F],ll.prototype,"namedVariations",null),x.__decorate([F],ll.prototype,"_variationProcessor",null);let ol=new u.Struct({tag:new o.String(4),offset:new d.Pointer(f.uint32,"void",{type:"global"}),compLength:f.uint32,length:f.uint32,origChecksum:f.uint32}),ul=new u.Struct({tag:new o.String(4),flavor:f.uint32,length:f.uint32,numTables:f.uint16,reserved:new l.Reserved(f.uint16),totalSfntSize:f.uint32,majorVersion:f.uint16,minorVersion:f.uint16,metaOffset:f.uint32,metaLength:f.uint32,metaOrigLength:f.uint32,privOffset:f.uint32,privLength:f.uint32,tables:new r.Array(ol,"numTables")});ul.process=function(){let e={};for(let t of this.tables)e[t.tag]=t;this.tables=e};var cl=ul;class hl extends Ya{_decode(){return this._font._transformedGlyphs[this.id]}_getCBox(){return this.path.bbox}constructor(...e){super(...e),p._(this,"type","WOFF2")}}const fl={decode(e){let t=0,r=[0,1,2,3,4];for(let n=0;n<r.length;n++){let r=e.readUInt8();if(3758096384&t)throw new Error("Overflow");if(t=t<<7|127&r,!(128&r))return t}throw new Error("Bad base 128 number")}};let dl=["cmap","head","hhea","hmtx","maxp","name","OS/2","post","cvt ","fpgm","glyf","loca","prep","CFF ","VORG","EBDT","EBLC","gasp","hdmx","kern","LTSH","PCLT","VDMX","vhea","vmtx","BASE","GDEF","GPOS","GSUB","EBSC","JSTF","MATH","CBDT","CBLC","COLR","CPAL","SVG ","sbix","acnt","avar","bdat","bloc","bsln","cvar","fdsc","feat","fmtx","fvar","gvar","hsty","just","lcar","mort","morx","opbd","prop","trak","Zapf","Silf","Glat","Gloc","Feat","Sill"],pl=new u.Struct({flags:f.uint8,customTag:new a.Optional(new o.String(4),e=>!(63&~e.flags)),tag:e=>e.customTag||dl[63&e.flags],length:fl,transformVersion:e=>e.flags>>>6&3,transformed:e=>"glyf"===e.tag||"loca"===e.tag?0===e.transformVersion:0!==e.transformVersion,transformLength:new a.Optional(fl,e=>e.transformed)}),gl=new u.Struct({tag:new o.String(4),flavor:f.uint32,length:f.uint32,numTables:f.uint16,reserved:new l.Reserved(f.uint16),totalSfntSize:f.uint32,totalCompressedSize:f.uint32,majorVersion:f.uint16,minorVersion:f.uint16,metaOffset:f.uint32,metaLength:f.uint32,metaOrigLength:f.uint32,privOffset:f.uint32,privLength:f.uint32,tables:new r.Array(pl,"numTables")});gl.process=function(){let e={};for(let t=0;t<this.tables.length;t++){let r=this.tables[t];e[r.tag]=r}return this.tables=e};var ml=gl;class yl{decode(e,r){return new t.DecodeStream(this._buf.decode(e,r))}constructor(e){this.length=e,this._buf=new i.BufferT(e)}}let bl=new u.Struct({version:f.uint32,numGlyphs:f.uint16,indexFormat:f.uint16,nContourStreamSize:f.uint32,nPointsStreamSize:f.uint32,flagStreamSize:f.uint32,glyphStreamSize:f.uint32,compositeStreamSize:f.uint32,bboxStreamSize:f.uint32,instructionStreamSize:f.uint32,nContours:new yl("nContourStreamSize"),nPoints:new yl("nPointsStreamSize"),flags:new yl("flagStreamSize"),glyphs:new yl("glyphStreamSize"),composites:new yl("compositeStreamSize"),bboxes:new yl("bboxStreamSize"),instructions:new yl("instructionStreamSize")});const wl=253,vl=254,Sl=255,xl=253;function Cl(e){let t=e.readUInt8();return t===wl?e.readUInt16BE():t===Sl?e.readUInt8()+xl:t===vl?e.readUInt8()+2*xl:t}function _l(e,t){return 1&e?t:-t}function Al(e,t,r){let n,s=n=0,i=[];for(let o=0;o<r;o++){let r=0,o=0,u=e.readUInt8(),c=!(u>>7);if(u&=127,u<10)r=0,o=_l(u,((14&u)<<7)+t.readUInt8());else if(u<20)r=_l(u,((u-10&14)<<7)+t.readUInt8()),o=0;else if(u<84){r=_l(u,1+(48&(a=u-20))+((l=t.readUInt8())>>4)),o=_l(u>>1,1+((12&a)<<2)+(15&l))}else if(u<120){var a;r=_l(u,1+((a=u-84)/12<<8)+t.readUInt8()),o=_l(u>>1,1+(a%12>>2<<8)+t.readUInt8())}else if(u<124){var l=t.readUInt8();let e=t.readUInt8();r=_l(u,(l<<4)+(e>>4)),o=_l(u>>1,((15&e)<<8)+t.readUInt8())}else r=_l(u,t.readUInt16BE()),o=_l(u>>1,t.readUInt16BE());s+=r,n+=o,i.push(new Ha(c,!1,s,n))}return i}let Pl=new c.VersionedStruct(f.uint32,{65536:{numFonts:f.uint32,offsets:new r.Array(f.uint32,"numFonts")},131072:{numFonts:f.uint32,offsets:new r.Array(f.uint32,"numFonts"),dsigTag:f.uint32,dsigLength:f.uint32,dsigOffset:f.uint32}});let kl=new o.String(f.uint8);new u.Struct({len:f.uint32,buf:new i.BufferT("len")});let Il=new u.Struct({id:f.uint16,nameOffset:f.int16,attr:f.uint8,dataOffset:f.uint24,handle:f.uint32}),Tl=new u.Struct({name:new o.String(4),maxTypeIndex:f.uint16,refList:new d.Pointer(f.uint16,new r.Array(Il,e=>e.maxTypeIndex+1),{type:"parent"})}),Ol=new u.Struct({length:f.uint16,types:new r.Array(Tl,e=>e.length+1)}),Fl=new u.Struct({reserved:new l.Reserved(f.uint8,24),typeList:new d.Pointer(f.uint16,Ol),nameListOffset:new d.Pointer(f.uint16,"void")}),Dl=new u.Struct({dataOffset:f.uint32,map:new d.Pointer(f.uint32,Fl),dataLength:f.uint32,mapLength:f.uint32});I(ll),I(class extends ll{static probe(e){return"wOFF"===as.decode(e.slice(0,4))}_decodeDirectory(){this.directory=cl.decode(this.stream,{_startOffset:0})}_getTableStream(e){let r=this.directory.tables[e];if(r){if(this.stream.pos=r.offset,r.compLength<r.length){this.stream.pos+=2;let e=new Uint8Array(r.length),n=v.default(this.stream.readBuffer(r.compLength-2),e);return new t.DecodeStream(n)}return this.stream}return null}constructor(...e){super(...e),p._(this,"type","WOFF")}}),I(class extends ll{static probe(e){return"wOF2"===as.decode(e.slice(0,4))}_decodeDirectory(){this.directory=ml.decode(this.stream),this._dataPos=this.stream.pos}_decompress(){if(!this._decompressed){this.stream.pos=this._dataPos;let e=this.stream.readBuffer(this.directory.totalCompressedSize),r=0;for(let e in this.directory.tables){let t=this.directory.tables[e];t.offset=r,r+=null!=t.transformLength?t.transformLength:t.length}let n=S.default(e,r);if(!n)throw new Error("Error decoding compressed data in WOFF2");this.stream=new t.DecodeStream(n),this._decompressed=!0}}_decodeTable(e){return this._decompress(),super._decodeTable(e)}_getBaseGlyph(e,t=[]){if(!this._glyphs[e])return this.directory.tables.glyf&&this.directory.tables.glyf.transformed?(this._transformedGlyphs||this._transformGlyfTable(),this._glyphs[e]=new hl(e,t,this)):super._getBaseGlyph(e,t)}_transformGlyfTable(){this._decompress(),this.stream.pos=this.directory.tables.glyf.offset;let e=bl.decode(this.stream),t=[];for(let r=0;r<e.numGlyphs;r++){let r={},n=e.nContours.readInt16BE();if(r.numberOfContours=n,n>0){let t=[],s=0;for(let r=0;r<n;r++){s+=Cl(e.nPoints),t.push(s)}r.points=Al(e.flags,e.glyphs,s);for(let e=0;e<n;e++)r.points[t[e]-1].endContour=!0;Cl(e.glyphs)}else if(n<0){if(Ya.prototype._decodeComposite.call({_font:this},r,e.composites))Cl(e.glyphs)}t.push(r)}this._transformedGlyphs=t}constructor(...e){super(...e),p._(this,"type","WOFF2")}}),I(class{static probe(e){return"ttcf"===as.decode(e.slice(0,4))}getFont(e){for(let r of this.header.offsets){let n=new t.DecodeStream(this.stream.buffer);n.pos=r;let s=new ll(n);if(s.postscriptName===e||s.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&s.postscriptName.every((t,r)=>e[r]===t))return s}return null}get fonts(){let e=[];for(let r of this.header.offsets){let n=new t.DecodeStream(this.stream.buffer);n.pos=r,e.push(new ll(n))}return e}constructor(e){if(p._(this,"type","TTC"),this.stream=e,"ttcf"!==e.readString(4))throw new Error("Not a TrueType collection");this.header=Pl.decode(e)}}),I(class{static probe(e){let r=new t.DecodeStream(e);try{var n=Dl.decode(r)}catch(e){return!1}for(let e of n.map.typeList.types)if("sfnt"===e.name)return!0;return!1}getFont(e){if(!this.sfnt)return null;for(let r of this.sfnt.refList){let n=this.header.dataOffset+r.dataOffset+4,s=new t.DecodeStream(this.stream.buffer.slice(n)),i=new ll(s);if(i.postscriptName===e||i.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&i.postscriptName.every((t,r)=>e[r]===t))return i}return null}get fonts(){let e=[];for(let r of this.sfnt.refList){let n=this.header.dataOffset+r.dataOffset+4,s=new t.DecodeStream(this.stream.buffer.slice(n));e.push(new ll(s))}return e}constructor(e){p._(this,"type","DFont"),this.stream=e,this.header=Dl.decode(this.stream);for(let e of this.header.map.typeList.types){for(let t of e.refList)t.nameOffset>=0?(this.stream.pos=t.nameOffset+this.header.map.nameListOffset,t.name=kl.decode(this.stream)):t.name=null;"sfnt"===e.name&&(this.sfnt=e)}}}),exports.create=T,exports.logErrors=P,exports.registerFormat=I,exports.setDefaultLanguage=O;