framefields 2.14.0 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE.md +5 -1
- package/dist/audio/index.d.mts +3 -3
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-DFwRbID_.mjs → audio-6TfPlfl4.mjs} +3 -3
- package/dist/{audio-DFwRbID_.mjs.map → audio-6TfPlfl4.mjs.map} +1 -1
- package/dist/{audio-CdCuGK5d.d.mts → audio-7oqTUi4G.d.mts} +2 -2
- package/dist/{audio-CdCuGK5d.d.mts.map → audio-7oqTUi4G.d.mts.map} +1 -1
- package/dist/cli/check-worker.mjs +44 -44
- package/dist/cli.mjs +1 -1
- package/dist/cloud/index.d.mts.map +1 -1
- package/dist/cloud/index.mjs +1 -1
- package/dist/{cloud-Cj1TIme8.mjs → cloud-jnk1hPYf.mjs} +2 -2
- package/dist/{cloud-Cj1TIme8.mjs.map → cloud-jnk1hPYf.mjs.map} +1 -1
- package/dist/components/index.d.mts +11 -11
- package/dist/components/index.mjs +43 -43
- package/dist/{dist-Kbf-JTry.mjs → dist-BtI6ukB5.mjs} +2 -2
- package/dist/{dist-Kbf-JTry.mjs.map → dist-BtI6ukB5.mjs.map} +1 -1
- package/dist/{dist-B8Nby2CU.mjs → dist-COOpgG9G.mjs} +4 -3
- package/dist/{dist-B8Nby2CU.mjs.map → dist-COOpgG9G.mjs.map} +1 -1
- package/dist/{dist--Uu5bQ_6.mjs → dist-XqlFM2a8.mjs} +13733 -5323
- package/dist/dist-XqlFM2a8.mjs.map +1 -0
- package/dist/{dist-CiTgmfUw.mjs → dist-f1zkl69f.mjs} +4 -4
- package/dist/dist-f1zkl69f.mjs.map +1 -0
- package/dist/{dist-B_rSWeOz.mjs → dist-umQOWz0a.mjs} +1 -1
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-WMgv8ZaD.mjs → effects-DlRMovU5.mjs} +2 -2
- package/dist/{effects-WMgv8ZaD.mjs.map → effects-DlRMovU5.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-OW3yAfO5.mjs → fonts-BWYcXjyK.mjs} +3 -3
- package/dist/fonts-BWYcXjyK.mjs.map +1 -0
- package/dist/{gpu-R4T2Tndu.mjs → gpu-CH1PdM4T.mjs} +2 -2
- package/dist/{gpu-R4T2Tndu.mjs.map → gpu-CH1PdM4T.mjs.map} +1 -1
- package/dist/{index-CEKxvGY-.d.mts → index-BHTycml5.d.mts} +2 -2
- package/dist/{index-CEKxvGY-.d.mts.map → index-BHTycml5.d.mts.map} +1 -1
- package/dist/{index-DoP6EiHj.d.mts → index-BcxxxwhV.d.mts} +4 -4
- package/dist/{index-DoP6EiHj.d.mts.map → index-BcxxxwhV.d.mts.map} +1 -1
- package/dist/{index-Bv7gxGK1.d.mts → index-BnB_Ou2y.d.mts} +2 -2
- package/dist/index-BnB_Ou2y.d.mts.map +1 -0
- package/dist/index-C-V6CAhP.d.mts.map +1 -1
- package/dist/{index-D1FqV1eu.d.mts → index-CMhkkc56.d.mts} +43 -11
- package/dist/index-CMhkkc56.d.mts.map +1 -0
- package/dist/{index-B0Vq8Bwf.d.mts → index-CYVpYGM-.d.mts} +2 -2
- package/dist/{index-B0Vq8Bwf.d.mts.map → index-CYVpYGM-.d.mts.map} +1 -1
- package/dist/{index-C7-p9zwU.d.mts → index-DhL7ckvs.d.mts} +5 -5
- package/dist/index-DhL7ckvs.d.mts.map +1 -0
- package/dist/{index-9xte4JgL.d.mts → index-DkAjKnhW.d.mts} +1464 -559
- package/dist/index-DkAjKnhW.d.mts.map +1 -0
- package/dist/{index-GA9_Z8Fn.d.mts → index-RILu3ULT.d.mts} +2 -2
- package/dist/{index-GA9_Z8Fn.d.mts.map → index-RILu3ULT.d.mts.map} +1 -1
- package/dist/{index-C5sgRLlG.d.mts → index-TCtdSXd7.d.mts} +3 -1
- package/dist/index-TCtdSXd7.d.mts.map +1 -0
- package/dist/{index-CRaydvLi.d.mts → index-s2qQ8ifZ.d.mts} +886 -51
- package/dist/index-s2qQ8ifZ.d.mts.map +1 -0
- package/dist/index.d.mts +13 -13
- package/dist/index.mjs +52 -52
- package/dist/preview/index.d.mts +3 -3
- package/dist/preview/index.mjs +10 -10
- package/dist/preview-BeGF1Bb1.mjs +1002 -0
- package/dist/preview-BeGF1Bb1.mjs.map +1 -0
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-64L4GUOF.mjs → chunk-4F3DG6YB.mjs} +2 -2
- package/dist/preview-engine/chunk-A2OTOW3B.mjs +4694 -0
- package/dist/preview-engine/{chunk-GNDE3OXQ.mjs → chunk-BR56TQBP.mjs} +1 -1
- package/dist/preview-engine/{chunk-ADLIF544.mjs → chunk-H2XKXXAU.mjs} +1 -1
- package/dist/preview-engine/chunk-NDUODAY2.mjs +3 -0
- package/dist/preview-engine/{chunk-FZ4RD7HV.mjs → chunk-QAQJSWUT.mjs} +1 -1
- package/dist/preview-engine/chunk-SWRGQTVC.mjs +138 -0
- package/dist/preview-engine/{chunk-52X7SURQ.mjs → chunk-TEA3GVBJ.mjs} +1 -1
- package/dist/preview-engine/chunk-VM2ZBPLM.mjs +644 -0
- package/dist/preview-engine/{chunk-UBY2UYEL.mjs → chunk-XSHNQJ7L.mjs} +1 -1
- package/dist/preview-engine/components.mjs +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1
- package/dist/preview-engine/player.mjs +2 -2
- package/dist/preview-engine/{renderers-DU7KPFVV.mjs → renderers-6C7NWWDX.mjs} +1 -1
- package/dist/preview-engine/renderers-HHVGNMSJ.mjs +206 -0
- package/dist/preview-engine/{src-YXNX4MLK.mjs → src-RCNEKIRP.mjs} +1 -1
- package/dist/preview-page/index.html +19 -0
- package/dist/preview-page/main.css +1 -0
- package/dist/preview-page/main.js +327 -0
- package/dist/{program-tFKCWU2j.mjs → program-CMigyfso.mjs} +829 -52
- package/dist/program-CMigyfso.mjs.map +1 -0
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/{renderer-DkOuQi84.mjs → renderer-0GMEL_Zi.mjs} +3 -3
- package/dist/{renderer-DkOuQi84.mjs.map → renderer-0GMEL_Zi.mjs.map} +1 -1
- package/dist/{renderer-BGp0An5A.mjs → renderer-3Wv2ZBJG.mjs} +3 -3
- package/dist/{renderer-BGp0An5A.mjs.map → renderer-3Wv2ZBJG.mjs.map} +1 -1
- package/dist/{renderer-BVIXKfbC.mjs → renderer-4nXkaAWu.mjs} +1178 -199
- package/dist/renderer-4nXkaAWu.mjs.map +1 -0
- package/dist/{renderer-Cw6_NL2i.mjs → renderer-6SnfLXeg.mjs} +3 -3
- package/dist/{renderer-Cw6_NL2i.mjs.map → renderer-6SnfLXeg.mjs.map} +1 -1
- package/dist/{renderer-BVU22lBS.mjs → renderer-8gHw3O0P.mjs} +2 -2
- package/dist/{renderer-BVU22lBS.mjs.map → renderer-8gHw3O0P.mjs.map} +1 -1
- package/dist/{renderer-BjDddtw9.mjs → renderer-AOBglZHC.mjs} +2 -2
- package/dist/{renderer-D-KHHWQD.mjs → renderer-B0bSARK3.mjs} +3 -3
- package/dist/{renderer-D-KHHWQD.mjs.map → renderer-B0bSARK3.mjs.map} +1 -1
- package/dist/{renderer-CCxk-RJR.mjs → renderer-B2_tuRfl.mjs} +2 -2
- package/dist/{renderer-CCxk-RJR.mjs.map → renderer-B2_tuRfl.mjs.map} +1 -1
- package/dist/{renderer-k5d7JSbs.mjs → renderer-B82FhkEr.mjs} +3 -3
- package/dist/{renderer-k5d7JSbs.mjs.map → renderer-B82FhkEr.mjs.map} +1 -1
- package/dist/{renderer-I0Hh9cLK.mjs → renderer-B9lzA0PY.mjs} +3 -3
- package/dist/{renderer-I0Hh9cLK.mjs.map → renderer-B9lzA0PY.mjs.map} +1 -1
- package/dist/{renderer-Dwwnx7Dk.mjs → renderer-BBSIWSry.mjs} +2 -2
- package/dist/{renderer-Dwwnx7Dk.mjs.map → renderer-BBSIWSry.mjs.map} +1 -1
- package/dist/{renderer-_pC-jB9O.mjs → renderer-BEKDMxbi.mjs} +2 -2
- package/dist/{renderer-_pC-jB9O.mjs.map → renderer-BEKDMxbi.mjs.map} +1 -1
- package/dist/renderer-BERGAxqA.mjs +5 -0
- package/dist/{renderer-raxwsiGI.mjs → renderer-BF960HY8.mjs} +3 -3
- package/dist/{renderer-raxwsiGI.mjs.map → renderer-BF960HY8.mjs.map} +1 -1
- package/dist/{renderer-Dr0tXA4k.mjs → renderer-BFwyVxCu.mjs} +3 -3
- package/dist/{renderer-Dr0tXA4k.mjs.map → renderer-BFwyVxCu.mjs.map} +1 -1
- package/dist/{renderer-DEjo6dw_.mjs → renderer-BNiwcI3-.mjs} +2 -2
- package/dist/{renderer-DEjo6dw_.mjs.map → renderer-BNiwcI3-.mjs.map} +1 -1
- package/dist/{renderer-DIEeHiQA.mjs → renderer-BPbVb2Q4.mjs} +2 -2
- package/dist/{renderer-DIEeHiQA.mjs.map → renderer-BPbVb2Q4.mjs.map} +1 -1
- package/dist/renderer-BQ_YkBMt.mjs +6 -0
- package/dist/{renderer-BBMtmxks.mjs → renderer-BUWxlA8T.mjs} +3 -3
- package/dist/{renderer-BBMtmxks.mjs.map → renderer-BUWxlA8T.mjs.map} +1 -1
- package/dist/renderer-BW0Tjsv9.mjs +5 -0
- package/dist/{renderer-Dgj46uEU.mjs → renderer-BX8liu-e.mjs} +2 -2
- package/dist/{renderer-ZnrEfkYh.mjs → renderer-BXIwDAr_.mjs} +2 -2
- package/dist/{renderer-ZnrEfkYh.mjs.map → renderer-BXIwDAr_.mjs.map} +1 -1
- package/dist/{renderer-DA8YEo_d.mjs → renderer-B_Hy1W-g.mjs} +3 -3
- package/dist/{renderer-DA8YEo_d.mjs.map → renderer-B_Hy1W-g.mjs.map} +1 -1
- package/dist/{renderer-iMiYStcW.mjs → renderer-Bb6cvSgh.mjs} +2 -2
- package/dist/{renderer-iMiYStcW.mjs.map → renderer-Bb6cvSgh.mjs.map} +1 -1
- package/dist/{renderer-BacY4nh8.mjs → renderer-BdppwWC9.mjs} +2 -2
- package/dist/{renderer-BacY4nh8.mjs.map → renderer-BdppwWC9.mjs.map} +1 -1
- package/dist/{renderer-CrxwW6VQ.mjs → renderer-Bhc24HVe.mjs} +3 -3
- package/dist/{renderer-CrxwW6VQ.mjs.map → renderer-Bhc24HVe.mjs.map} +1 -1
- package/dist/{renderer-BH7UCMPQ.mjs → renderer-BiNA2wF0.mjs} +2 -2
- package/dist/{renderer-BH7UCMPQ.mjs.map → renderer-BiNA2wF0.mjs.map} +1 -1
- package/dist/{renderer-DVPgWHZw.mjs → renderer-BmoBgTp5.mjs} +3 -3
- package/dist/{renderer-DVPgWHZw.mjs.map → renderer-BmoBgTp5.mjs.map} +1 -1
- package/dist/{renderer-C20efMI0.mjs → renderer-BmqFmCWS.mjs} +3 -3
- package/dist/{renderer-C20efMI0.mjs.map → renderer-BmqFmCWS.mjs.map} +1 -1
- package/dist/{renderer-B0yVUOPP.mjs → renderer-BnVwAObV.mjs} +2 -2
- package/dist/{renderer-B0yVUOPP.mjs.map → renderer-BnVwAObV.mjs.map} +1 -1
- package/dist/{renderer-CP8wLzTU.mjs → renderer-BxttZHme.mjs} +2 -2
- package/dist/{renderer-CP8wLzTU.mjs.map → renderer-BxttZHme.mjs.map} +1 -1
- package/dist/renderer-BzyPdUD1.mjs +5 -0
- package/dist/renderer-C0hM-mtY.mjs +5 -0
- package/dist/renderer-C6cyUTvk.mjs +5 -0
- package/dist/{renderer-BOSZAdgF.mjs → renderer-C8E4XsSg.mjs} +2 -2
- package/dist/{renderer-BOSZAdgF.mjs.map → renderer-C8E4XsSg.mjs.map} +1 -1
- package/dist/renderer-C8zY3pzk.mjs +5 -0
- package/dist/{renderer-DWq9gYRw.mjs → renderer-C9U-LY50.mjs} +3 -3
- package/dist/{renderer-DWq9gYRw.mjs.map → renderer-C9U-LY50.mjs.map} +1 -1
- package/dist/{renderer-Dj2H5JPR.mjs → renderer-CB2JVu5x.mjs} +3 -3
- package/dist/{renderer-Dj2H5JPR.mjs.map → renderer-CB2JVu5x.mjs.map} +1 -1
- package/dist/{renderer-Bcu3UrI-.mjs → renderer-CC4YBJ8Z.mjs} +3 -3
- package/dist/{renderer-Bcu3UrI-.mjs.map → renderer-CC4YBJ8Z.mjs.map} +1 -1
- package/dist/renderer-CEkSOyKu.mjs +5 -0
- package/dist/{renderer-DzLrvCB2.mjs → renderer-CIycc5O-.mjs} +2 -2
- package/dist/{renderer-DzLrvCB2.mjs.map → renderer-CIycc5O-.mjs.map} +1 -1
- package/dist/renderer-CJYtfa4x.mjs +5 -0
- package/dist/{renderer-BeNl_6EG.mjs → renderer-CJraQlV-.mjs} +2 -2
- package/dist/{renderer-BeNl_6EG.mjs.map → renderer-CJraQlV-.mjs.map} +1 -1
- package/dist/renderer-CKMtHGZh.mjs +5 -0
- package/dist/renderer-CLzicoiy.mjs +5 -0
- package/dist/renderer-CM2A4BHd.mjs +5 -0
- package/dist/{renderer-DtMVitEF.mjs → renderer-COWGWtob.mjs} +2 -2
- package/dist/{renderer-DtMVitEF.mjs.map → renderer-COWGWtob.mjs.map} +1 -1
- package/dist/{renderer-CT3zkfbf.mjs → renderer-COxG2XGf.mjs} +2 -2
- package/dist/{renderer-CT3zkfbf.mjs.map → renderer-COxG2XGf.mjs.map} +1 -1
- package/dist/{renderer-DNxWOz8Q.mjs → renderer-CQDCIsQm.mjs} +2 -2
- package/dist/{renderer-DNxWOz8Q.mjs.map → renderer-CQDCIsQm.mjs.map} +1 -1
- package/dist/{renderer-C5AoaymD.mjs → renderer-CRUeag8i.mjs} +3 -3
- package/dist/{renderer-C5AoaymD.mjs.map → renderer-CRUeag8i.mjs.map} +1 -1
- package/dist/{renderer-ngmYIIob.mjs → renderer-CWVput06.mjs} +3 -3
- package/dist/{renderer-ngmYIIob.mjs.map → renderer-CWVput06.mjs.map} +1 -1
- package/dist/renderer-CZlHjcxr.mjs +5 -0
- package/dist/{renderer-0rveCDm-.mjs → renderer-CbbnBLOB.mjs} +3 -3
- package/dist/{renderer-0rveCDm-.mjs.map → renderer-CbbnBLOB.mjs.map} +1 -1
- package/dist/renderer-CbimvSU8.mjs +5 -0
- package/dist/renderer-Ccvc63yd.mjs +5 -0
- package/dist/renderer-Cdp-SGfq.mjs +5 -0
- package/dist/renderer-CeTcSs3e.mjs +5 -0
- package/dist/{renderer-Brmbl12Y.mjs → renderer-CfLZein2.mjs} +3 -3
- package/dist/{renderer-Brmbl12Y.mjs.map → renderer-CfLZein2.mjs.map} +1 -1
- package/dist/{renderer-BJ8ea92W.mjs → renderer-Ch-q1O-q.mjs} +3 -3
- package/dist/{renderer-BJ8ea92W.mjs.map → renderer-Ch-q1O-q.mjs.map} +1 -1
- package/dist/{renderer-CP108ABB.mjs → renderer-Ch5JvJWl.mjs} +2 -2
- package/dist/{renderer-CP108ABB.mjs.map → renderer-Ch5JvJWl.mjs.map} +1 -1
- package/dist/{renderer-47y12Z37.mjs → renderer-ChtEzq-R.mjs} +2 -2
- package/dist/{renderer-47y12Z37.mjs.map → renderer-ChtEzq-R.mjs.map} +1 -1
- package/dist/{renderer-DhyMfG1v.mjs → renderer-Cj9nTC5l.mjs} +3 -3
- package/dist/{renderer-DhyMfG1v.mjs.map → renderer-Cj9nTC5l.mjs.map} +1 -1
- package/dist/{renderer-BDzn1AKF.mjs → renderer-CqT8HsSS.mjs} +2 -2
- package/dist/{renderer-BDzn1AKF.mjs.map → renderer-CqT8HsSS.mjs.map} +1 -1
- package/dist/{renderer-B7G1KohJ.mjs → renderer-CuQjMhdV.mjs} +2 -2
- package/dist/renderer-CvNuu52U.mjs +5 -0
- package/dist/renderer-CwciC0oI.mjs +5 -0
- package/dist/renderer-CysLUbIr.mjs +5 -0
- package/dist/{renderer-Cm0tsbQH.mjs → renderer-Cz30EVws.mjs} +2 -2
- package/dist/{renderer-Cm0tsbQH.mjs.map → renderer-Cz30EVws.mjs.map} +1 -1
- package/dist/renderer-D3A22Vxb.mjs +5 -0
- package/dist/renderer-D5SY9EmA.mjs +5 -0
- package/dist/renderer-D8h3ZvaE.mjs +5 -0
- package/dist/renderer-DE-B6N9n.mjs +5 -0
- package/dist/renderer-DETZTI7t.mjs +5 -0
- package/dist/{renderer-nHS3Sius.mjs → renderer-DHoX-5U_.mjs} +3 -3
- package/dist/{renderer-nHS3Sius.mjs.map → renderer-DHoX-5U_.mjs.map} +1 -1
- package/dist/{renderer-BWSRryIA.mjs → renderer-DOkm0Ycd.mjs} +2 -2
- package/dist/{renderer-BWSRryIA.mjs.map → renderer-DOkm0Ycd.mjs.map} +1 -1
- package/dist/{renderer-BHYJlK6H.d.mts → renderer-DU3f6ZrS.d.mts} +2 -2
- package/dist/{renderer-BHYJlK6H.d.mts.map → renderer-DU3f6ZrS.d.mts.map} +1 -1
- package/dist/{renderer-BpVOk9ux.mjs → renderer-DUzv-shq.mjs} +2 -2
- package/dist/{renderer-BpVOk9ux.mjs.map → renderer-DUzv-shq.mjs.map} +1 -1
- package/dist/renderer-DWnDj0IM.mjs +5 -0
- package/dist/renderer-DcGUIbQF.mjs +5 -0
- package/dist/renderer-Dfq6FoNO.mjs +5 -0
- package/dist/renderer-DhasXW6S.mjs +3 -0
- package/dist/{renderer-NRMlYkX6.mjs → renderer-DhnOWnEA.mjs} +3 -3
- package/dist/{renderer-NRMlYkX6.mjs.map → renderer-DhnOWnEA.mjs.map} +1 -1
- package/dist/{renderer-COgwYqev.mjs → renderer-Dhy1XHzz.mjs} +3 -3
- package/dist/{renderer-COgwYqev.mjs.map → renderer-Dhy1XHzz.mjs.map} +1 -1
- package/dist/renderer-DjCvpsV_.mjs +5 -0
- package/dist/{renderer-BfZNIiSv.mjs → renderer-DjJshz9Y.mjs} +2 -2
- package/dist/{renderer-BfZNIiSv.mjs.map → renderer-DjJshz9Y.mjs.map} +1 -1
- package/dist/{renderer-CKo7VR8x.mjs → renderer-DmTUIdus.mjs} +3 -3
- package/dist/{renderer-CKo7VR8x.mjs.map → renderer-DmTUIdus.mjs.map} +1 -1
- package/dist/{renderer-Baw6Utxi.mjs → renderer-Dq7AioJa.mjs} +2 -2
- package/dist/{renderer-Baw6Utxi.mjs.map → renderer-Dq7AioJa.mjs.map} +1 -1
- package/dist/renderer-DrAaM6JD.mjs +5 -0
- package/dist/{renderer-D-GWBoVT.mjs → renderer-Dt4sqNEu.mjs} +2 -2
- package/dist/{renderer-D-GWBoVT.mjs.map → renderer-Dt4sqNEu.mjs.map} +1 -1
- package/dist/{renderer-FYOL5Za6.mjs → renderer-Dtcs4idV.mjs} +3 -3
- package/dist/{renderer-FYOL5Za6.mjs.map → renderer-Dtcs4idV.mjs.map} +1 -1
- package/dist/renderer-Dxlv8LYm.mjs +5 -0
- package/dist/{renderer-D-RhYvVl.mjs → renderer-Gj8SrE2W.mjs} +2 -2
- package/dist/{renderer-D-RhYvVl.mjs.map → renderer-Gj8SrE2W.mjs.map} +1 -1
- package/dist/{renderer-D_j1WKMD.mjs → renderer-KfnXDJS0.mjs} +3 -3
- package/dist/{renderer-D_j1WKMD.mjs.map → renderer-KfnXDJS0.mjs.map} +1 -1
- package/dist/{renderer-Bpm145BW.mjs → renderer-MXVlg4p5.mjs} +3 -3
- package/dist/{renderer-Bpm145BW.mjs.map → renderer-MXVlg4p5.mjs.map} +1 -1
- package/dist/{renderer-Nnmi8Gt6.mjs → renderer-N2b6QZ1E.mjs} +3 -3
- package/dist/{renderer-Nnmi8Gt6.mjs.map → renderer-N2b6QZ1E.mjs.map} +1 -1
- package/dist/renderer-Pb43OO2t.mjs +5 -0
- package/dist/{renderer-Ca1KjNCO.mjs → renderer-Q7gDzm8c.mjs} +2 -2
- package/dist/{renderer-Ca1KjNCO.mjs.map → renderer-Q7gDzm8c.mjs.map} +1 -1
- package/dist/{renderer-D2wNFNRf.mjs → renderer-RCiANtRV.mjs} +2 -2
- package/dist/{renderer-D2wNFNRf.mjs.map → renderer-RCiANtRV.mjs.map} +1 -1
- package/dist/{renderer-Cqb7PGrI.mjs → renderer-Sig9nZcI.mjs} +2 -2
- package/dist/renderer-VQbm-cGr.mjs +5 -0
- package/dist/{renderer-W1bVNVR6.mjs → renderer-fabBgwQX.mjs} +3 -3
- package/dist/{renderer-W1bVNVR6.mjs.map → renderer-fabBgwQX.mjs.map} +1 -1
- package/dist/{renderer-zRq0j6Xy.mjs → renderer-g-0PCNoo.mjs} +3 -3
- package/dist/{renderer-zRq0j6Xy.mjs.map → renderer-g-0PCNoo.mjs.map} +1 -1
- package/dist/{renderer-2PjR3w-q.mjs → renderer-gmHKIbKI.mjs} +3 -3
- package/dist/{renderer-2PjR3w-q.mjs.map → renderer-gmHKIbKI.mjs.map} +1 -1
- package/dist/{renderer-03mYJLgX.mjs → renderer-kVZwiRoK.mjs} +3 -3
- package/dist/{renderer-03mYJLgX.mjs.map → renderer-kVZwiRoK.mjs.map} +1 -1
- package/dist/renderer-oPMypDM1.mjs +5 -0
- package/dist/{renderer-DcAKDAnS.mjs → renderer-p7tgxP-A.mjs} +3 -3
- package/dist/{renderer-DcAKDAnS.mjs.map → renderer-p7tgxP-A.mjs.map} +1 -1
- package/dist/{renderer-jUKdkmG5.mjs → renderer-tvYj306A.mjs} +81 -78
- package/dist/renderer-tvYj306A.mjs.map +1 -0
- package/dist/renderer-xvWGpVyp.mjs +5 -0
- package/dist/renderer-zafZbD6Q.mjs +5 -0
- package/dist/{renderers-CP8CFWDs-CshljORp.mjs → renderers-CP8CFWDs-DLjtjrwx.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-CshljORp.mjs.map → renderers-CP8CFWDs-DLjtjrwx.mjs.map} +1 -1
- package/dist/sam/index.d.mts +2 -2
- package/dist/sam/index.mjs +1 -1
- package/dist/signals/index.d.mts +4 -4
- package/dist/signals/index.mjs +4 -4
- package/dist/{src-BU6vm9sP-DdTHmCr4.mjs → src-B23p_eh7-Cj6-lvV6.mjs} +293 -6
- package/dist/src-B23p_eh7-Cj6-lvV6.mjs.map +1 -0
- package/dist/{src-Dy4gnc6w.mjs → src-CoHAjviq.mjs} +1349 -177
- package/dist/src-CoHAjviq.mjs.map +1 -0
- package/dist/storage/index.mjs +1 -1
- package/package.json +63 -60
- package/dist/dist--Uu5bQ_6.mjs.map +0 -1
- package/dist/dist-CiTgmfUw.mjs.map +0 -1
- package/dist/fonts-OW3yAfO5.mjs.map +0 -1
- package/dist/index-9xte4JgL.d.mts.map +0 -1
- package/dist/index-Bv7gxGK1.d.mts.map +0 -1
- package/dist/index-C5sgRLlG.d.mts.map +0 -1
- package/dist/index-C7-p9zwU.d.mts.map +0 -1
- package/dist/index-CRaydvLi.d.mts.map +0 -1
- package/dist/index-D1FqV1eu.d.mts.map +0 -1
- package/dist/preview-D7BGmE1E.mjs +0 -2446
- package/dist/preview-D7BGmE1E.mjs.map +0 -1
- package/dist/preview-engine/chunk-5DZTPUMH.mjs +0 -2568
- package/dist/preview-engine/chunk-NCQHOGZK.mjs +0 -3
- package/dist/preview-engine/chunk-PH3UUX6A.mjs +0 -138
- package/dist/preview-engine/chunk-UPZURPJY.mjs +0 -2227
- package/dist/preview-engine/renderers-DLJOA3BM.mjs +0 -228
- package/dist/program-tFKCWU2j.mjs.map +0 -1
- package/dist/renderer-6_bzbbXt.mjs +0 -5
- package/dist/renderer-8M-9G6F_.mjs +0 -5
- package/dist/renderer-B5OzKvF8.mjs +0 -5
- package/dist/renderer-BBCZ2qbE.mjs +0 -5
- package/dist/renderer-BChbxCux.mjs +0 -5
- package/dist/renderer-BGeMPr8C.mjs +0 -5
- package/dist/renderer-BPQ8Pkjb.mjs +0 -5
- package/dist/renderer-BTRpA3HD.mjs +0 -5
- package/dist/renderer-BVIXKfbC.mjs.map +0 -1
- package/dist/renderer-BVsECSn-.mjs +0 -5
- package/dist/renderer-Bgos68gc.mjs +0 -6
- package/dist/renderer-BjHOvoqO.mjs +0 -5
- package/dist/renderer-BjXMPPlV.mjs +0 -5
- package/dist/renderer-Byobxqkv.mjs +0 -5
- package/dist/renderer-CKrsg3EG.mjs +0 -5
- package/dist/renderer-Cj875NuH.mjs +0 -5
- package/dist/renderer-CnmzJoMv.mjs +0 -5
- package/dist/renderer-CtklDaMg.mjs +0 -5
- package/dist/renderer-D1tK3in_.mjs +0 -5
- package/dist/renderer-D2yc9P61.mjs +0 -5
- package/dist/renderer-D4v-JvSr.mjs +0 -5
- package/dist/renderer-D5yp74NL.mjs +0 -3
- package/dist/renderer-D7WRWDwB.mjs +0 -5
- package/dist/renderer-DGvA0tdB.mjs +0 -5
- package/dist/renderer-DO7v5Sdm.mjs +0 -5
- package/dist/renderer-DRVvt7-V.mjs +0 -5
- package/dist/renderer-DYMCd3jL.mjs +0 -5
- package/dist/renderer-DmHKw-MM.mjs +0 -5
- package/dist/renderer-DoDsuZ6G.mjs +0 -5
- package/dist/renderer-EpgclS70.mjs +0 -5
- package/dist/renderer-GroKiYyK.mjs +0 -5
- package/dist/renderer-MQ5K_xIS.mjs +0 -5
- package/dist/renderer-U43SflML.mjs +0 -5
- package/dist/renderer-UqOmBgCv.mjs +0 -5
- package/dist/renderer-XLULgJM0.mjs +0 -5
- package/dist/renderer-jUKdkmG5.mjs.map +0 -1
- package/dist/renderer-lNjxY1GG.mjs +0 -5
- package/dist/renderer-ukufL7pl.mjs +0 -5
- package/dist/renderer-wb0NCKdF.mjs +0 -5
- package/dist/src-BU6vm9sP-DdTHmCr4.mjs.map +0 -1
- package/dist/src-Dy4gnc6w.mjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import{a as ms}from"./chunk-OGPJTUAL.mjs";import{b as Xo}from"./chunk-354GX6IB.mjs";import{b as qe,d as Xt,f as Z,g as L}from"./chunk-Y4NIR77Z.mjs";var _o=qe((xb,Zo)=>{"use strict";L();Zo.exports=function s(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var r,n,a;if(Array.isArray(e)){if(r=e.length,r!=t.length)return!1;for(n=r;n--!==0;)if(!s(e[n],t[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(a=Object.keys(e),r=a.length,r!==Object.keys(t).length)return!1;for(n=r;n--!==0;)if(!Object.prototype.hasOwnProperty.call(t,a[n]))return!1;for(n=r;n--!==0;){var o=a[n];if(!s(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}});var ys=qe(K0=>{"use strict";L();K0.byteLength=dc;K0.toByteArray=gc;K0.fromByteArray=xc;var kt=[],pt=[],hc=typeof Uint8Array<"u"?Uint8Array:Array,vs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ur=0,Jo=vs.length;ur<Jo;++ur)kt[ur]=vs[ur],pt[vs.charCodeAt(ur)]=ur;var ur,Jo;pt[45]=62;pt[95]=63;function Qo(s){var e=s.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=s.indexOf("=");t===-1&&(t=e);var r=t===e?0:4-t%4;return[t,r]}function dc(s){var e=Qo(s),t=e[0],r=e[1];return(t+r)*3/4-r}function pc(s,e,t){return(e+t)*3/4-t}function gc(s){var e,t=Qo(s),r=t[0],n=t[1],a=new hc(pc(s,r,n)),o=0,i=n>0?r-4:r,l;for(l=0;l<i;l+=4)e=pt[s.charCodeAt(l)]<<18|pt[s.charCodeAt(l+1)]<<12|pt[s.charCodeAt(l+2)]<<6|pt[s.charCodeAt(l+3)],a[o++]=e>>16&255,a[o++]=e>>8&255,a[o++]=e&255;return n===2&&(e=pt[s.charCodeAt(l)]<<2|pt[s.charCodeAt(l+1)]>>4,a[o++]=e&255),n===1&&(e=pt[s.charCodeAt(l)]<<10|pt[s.charCodeAt(l+1)]<<4|pt[s.charCodeAt(l+2)]>>2,a[o++]=e>>8&255,a[o++]=e&255),a}function bc(s){return kt[s>>18&63]+kt[s>>12&63]+kt[s>>6&63]+kt[s&63]}function mc(s,e,t){for(var r,n=[],a=e;a<t;a+=3)r=(s[a]<<16&16711680)+(s[a+1]<<8&65280)+(s[a+2]&255),n.push(bc(r));return n.join("")}function xc(s){for(var e,t=s.length,r=t%3,n=[],a=16383,o=0,i=t-r;o<i;o+=a)n.push(mc(s,o,o+a>i?i:o+a));return r===1?(e=s[t-1],n.push(kt[e>>2]+kt[e<<4&63]+"==")):r===2&&(e=(s[t-2]<<8)+s[t-1],n.push(kt[e>>10]+kt[e>>4&63]+kt[e<<2&63]+"=")),n.join("")}});var Es=qe((Cb,li)=>{L();var Ss=0,ri=-3;function s0(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function vc(s,e){this.source=s,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new s0,this.dtree=new s0}var ni=new s0,si=new s0,Ps=new Uint8Array(30),As=new Uint16Array(30),ai=new Uint8Array(30),oi=new Uint16Array(30),yc=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),$o=new s0,Ft=new Uint8Array(320);function ii(s,e,t,r){var n,a;for(n=0;n<t;++n)s[n]=0;for(n=0;n<30-t;++n)s[n+t]=n/t|0;for(a=r,n=0;n<30;++n)e[n]=a,a+=1<<s[n]}function wc(s,e){var t;for(t=0;t<7;++t)s.table[t]=0;for(s.table[7]=24,s.table[8]=152,s.table[9]=112,t=0;t<24;++t)s.trans[t]=256+t;for(t=0;t<144;++t)s.trans[24+t]=t;for(t=0;t<8;++t)s.trans[168+t]=280+t;for(t=0;t<112;++t)s.trans[176+t]=144+t;for(t=0;t<5;++t)e.table[t]=0;for(e.table[5]=32,t=0;t<32;++t)e.trans[t]=t}var ei=new Uint16Array(16);function ws(s,e,t,r){var n,a;for(n=0;n<16;++n)s.table[n]=0;for(n=0;n<r;++n)s.table[e[t+n]]++;for(s.table[0]=0,a=0,n=0;n<16;++n)ei[n]=a,a+=s.table[n];for(n=0;n<r;++n)e[t+n]&&(s.trans[ei[e[t+n]]++]=n)}function Cc(s){s.bitcount--||(s.tag=s.source[s.sourceIndex++],s.bitcount=7);var e=s.tag&1;return s.tag>>>=1,e}function It(s,e,t){if(!e)return t;for(;s.bitcount<24;)s.tag|=s.source[s.sourceIndex++]<<s.bitcount,s.bitcount+=8;var r=s.tag&65535>>>16-e;return s.tag>>>=e,s.bitcount-=e,r+t}function Cs(s,e){for(;s.bitcount<24;)s.tag|=s.source[s.sourceIndex++]<<s.bitcount,s.bitcount+=8;var t=0,r=0,n=0,a=s.tag;do r=2*r+(a&1),a>>>=1,++n,t+=e.table[n],r-=e.table[n];while(r>=0);return s.tag=a,s.bitcount-=n,e.trans[t+r]}function Sc(s,e,t){var r,n,a,o,i,l;for(r=It(s,5,257),n=It(s,5,1),a=It(s,4,4),o=0;o<19;++o)Ft[o]=0;for(o=0;o<a;++o){var c=It(s,3,0);Ft[yc[o]]=c}for(ws($o,Ft,0,19),i=0;i<r+n;){var f=Cs(s,$o);switch(f){case 16:var h=Ft[i-1];for(l=It(s,2,3);l;--l)Ft[i++]=h;break;case 17:for(l=It(s,3,3);l;--l)Ft[i++]=0;break;case 18:for(l=It(s,7,11);l;--l)Ft[i++]=0;break;default:Ft[i++]=f;break}}ws(e,Ft,0,r),ws(t,Ft,r,n)}function ti(s,e,t){for(;;){var r=Cs(s,e);if(r===256)return Ss;if(r<256)s.dest[s.destLen++]=r;else{var n,a,o,i;for(r-=257,n=It(s,Ps[r],As[r]),a=Cs(s,t),o=s.destLen-It(s,ai[a],oi[a]),i=o;i<o+n;++i)s.dest[s.destLen++]=s.dest[i]}}}function Pc(s){for(var e,t,r;s.bitcount>8;)s.sourceIndex--,s.bitcount-=8;if(e=s.source[s.sourceIndex+1],e=256*e+s.source[s.sourceIndex],t=s.source[s.sourceIndex+3],t=256*t+s.source[s.sourceIndex+2],e!==(~t&65535))return ri;for(s.sourceIndex+=4,r=e;r;--r)s.dest[s.destLen++]=s.source[s.sourceIndex++];return s.bitcount=0,Ss}function Ac(s,e){var t=new vc(s,e),r,n,a;do{switch(r=Cc(t),n=It(t,2,0),n){case 0:a=Pc(t);break;case 1:a=ti(t,ni,si);break;case 2:Sc(t,t.ltree,t.dtree),a=ti(t,t.ltree,t.dtree);break;default:a=ri}if(a!==Ss)throw new Error("Data error")}while(!r);return t.destLen<t.dest.length?typeof t.dest.slice=="function"?t.dest.slice(0,t.destLen):t.dest.subarray(0,t.destLen):t.dest}wc(ni,si);ii(Ps,As,4,3);ii(ai,oi,2,1);Ps[28]=0;As[28]=258;li.exports=Ac});var fi=qe((Pb,ci)=>{L();var Ec=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,ui=(s,e,t)=>{let r=s[e];s[e]=s[t],s[t]=r},Tc=s=>{let e=s.length;for(let t=0;t<e;t+=4)ui(s,t,t+3),ui(s,t+1,t+2)},kc=s=>{Ec&&Tc(s)};ci.exports={swap32LE:kc}});var Is=qe((Eb,pi)=>{L();var hi=Es(),{swap32LE:Fc}=fi(),Fs=11,cr=5,Ic=Fs-cr,Oc=65536>>Fs,Lc=1<<Ic,Mc=Lc-1,Z0=2,Dc=1<<cr,Ts=Dc-1,di=65536>>cr,Bc=1024>>cr,Uc=di+Bc,Rc=Uc,Gc=32,Nc=Rc+Gc,zc=1<<Z0,ks=class{constructor(e){let t=typeof e.readUInt32BE=="function"&&typeof e.slice=="function";if(t||e instanceof Uint8Array){let r;if(t)this.highStart=e.readUInt32LE(0),this.errorValue=e.readUInt32LE(4),r=e.readUInt32LE(8),e=e.slice(12);else{let n=new DataView(e.buffer);this.highStart=n.getUint32(0,!0),this.errorValue=n.getUint32(4,!0),r=n.getUint32(8,!0),e=e.subarray(12)}e=hi(e,new Uint8Array(r)),e=hi(e,new Uint8Array(r)),Fc(e),this.data=new Uint32Array(e.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=e)}get(e){let t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>cr]<<Z0)+(e&Ts),this.data[t]):e<=65535?(t=(this.data[di+(e-55296>>cr)]<<Z0)+(e&Ts),this.data[t]):e<this.highStart?(t=this.data[Nc-Oc+(e>>Fs)],t=this.data[t+(e>>cr&Mc)],t=(t<<Z0)+(e&Ts),this.data[t]):this.data[this.data.length-zc]}};pi.exports=ks});var yi=qe((Lb,vi)=>{"use strict";L();var Us=1,Rs=0,Gs=class{constructor(e){this.stateTable=e.stateTable,this.accepting=e.accepting,this.tags=e.tags}match(e){var t=this;return{*[Symbol.iterator](){for(var r=Us,n=null,a=null,o=null,i=0;i<e.length;i++){var l=e[i];o=r,r=t.stateTable[r][l],r===Rs&&(n!=null&&a!=null&&a>=n&&(yield[n,a,t.tags[o]]),r=t.stateTable[Us][l],n=null),r!==Rs&&n==null&&(n=i),t.accepting[r]&&(a=i),r===Rs&&(r=Us)}n!=null&&a!=null&&a>=n&&(yield[n,a,t.tags[r]])}}}apply(e,t){for(var[r,n,a]of this.match(e))for(var o of a)typeof t[o]=="function"&&t[o](r,n,e.slice(r,n+1))}};vi.exports=Gs});var wi=qe((Db,$0)=>{L();var Zc=(function(){"use strict";function s(f,h){return h!=null&&f instanceof h}var e;try{e=Map}catch{e=function(){}}var t;try{t=Set}catch{t=function(){}}var r;try{r=Promise}catch{r=function(){}}function n(f,h,g,m,p){typeof h=="object"&&(g=h.depth,m=h.prototype,p=h.includeNonEnumerable,h=h.circular);var b=[],y=[],x=typeof Buffer<"u";typeof h>"u"&&(h=!0),typeof g>"u"&&(g=1/0);function v(d,S){if(d===null)return null;if(S===0)return d;var E,k;if(typeof d!="object")return d;if(s(d,e))E=new e;else if(s(d,t))E=new t;else if(s(d,r))E=new r(function(O,X){d.then(function(T){O(v(T,S-1))},function(T){X(v(T,S-1))})});else if(n.__isArray(d))E=[];else if(n.__isRegExp(d))E=new RegExp(d.source,c(d)),d.lastIndex&&(E.lastIndex=d.lastIndex);else if(n.__isDate(d))E=new Date(d.getTime());else{if(x&&Buffer.isBuffer(d))return Buffer.allocUnsafe?E=Buffer.allocUnsafe(d.length):E=new Buffer(d.length),d.copy(E),E;s(d,Error)?E=Object.create(d):typeof m>"u"?(k=Object.getPrototypeOf(d),E=Object.create(k)):(E=Object.create(m),k=m)}if(h){var M=b.indexOf(d);if(M!=-1)return y[M];b.push(d),y.push(E)}s(d,e)&&d.forEach(function(O,X){var T=v(X,S-1),N=v(O,S-1);E.set(T,N)}),s(d,t)&&d.forEach(function(O){var X=v(O,S-1);E.add(X)});for(var I in d){var B;k&&(B=Object.getOwnPropertyDescriptor(k,I)),!(B&&B.set==null)&&(E[I]=v(d[I],S-1))}if(Object.getOwnPropertySymbols)for(var R=Object.getOwnPropertySymbols(d),I=0;I<R.length;I++){var Q=R[I],Y=Object.getOwnPropertyDescriptor(d,Q);Y&&!Y.enumerable&&!p||(E[Q]=v(d[Q],S-1),Y.enumerable||Object.defineProperty(E,Q,{enumerable:!1}))}if(p)for(var q=Object.getOwnPropertyNames(d),I=0;I<q.length;I++){var U=q[I],Y=Object.getOwnPropertyDescriptor(d,U);Y&&Y.enumerable||(E[U]=v(d[U],S-1),Object.defineProperty(E,U,{enumerable:!1}))}return E}return v(f,g)}n.clonePrototype=function(h){if(h===null)return null;var g=function(){};return g.prototype=h,new g};function a(f){return Object.prototype.toString.call(f)}n.__objToStr=a;function o(f){return typeof f=="object"&&a(f)==="[object Date]"}n.__isDate=o;function i(f){return typeof f=="object"&&a(f)==="[object Array]"}n.__isArray=i;function l(f){return typeof f=="object"&&a(f)==="[object RegExp]"}n.__isRegExp=l;function c(f){var h="";return f.global&&(h+="g"),f.ignoreCase&&(h+="i"),f.multiline&&(h+="m"),h}return n.__getRegExpFlags=c,n})();typeof $0=="object"&&$0.exports&&($0.exports=Zc)});var zs=qe(Ns=>{L();function Ci(s){this.buffer=s,this.pos=0}Ci.prototype.read=function(s,e,t){this.pos+t>this.buffer.length&&(t=this.buffer.length-this.pos);for(var r=0;r<t;r++)s[e+r]=this.buffer[this.pos+r];return this.pos+=t,t};Ns.BrotliInput=Ci;function Si(s){this.buffer=s,this.pos=0}Si.prototype.write=function(s,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(s.subarray(0,e),this.pos),this.pos+=e,e};Ns.BrotliOutput=Si});var Ei=qe((Gb,Ai)=>{L();var hr=4096,_c=2*hr+32,Pi=2*hr-1,Jc=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function dr(s){this.buf_=new Uint8Array(_c),this.input_=s,this.reset()}dr.READ_SIZE=hr;dr.IBUF_MASK=Pi;dr.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var s=0;s<4;s++)this.val_|=this.buf_[this.pos_]<<8*s,++this.pos_;return this.bit_end_pos_>0};dr.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var s=this.buf_ptr_,e=this.input_.read(this.buf_,s,hr);if(e<0)throw new Error("Unexpected end of input");if(e<hr){this.eos_=1;for(var t=0;t<32;t++)this.buf_[s+e+t]=0}if(s===0){for(var t=0;t<32;t++)this.buf_[(hr<<1)+t]=this.buf_[t];this.buf_ptr_=hr}else this.buf_ptr_=0;this.bit_end_pos_+=e<<3}};dr.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[this.pos_&Pi]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0};dr.prototype.readBits=function(s){32-this.bit_pos_<s&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&Jc[s];return this.bit_pos_+=s,e};Ai.exports=dr});var ki=qe((zb,Ti)=>{L();Ti.exports="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"});var Ii=qe(Fi=>{L();var Qc=ys();Fi.init=function(){var s=Vs().BrotliDecompressBuffer,e=Qc.toByteArray(ki());return s(e)}});var js=qe(pr=>{L();var $c=Ii();pr.init=function(){pr.dictionary=$c.init()};pr.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]);pr.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]);pr.minDictionaryWordLength=4;pr.maxDictionaryWordLength=24});var Xs=qe(Ws=>{L();function kr(s,e){this.bits=s,this.value=e}Ws.HuffmanCode=kr;var Tr=15;function Oi(s,e){for(var t=1<<e-1;s&t;)t>>=1;return(s&t-1)+t}function Li(s,e,t,r,n){do r-=t,s[e+r]=new kr(n.bits,n.value);while(r>0)}function ef(s,e,t){for(var r=1<<e-t;e<Tr&&(r-=s[e],!(r<=0));)++e,r<<=1;return e-t}Ws.BrotliBuildHuffmanTable=function(s,e,t,r,n){var a=e,o,i,l,c,f,h,g,m,p,b,y,x=new Int32Array(Tr+1),v=new Int32Array(Tr+1);for(y=new Int32Array(n),l=0;l<n;l++)x[r[l]]++;for(v[1]=0,i=1;i<Tr;i++)v[i+1]=v[i]+x[i];for(l=0;l<n;l++)r[l]!==0&&(y[v[r[l]]++]=l);if(m=t,p=1<<m,b=p,v[Tr]===1){for(c=0;c<b;++c)s[e+c]=new kr(0,y[0]&65535);return b}for(c=0,l=0,i=1,f=2;i<=t;++i,f<<=1)for(;x[i]>0;--x[i])o=new kr(i&255,y[l++]&65535),Li(s,e+c,f,p,o),c=Oi(c,i);for(g=b-1,h=-1,i=t+1,f=2;i<=Tr;++i,f<<=1)for(;x[i]>0;--x[i])(c&g)!==h&&(e+=p,m=ef(x,i,t),p=1<<m,b+=p,h=c&g,s[a+h]=new kr(m+t&255,e-a-h&65535)),o=new kr(i-t&255,y[l++]&65535),Li(s,e+(c>>t),f,p,o),c=Oi(c,i);return b}});var Mi=qe(Hs=>{L();Hs.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);Hs.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])});var Di=qe(Fr=>{L();function H(s,e){this.offset=s,this.nbits=e}Fr.kBlockLengthPrefixCode=[new H(1,2),new H(5,2),new H(9,2),new H(13,2),new H(17,3),new H(25,3),new H(33,3),new H(41,3),new H(49,4),new H(65,4),new H(81,4),new H(97,4),new H(113,5),new H(145,5),new H(177,5),new H(209,5),new H(241,6),new H(305,6),new H(369,7),new H(497,8),new H(753,9),new H(1265,10),new H(2289,11),new H(4337,12),new H(8433,13),new H(16625,24)];Fr.kInsertLengthPrefixCode=[new H(0,0),new H(1,0),new H(2,0),new H(3,0),new H(4,0),new H(5,0),new H(6,1),new H(8,1),new H(10,2),new H(14,2),new H(18,3),new H(26,3),new H(34,4),new H(50,4),new H(66,5),new H(98,5),new H(130,6),new H(194,7),new H(322,8),new H(578,9),new H(1090,10),new H(2114,12),new H(6210,14),new H(22594,24)];Fr.kCopyLengthPrefixCode=[new H(2,0),new H(3,0),new H(4,0),new H(5,0),new H(6,0),new H(7,0),new H(8,0),new H(9,0),new H(10,1),new H(12,1),new H(14,2),new H(18,2),new H(22,3),new H(30,3),new H(38,4),new H(54,4),new H(70,5),new H(102,5),new H(134,6),new H(198,7),new H(326,8),new H(582,9),new H(1094,10),new H(2118,24)];Fr.kInsertRangeLut=[0,0,8,8,0,16,8,16,16];Fr.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]});var Gi=qe(en=>{L();var tf=js(),_=0,Bi=1,rf=2,nf=3,sf=4,af=5,of=6,lf=7,uf=8,Ri=9,ze=10,je=11,qs=12,cf=13,ff=14,hf=15,df=16,pf=17,gf=18,bf=20;function F(s,e,t){this.prefix=new Uint8Array(s.length),this.transform=e,this.suffix=new Uint8Array(t.length);for(var r=0;r<s.length;r++)this.prefix[r]=s.charCodeAt(r);for(var r=0;r<t.length;r++)this.suffix[r]=t.charCodeAt(r)}var o0=[new F("",_,""),new F("",_," "),new F(" ",_," "),new F("",qs,""),new F("",ze," "),new F("",_," the "),new F(" ",_,""),new F("s ",_," "),new F("",_," of "),new F("",ze,""),new F("",_," and "),new F("",cf,""),new F("",Bi,""),new F(", ",_," "),new F("",_,", "),new F(" ",ze," "),new F("",_," in "),new F("",_," to "),new F("e ",_," "),new F("",_,'"'),new F("",_,"."),new F("",_,'">'),new F("",_,`
|
|
2
2
|
`),new F("",nf,""),new F("",_,"]"),new F("",_," for "),new F("",ff,""),new F("",rf,""),new F("",_," a "),new F("",_," that "),new F(" ",ze,""),new F("",_,". "),new F(".",_,""),new F(" ",_,", "),new F("",hf,""),new F("",_," with "),new F("",_,"'"),new F("",_," from "),new F("",_," by "),new F("",df,""),new F("",pf,""),new F(" the ",_,""),new F("",sf,""),new F("",_,". The "),new F("",je,""),new F("",_," on "),new F("",_," as "),new F("",_," is "),new F("",lf,""),new F("",Bi,"ing "),new F("",_,`
|
|
3
|
-
`),new F("",_,":"),new F(" ",_,". "),new F("",_,"ed "),new F("",bf,""),new F("",gf,""),new F("",of,""),new F("",_,"("),new F("",ze,", "),new F("",uf,""),new F("",_," at "),new F("",_,"ly "),new F(" the ",_," of "),new F("",af,""),new F("",Ri,""),new F(" ",ze,", "),new F("",ze,'"'),new F(".",_,"("),new F("",je," "),new F("",ze,'">'),new F("",_,'="'),new F(" ",_,"."),new F(".com/",_,""),new F(" the ",_," of the "),new F("",ze,"'"),new F("",_,". This "),new F("",_,","),new F(".",_," "),new F("",ze,"("),new F("",ze,"."),new F("",_," not "),new F(" ",_,'="'),new F("",_,"er "),new F(" ",je," "),new F("",_,"al "),new F(" ",je,""),new F("",_,"='"),new F("",je,'"'),new F("",ze,". "),new F(" ",_,"("),new F("",_,"ful "),new F(" ",ze,". "),new F("",_,"ive "),new F("",_,"less "),new F("",je,"'"),new F("",_,"est "),new F(" ",ze,"."),new F("",je,'">'),new F(" ",_,"='"),new F("",ze,","),new F("",_,"ize "),new F("",je,"."),new F("\xC2\xA0",_,""),new F(" ",_,","),new F("",ze,'="'),new F("",je,'="'),new F("",_,"ous "),new F("",je,", "),new F("",ze,"='"),new F(" ",ze,","),new F(" ",je,'="'),new F(" ",je,", "),new F("",je,","),new F("",je,"("),new F("",je,". "),new F(" ",je,"."),new F("",je,"='"),new F(" ",je,". "),new F(" ",ze,'="'),new F(" ",je,"='"),new F(" ",ze,"='")];en.kTransforms=o0;en.kNumTransforms=o0.length;function Ui(s,e){return s[e]<192?(s[e]>=97&&s[e]<=122&&(s[e]^=32),1):s[e]<224?(s[e+1]^=32,2):(s[e+2]^=5,3)}en.transformDictionaryWord=function(s,e,t,r,n){var a=o0[n].prefix,o=o0[n].suffix,i=o0[n].transform,l=i<qs?0:i-(qs-1),c=0,f=e,h;l>r&&(l=r);for(var g=0;g<a.length;)s[e++]=a[g++];for(t+=l,r-=l,i<=Ri&&(r-=i),c=0;c<r;c++)s[e++]=tf.dictionary[t+c];if(h=e-r,i===ze)Ui(s,h);else if(i===je)for(;r>0;){var m=Ui(s,h);h+=m,r-=m}for(var p=0;p<o.length;)s[e++]=o[p++];return e-f}});var Vs=qe(nn=>{L();var Xi=zs().BrotliInput,mf=zs().BrotliOutput,Lr=Ei(),Or=js(),We=Xs().HuffmanCode,Hi=Xs().BrotliBuildHuffmanTable,Ir=Mi(),Zt=Di(),Ni=Gi(),xf=8,zi=16,vf=256,yf=704,wf=26,Vi=6,ji=2,Ks=8,Cf=255,_t=1080,Zs=18,Sf=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),_s=16,Pf=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),Af=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),Ef=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function qi(s){var e;return s.readBits(1)===0?16:(e=s.readBits(3),e>0?17+e:(e=s.readBits(3),e>0?8+e:17))}function Yi(s){if(s.readBits(1)){var e=s.readBits(3);return e===0?1:s.readBits(e)+(1<<e)}return 0}function Tf(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function Ki(s){var e=new Tf,t,r,n;if(e.input_end=s.readBits(1),e.input_end&&s.readBits(1))return e;if(t=s.readBits(2)+4,t===7){if(e.is_metadata=!0,s.readBits(1)!==0)throw new Error("Invalid reserved bit");if(r=s.readBits(2),r===0)return e;for(n=0;n<r;n++){var a=s.readBits(8);if(n+1===r&&r>1&&a===0)throw new Error("Invalid size byte");e.meta_block_length|=a<<n*8}}else for(n=0;n<t;++n){var o=s.readBits(4);if(n+1===t&&t>4&&o===0)throw new Error("Invalid size nibble");e.meta_block_length|=o<<n*4}return++e.meta_block_length,!e.input_end&&!e.is_metadata&&(e.is_uncompressed=s.readBits(1)),e}function Mr(s,e,t){var r=e,n;return t.fillBitWindow(),e+=t.val_>>>t.bit_pos_&Cf,n=s[e].bits-Ks,n>0&&(t.bit_pos_+=Ks,e+=s[e].value,e+=t.val_>>>t.bit_pos_&(1<<n)-1),t.bit_pos_+=s[e].bits,s[e].value}function kf(s,e,t,r){for(var n=0,a=xf,o=0,i=0,l=32768,c=[],f=0;f<32;f++)c.push(new We(0,0));for(Hi(c,0,5,s,Zs);n<e&&l>0;){var h=0,g;if(r.readMoreInput(),r.fillBitWindow(),h+=r.val_>>>r.bit_pos_&31,r.bit_pos_+=c[h].bits,g=c[h].value&255,g<zi)o=0,t[n++]=g,g!==0&&(a=g,l-=32768>>g);else{var m=g-14,p,b,y=0;if(g===zi&&(y=a),i!==y&&(o=0,i=y),p=o,o>0&&(o-=2,o<<=m),o+=r.readBits(m)+3,b=o-p,n+b>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var x=0;x<b;x++)t[n+x]=i;n+=b,i!==0&&(l-=b<<15-i)}}if(l!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+l);for(;n<e;n++)t[n]=0}function rn(s,e,t,r){var n=0,a,o=new Uint8Array(s);if(r.readMoreInput(),a=r.readBits(2),a===1){for(var i,l=s-1,c=0,f=new Int32Array(4),h=r.readBits(2)+1;l;)l>>=1,++c;for(i=0;i<h;++i)f[i]=r.readBits(c)%s,o[f[i]]=2;switch(o[f[0]]=1,h){case 1:break;case 3:if(f[0]===f[1]||f[0]===f[2]||f[1]===f[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(f[0]===f[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[f[1]]=1;break;case 4:if(f[0]===f[1]||f[0]===f[2]||f[0]===f[3]||f[1]===f[2]||f[1]===f[3]||f[2]===f[3])throw new Error("[ReadHuffmanCode] invalid symbols");r.readBits(1)?(o[f[2]]=3,o[f[3]]=3):o[f[0]]=2;break}}else{var i,g=new Uint8Array(Zs),m=32,p=0,b=[new We(2,0),new We(2,4),new We(2,3),new We(3,2),new We(2,0),new We(2,4),new We(2,3),new We(4,1),new We(2,0),new We(2,4),new We(2,3),new We(3,2),new We(2,0),new We(2,4),new We(2,3),new We(4,5)];for(i=a;i<Zs&&m>0;++i){var y=Sf[i],x=0,v;r.fillBitWindow(),x+=r.val_>>>r.bit_pos_&15,r.bit_pos_+=b[x].bits,v=b[x].value,g[y]=v,v!==0&&(m-=32>>v,++p)}if(!(p===1||m===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");kf(g,s,o,r)}if(n=Hi(e,t,Ks,o,s),n===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return n}function tn(s,e,t){var r,n;return r=Mr(s,e,t),n=Zt.kBlockLengthPrefixCode[r].nbits,Zt.kBlockLengthPrefixCode[r].offset+t.readBits(n)}function Ff(s,e,t){var r;return s<_s?(t+=Pf[s],t&=3,r=e[t]+Af[s]):r=s-_s+1,r}function If(s,e){for(var t=s[e],r=e;r;--r)s[r]=s[r-1];s[0]=t}function Of(s,e){var t=new Uint8Array(256),r;for(r=0;r<256;++r)t[r]=r;for(r=0;r<e;++r){var n=s[r];s[r]=t[n],n&&If(t,n)}}function gr(s,e){this.alphabet_size=s,this.num_htrees=e,this.codes=new Array(e+e*Ef[s+31>>>5]),this.htrees=new Uint32Array(e)}gr.prototype.decode=function(s){var e,t,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,t=rn(this.alphabet_size,this.codes,r,s),r+=t};function Wi(s,e){var t={num_htrees:null,context_map:null},r,n=0,a,o;e.readMoreInput();var i=t.num_htrees=Yi(e)+1,l=t.context_map=new Uint8Array(s);if(i<=1)return t;for(r=e.readBits(1),r&&(n=e.readBits(4)+1),a=[],o=0;o<_t;o++)a[o]=new We(0,0);for(rn(i+n,a,0,e),o=0;o<s;){var c;if(e.readMoreInput(),c=Mr(a,0,e),c===0)l[o]=0,++o;else if(c<=n)for(var f=1+(1<<c)+e.readBits(c);--f;){if(o>=s)throw new Error("[DecodeContextMap] i >= context_map_size");l[o]=0,++o}else l[o]=c-n,++o}return e.readBits(1)&&Of(l,s),t}function Ys(s,e,t,r,n,a,o){var i=t*2,l=t,c=Mr(e,t*_t,o),f;c===0?f=n[i+(a[l]&1)]:c===1?f=n[i+(a[l]-1&1)]+1:f=c-2,f>=s&&(f-=s),r[t]=f,n[i+(a[l]&1)]=f,++a[l]}function Lf(s,e,t,r,n,a){var o=n+1,i=t&n,l=a.pos_&Lr.IBUF_MASK,c;if(e<8||a.bit_pos_+(e<<3)<a.bit_end_pos_){for(;e-- >0;)a.readMoreInput(),r[i++]=a.readBits(8),i===o&&(s.write(r,o),i=0);return}if(a.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;a.bit_pos_<32;)r[i]=a.val_>>>a.bit_pos_,a.bit_pos_+=8,++i,--e;if(c=a.bit_end_pos_-a.bit_pos_>>3,l+c>Lr.IBUF_MASK){for(var f=Lr.IBUF_MASK+1-l,h=0;h<f;h++)r[i+h]=a.buf_[l+h];c-=f,i+=f,e-=f,l=0}for(var h=0;h<c;h++)r[i+h]=a.buf_[l+h];if(i+=c,e-=c,i>=o){s.write(r,o),i-=o;for(var h=0;h<i;h++)r[h]=r[o+h]}for(;i+e>=o;){if(c=o-i,a.input_.read(r,i,c)<c)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");s.write(r,o),e-=c,i=0}if(a.input_.read(r,i,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");a.reset()}function Mf(s){var e=s.bit_pos_+7&-8,t=s.readBits(e-s.bit_pos_);return t==0}function Zi(s){var e=new Xi(s),t=new Lr(e);qi(t);var r=Ki(t);return r.meta_block_length}nn.BrotliDecompressedSize=Zi;function Df(s,e){var t=new Xi(s);e==null&&(e=Zi(s));var r=new Uint8Array(e),n=new mf(r);return _i(t,n),n.pos<n.buffer.length&&(n.buffer=n.buffer.subarray(0,n.pos)),n.buffer}nn.BrotliDecompressBuffer=Df;function _i(s,e){var t,r=0,n=0,a=0,o,i=0,l,c,f,h,g=[16,15,11,4],m=0,p=0,b=0,y=[new gr(0,0),new gr(0,0),new gr(0,0)],x,v,d,S=128+Lr.READ_SIZE;d=new Lr(s),a=qi(d),o=(1<<a)-16,l=1<<a,c=l-1,f=new Uint8Array(l+S+Or.maxDictionaryWordLength),h=l,x=[],v=[];for(var E=0;E<3*_t;E++)x[E]=new We(0,0),v[E]=new We(0,0);for(;!n;){var k=0,M,I=[1<<28,1<<28,1<<28],B=[0],R=[1,1,1],Q=[0,1,0,1,0,1],Y=[0],q,U,O,X,T=null,N=null,G,V=null,ne,le=0,Ee=null,ie=0,de=0,pe=null,Se=0,Ce=0,ke=0,te,ge;for(t=0;t<3;++t)y[t].codes=null,y[t].htrees=null;d.readMoreInput();var Qe=Ki(d);if(k=Qe.meta_block_length,r+k>e.buffer.length){var Re=new Uint8Array(r+k);Re.set(e.buffer),e.buffer=Re}if(n=Qe.input_end,M=Qe.is_uncompressed,Qe.is_metadata){for(Mf(d);k>0;--k)d.readMoreInput(),d.readBits(8);continue}if(k!==0){if(M){d.bit_pos_=d.bit_pos_+7&-8,Lf(e,k,r,f,c,d),r+=k;continue}for(t=0;t<3;++t)R[t]=Yi(d)+1,R[t]>=2&&(rn(R[t]+2,x,t*_t,d),rn(wf,v,t*_t,d),I[t]=tn(v,t*_t,d),Y[t]=1);for(d.readMoreInput(),q=d.readBits(2),U=_s+(d.readBits(4)<<q),O=(1<<q)-1,X=U+(48<<q),N=new Uint8Array(R[0]),t=0;t<R[0];++t)d.readMoreInput(),N[t]=d.readBits(2)<<1;var ct=Wi(R[0]<<Vi,d);G=ct.num_htrees,T=ct.context_map;var $e=Wi(R[2]<<ji,d);for(ne=$e.num_htrees,V=$e.context_map,y[0]=new gr(vf,G),y[1]=new gr(yf,R[1]),y[2]=new gr(X,ne),t=0;t<3;++t)y[t].decode(d);for(Ee=0,pe=0,te=N[B[0]],Ce=Ir.lookupOffsets[te],ke=Ir.lookupOffsets[te+1],ge=y[1].htrees[0];k>0;){var et,He,K,xe,be,z,se,J,ae,re,Le;for(d.readMoreInput(),I[1]===0&&(Ys(R[1],x,1,B,Q,Y,d),I[1]=tn(v,_t,d),ge=y[1].htrees[B[1]]),--I[1],et=Mr(y[1].codes,ge,d),He=et>>6,He>=2?(He-=2,se=-1):se=0,K=Zt.kInsertRangeLut[He]+(et>>3&7),xe=Zt.kCopyRangeLut[He]+(et&7),be=Zt.kInsertLengthPrefixCode[K].offset+d.readBits(Zt.kInsertLengthPrefixCode[K].nbits),z=Zt.kCopyLengthPrefixCode[xe].offset+d.readBits(Zt.kCopyLengthPrefixCode[xe].nbits),p=f[r-1&c],b=f[r-2&c],re=0;re<be;++re)d.readMoreInput(),I[0]===0&&(Ys(R[0],x,0,B,Q,Y,d),I[0]=tn(v,0,d),le=B[0]<<Vi,Ee=le,te=N[B[0]],Ce=Ir.lookupOffsets[te],ke=Ir.lookupOffsets[te+1]),ae=Ir.lookup[Ce+p]|Ir.lookup[ke+b],ie=T[Ee+ae],--I[0],b=p,p=Mr(y[0].codes,y[0].htrees[ie],d),f[r&c]=p,(r&c)===c&&e.write(f,l),++r;if(k-=be,k<=0)break;if(se<0){var ae;if(d.readMoreInput(),I[2]===0&&(Ys(R[2],x,2,B,Q,Y,d),I[2]=tn(v,2*_t,d),de=B[2]<<ji,pe=de),--I[2],ae=(z>4?3:z-2)&255,Se=V[pe+ae],se=Mr(y[2].codes,y[2].htrees[Se],d),se>=U){var Ne,ye,Oe;se-=U,ye=se&O,se>>=q,Ne=(se>>1)+1,Oe=(2+(se&1)<<Ne)-4,se=U+(Oe+d.readBits(Ne)<<q)+ye}}if(J=Ff(se,g,m),J<0)throw new Error("[BrotliDecompress] invalid distance");if(r<o&&i!==o?i=r:i=o,Le=r&c,J>i)if(z>=Or.minDictionaryWordLength&&z<=Or.maxDictionaryWordLength){var Oe=Or.offsetsByLength[z],ft=J-i-1,Ct=Or.sizeBitsByLength[z],St=(1<<Ct)-1,Pt=ft&St,Pe=ft>>Ct;if(Oe+=Pt*z,Pe<Ni.kNumTransforms){var Ie=Ni.transformDictionaryWord(f,Le,Oe,z,Pe);if(Le+=Ie,r+=Ie,k-=Ie,Le>=h){e.write(f,l);for(var st=0;st<Le-h;st++)f[st]=f[h+st]}}else throw new Error("Invalid backward reference. pos: "+r+" distance: "+J+" len: "+z+" bytes left: "+k)}else throw new Error("Invalid backward reference. pos: "+r+" distance: "+J+" len: "+z+" bytes left: "+k);else{if(se>0&&(g[m&3]=J,++m),z>k)throw new Error("Invalid backward reference. pos: "+r+" distance: "+J+" len: "+z+" bytes left: "+k);for(re=0;re<z;++re)f[r&c]=f[r-J&c],(r&c)===c&&e.write(f,l),++r,--k}p=f[r-1&c],b=f[r-2&c]}r&=1073741823}}e.write(f,r&c)}nn.BrotliDecompress=_i;Or.init()});var Qi=qe((rm,Ji)=>{L();Ji.exports=Vs().BrotliDecompressBuffer});L();L();L();L();L();var tc={utf16le:"utf-16le",ucs2:"utf-16le",utf16be:"utf-16be"},Me=class{constructor(e){this.buffer=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.pos=0,this.length=this.buffer.length}readString(e,t="ascii"){t=tc[t]||t;let r=this.readBuffer(e);try{return new TextDecoder(t).decode(r)}catch{return r}}readBuffer(e){return this.buffer.slice(this.pos,this.pos+=e)}readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()}readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)}readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()}readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)}};Me.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8};for(let s of Object.getOwnPropertyNames(DataView.prototype))if(s.slice(0,3)==="get"){let e=s.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let t=Me.TYPES[e];Me.prototype["read"+e+(t===1?"":"BE")]=function(){let r=this.view[s](this.pos,!1);return this.pos+=t,r},t!==1&&(Me.prototype["read"+e+"LE"]=function(){let r=this.view[s](this.pos,!0);return this.pos+=t,r})}var rc=new TextEncoder,Ho=new Uint8Array(new Uint16Array([4660]).buffer)[0]==18,Bt=class{constructor(e){this.buffer=e,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.pos=0}writeBuffer(e){this.buffer.set(e,this.pos),this.pos+=e.length}writeString(e,t="ascii"){let r;switch(t){case"utf16le":case"utf16-le":case"ucs2":r=qo(e,Ho);break;case"utf16be":case"utf16-be":r=qo(e,!Ho);break;case"utf8":r=rc.encode(e);break;case"ascii":r=nc(e);break;default:throw new Error(`Unsupported encoding: ${t}`)}this.writeBuffer(r)}writeUInt24BE(e){this.buffer[this.pos++]=e>>>16&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e&255}writeUInt24LE(e){this.buffer[this.pos++]=e&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e>>>16&255}writeInt24BE(e){e>=0?this.writeUInt24BE(e):this.writeUInt24BE(e+16777215+1)}writeInt24LE(e){e>=0?this.writeUInt24LE(e):this.writeUInt24LE(e+16777215+1)}fill(e,t){if(t<this.buffer.length)this.buffer.fill(e,this.pos,this.pos+t),this.pos+=t;else{let r=new Uint8Array(t);r.fill(e),this.writeBuffer(r)}}};function qo(s,e){let t=new Uint16Array(s.length);for(let r=0;r<s.length;r++){let n=s.charCodeAt(r);e&&(n=n>>8|(n&255)<<8),t[r]=n}return new Uint8Array(t.buffer)}function nc(s){let e=new Uint8Array(s.length);for(let t=0;t<s.length;t++)e[t]=s.charCodeAt(t);return e}for(let s of Object.getOwnPropertyNames(DataView.prototype))if(s.slice(0,3)==="set"){let e=s.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let t=Me.TYPES[e];Bt.prototype["write"+e+(t===1?"":"BE")]=function(r){this.view[s](this.pos,r,!1),this.pos+=t},t!==1&&(Bt.prototype["write"+e+"LE"]=function(r){this.view[s](this.pos,r,!0),this.pos+=t})}L();L();var Ge=class{fromBuffer(e){let t=new Me(e);return this.decode(t)}toBuffer(e){let t=this.size(e),r=new Uint8Array(t),n=new Bt(r);return this.encode(n,e),r}};L();var fe=class extends Ge{constructor(e,t="BE"){super(),this.type=e,this.endian=t,this.fn=this.type,this.type[this.type.length-1]!=="8"&&(this.fn+=this.endian)}size(){return Me.TYPES[this.type]}decode(e){return e[`read${this.fn}`]()}encode(e,t){return e[`write${this.fn}`](t)}};var j=new fe("UInt8"),sc=new fe("UInt16","BE"),u=sc,j3=new fe("UInt16","LE"),ac=new fe("UInt24","BE"),Ut=ac,W3=new fe("UInt24","LE"),oc=new fe("UInt32","BE"),P=oc,X3=new fe("UInt32","LE"),Ve=new fe("Int8"),ic=new fe("Int16","BE"),D=ic,H3=new fe("Int16","LE"),q3=new fe("Int24","BE");var Y3=new fe("Int24","LE"),lc=new fe("Int32","BE"),Ht=lc,K3=new fe("Int32","LE"),Z3=new fe("Float","BE");var _3=new fe("Float","LE"),J3=new fe("Double","BE");var Q3=new fe("Double","LE"),Tt=class extends fe{constructor(e,t,r=e>>1){super(`Int${e}`,t),this._point=1<<r}decode(e){return super.decode(e)/this._point}encode(e,t){return super.encode(e,t*this._point|0)}},uc=new Tt(16,"BE"),Yo=uc,$3=new Tt(16,"LE"),cc=new Tt(32,"BE"),Be=cc,eg=new Tt(32,"LE");L();function _e(s,e,t){let r;if(typeof s=="number"?r=s:typeof s=="function"?r=s.call(t,t):t&&typeof s=="string"?r=t[s]:e&&s instanceof fe&&(r=s.decode(e)),isNaN(r))throw new Error("Not a fixed size");return r}var qt=class{constructor(e={}){this.enumerable=!0,this.configurable=!0;for(let t in e){let r=e[t];this[t]=r}}};var w=class extends Ge{constructor(e,t,r="count"){super(),this.type=e,this.length=t,this.lengthType=r}decode(e,t){let r,{pos:n}=e,a=[],o=t;if(this.length!=null&&(r=_e(this.length,e,t)),this.length instanceof fe&&(Object.defineProperties(a,{parent:{value:t},_startOffset:{value:n},_currentOffset:{value:0,writable:!0},_length:{value:r}}),o=a),r==null||this.lengthType==="bytes"){let i=r!=null?e.pos+r:t?._length?t._startOffset+t._length:e.length;for(;e.pos<i;)a.push(this.type.decode(e,o))}else for(let i=0,l=r;i<l;i++)a.push(this.type.decode(e,o));return a}size(e,t,r=!0){if(!e)return this.type.size(null,t)*_e(this.length,null,t);let n=0;this.length instanceof fe&&(n+=this.length.size(),t={parent:t,pointerSize:0});for(let a of e)n+=this.type.size(a,t);return t&&r&&this.length instanceof fe&&(n+=t.pointerSize),n}encode(e,t,r){let n=r;this.length instanceof fe&&(n={pointers:[],startOffset:e.pos,parent:r},n.pointerOffset=e.pos+this.size(t,n,!1),this.length.encode(e,t.length));for(let a of t)this.type.encode(e,a,n);if(this.length instanceof fe){let a=0;for(;a<n.pointers.length;){let o=n.pointers[a++];o.type.encode(e,o.val,o.parent)}}}};L();var we=class extends w{decode(e,t){let{pos:r}=e,n=_e(this.length,e,t);this.length instanceof fe&&(t={parent:t,_startOffset:r,_currentOffset:0,_length:n});let a=new n0(this.type,n,e,t);return e.pos+=n*this.type.size(null,t),a}size(e,t){return e instanceof n0&&(e=e.toArray()),super.size(e,t)}encode(e,t,r){return t instanceof n0&&(t=t.toArray()),super.encode(e,t,r)}},n0=class{constructor(e,t,r,n){this.type=e,this.length=t,this.stream=r,this.ctx=n,this.base=this.stream.pos,this.items=[]}get(e){if(!(e<0||e>=this.length)){if(this.items[e]==null){let{pos:t}=this.stream;this.stream.pos=this.base+this.type.size(null,this.ctx)*e,this.items[e]=this.type.decode(this.stream,this.ctx),this.stream.pos=t}return this.items[e]}}toArray(){let e=[];for(let t=0,r=this.length;t<r;t++)e.push(this.get(t));return e}};L();var tt=class extends Ge{constructor(e,t=[]){super(),this.type=e,this.flags=t}decode(e){let t=this.type.decode(e),r={};for(let n=0;n<this.flags.length;n++){let a=this.flags[n];a!=null&&(r[a]=!!(t&1<<n))}return r}size(){return this.type.size()}encode(e,t){let r=0;for(let n=0;n<this.flags.length;n++){let a=this.flags[n];a!=null&&t[a]&&(r|=1<<n)}return this.type.encode(e,r)}};L();L();var it=class extends Ge{constructor(e){super(),this.length=e}decode(e,t){let r=_e(this.length,e,t);return e.readBuffer(r)}size(e,t){if(!e)return _e(this.length,null,t);let r=e.length;return this.length instanceof fe&&(r+=this.length.size()),r}encode(e,t,r){return this.length instanceof fe&&this.length.encode(e,t.length),e.writeBuffer(t)}};L();L();var Yt=class extends Ge{constructor(e,t=!0){super(),this.type=e,this.condition=t}decode(e,t){let{condition:r}=this;if(typeof r=="function"&&(r=r.call(t,t)),r)return this.type.decode(e,t)}size(e,t){let{condition:r}=this;return typeof r=="function"&&(r=r.call(t,t)),r?this.type.size(e,t):0}encode(e,t,r){let{condition:n}=this;if(typeof n=="function"&&(n=n.call(r,r)),n)return this.type.encode(e,t,r)}};L();var Te=class extends Ge{constructor(e,t=1){super(),this.type=e,this.count=t}decode(e,t){e.pos+=this.size(null,t)}size(e,t){let r=_e(this.count,null,t);return this.type.size()*r}encode(e,t,r){return e.fill(0,this.size(t,r))}};L();var ve=class extends Ge{constructor(e,t="ascii"){super(),this.length=e,this.encoding=t}decode(e,t){let r,n,{encoding:a}=this;typeof a=="function"&&(a=a.call(t,t)||"ascii");let o=xs(a);if(this.length!=null)r=_e(this.length,e,t);else{let l;for({buffer:l,length:r,pos:n}=e;n<r-o+1&&(l[n]!==0||o===2&&l[n+1]!==0);)n+=o;r=n-e.pos}let i=e.readString(r,a);return this.length==null&&e.pos<e.length&&(e.pos+=o),i}size(e,t){if(e==null)return _e(this.length,null,t);let{encoding:r}=this;typeof r=="function"&&(r=r.call(t?.val,t?.val)||"ascii"),r==="utf16be"&&(r="utf16le");let n=Ko(e,r);return this.length instanceof fe&&(n+=this.length.size()),this.length==null&&(n+=xs(r)),n}encode(e,t,r){let{encoding:n}=this;if(typeof n=="function"&&(n=n.call(r?.val,r?.val)||"ascii"),this.length instanceof fe&&this.length.encode(e,Ko(t,n)),e.writeString(t,n),this.length==null)return xs(n)==2?e.writeUInt16LE(0):e.writeUInt8(0)}};function xs(s){switch(s){case"ascii":case"utf8":return 1;case"utf16le":case"utf16-le":case"utf-16be":case"utf-16le":case"utf16be":case"utf16-be":case"ucs2":return 2;default:return 1}}function Ko(s,e){switch(e){case"ascii":return s.length;case"utf8":let t=0;for(let r=0;r<s.length;r++){let n=s.charCodeAt(r);if(n>=55296&&n<=56319&&r<s.length-1){let a=s.charCodeAt(++r);(a&64512)===56320?n=((n&1023)<<10)+(a&1023)+65536:r--}(n&4294967168)===0?t++:(n&4294965248)===0?t+=2:(n&4294901760)===0?t+=3:(n&4292870144)===0&&(t+=4)}return t;case"utf16le":case"utf16-le":case"utf16be":case"utf16-be":case"ucs2":return s.length*2;default:throw new Error("Unknown encoding "+e)}}L();var A=class extends Ge{constructor(e={}){super(),this.fields=e}decode(e,t,r=0){let n=this._setup(e,t,r);return this._parseFields(e,n,this.fields),this.process!=null&&this.process.call(n,e),n}_setup(e,t,r){let n={};return Object.defineProperties(n,{parent:{value:t},_startOffset:{value:e.pos},_currentOffset:{value:0,writable:!0},_length:{value:r}}),n}_parseFields(e,t,r){for(let a in r){var n;let o=r[a];typeof o=="function"?n=o.call(t,t):n=o.decode(e,t),n!==void 0&&(n instanceof qt?Object.defineProperty(t,a,n):t[a]=n),t._currentOffset=e.pos-t._startOffset}}size(e,t,r=!0){e==null&&(e={});let n={parent:t,val:e,pointerSize:0};this.preEncode!=null&&this.preEncode.call(e);let a=0;for(let o in this.fields){let i=this.fields[o];i.size!=null&&(a+=i.size(e[o],n))}return r&&(a+=n.pointerSize),a}encode(e,t,r){let n;this.preEncode!=null&&this.preEncode.call(t,e);let a={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};a.pointerOffset=e.pos+this.size(t,a,!1);for(let i in this.fields)n=this.fields[i],n.encode!=null&&n.encode(e,t[i],a);let o=0;for(;o<a.pointers.length;){let i=a.pointers[o++];i.type.encode(e,i.val,i.parent)}}};L();var fc=(s,e)=>e.reduce((t,r)=>t&&t[r],s),ue=class s extends A{constructor(e,t={}){super(),this.type=e,this.versions=t,typeof e=="string"&&(this.versionPath=e.split("."))}decode(e,t,r=0){let n=this._setup(e,t,r);typeof this.type=="string"?n.version=fc(t,this.versionPath):n.version=this.type.decode(e),this.versions.header&&this._parseFields(e,n,this.versions.header);let a=this.versions[n.version];if(a==null)throw new Error(`Unknown version ${n.version}`);return a instanceof s?a.decode(e,t):(this._parseFields(e,n,a),this.process!=null&&this.process.call(n,e),n)}size(e,t,r=!0){let n,a;if(!e)throw new Error("Not a fixed size");this.preEncode!=null&&this.preEncode.call(e);let o={parent:t,val:e,pointerSize:0},i=0;if(typeof this.type!="string"&&(i+=this.type.size(e.version,o)),this.versions.header)for(n in this.versions.header)a=this.versions.header[n],a.size!=null&&(i+=a.size(e[n],o));let l=this.versions[e.version];if(l==null)throw new Error(`Unknown version ${e.version}`);for(n in l)a=l[n],a.size!=null&&(i+=a.size(e[n],o));return r&&(i+=o.pointerSize),i}encode(e,t,r){let n,a;this.preEncode!=null&&this.preEncode.call(t,e);let o={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};if(o.pointerOffset=e.pos+this.size(t,o,!1),typeof this.type!="string"&&this.type.encode(e,t.version),this.versions.header)for(n in this.versions.header)a=this.versions.header[n],a.encode!=null&&a.encode(e,t[n],o);let i=this.versions[t.version];for(n in i)a=i[n],a.encode!=null&&a.encode(e,t[n],o);let l=0;for(;l<o.pointers.length;){let c=o.pointers[l++];c.type.encode(e,c.val,c.parent)}}};L();var C=class extends Ge{constructor(e,t,r={}){if(super(),this.offsetType=e,this.type=t,this.options=r,this.type==="void"&&(this.type=null),this.options.type==null&&(this.options.type="local"),this.options.allowNull==null&&(this.options.allowNull=!0),this.options.nullValue==null&&(this.options.nullValue=0),this.options.lazy==null&&(this.options.lazy=!1),this.options.relativeTo){if(typeof this.options.relativeTo!="function")throw new Error("relativeTo option must be a function");this.relativeToGetter=r.relativeTo}}decode(e,t){let r=this.offsetType.decode(e,t);if(r===this.options.nullValue&&this.options.allowNull)return null;let n;switch(this.options.type){case"local":n=t._startOffset;break;case"immediate":n=e.pos-this.offsetType.size();break;case"parent":n=t.parent._startOffset;break;default:for(var a=t;a.parent;)a=a.parent;n=a._startOffset||0}this.options.relativeTo&&(n+=this.relativeToGetter(t));let o=r+n;if(this.type!=null){let i=null,l=()=>{if(i!=null)return i;let{pos:c}=e;return e.pos=o,i=this.type.decode(e,t),e.pos=c,i};return this.options.lazy?new qt({get:l}):l()}else return o}size(e,t){let r=t;switch(this.options.type){case"local":case"immediate":break;case"parent":t=t.parent;break;default:for(;t.parent;)t=t.parent}let{type:n}=this;if(n==null){if(!(e instanceof Er))throw new Error("Must be a VoidPointer");({type:n}=e),e=e.value}if(e&&t){let a=n.size(e,r);t.pointerSize+=a}return this.offsetType.size()}encode(e,t,r){let n,a=r;if(t==null){this.offsetType.encode(e,this.options.nullValue);return}switch(this.options.type){case"local":n=r.startOffset;break;case"immediate":n=e.pos+this.offsetType.size(t,a);break;case"parent":r=r.parent,n=r.startOffset;break;default:for(n=0;r.parent;)r=r.parent}this.options.relativeTo&&(n+=this.relativeToGetter(a.val)),this.offsetType.encode(e,r.pointerOffset-n);let{type:o}=this;if(o==null){if(!(t instanceof Er))throw new Error("Must be a VoidPointer");({type:o}=t),t=t.value}return r.pointers.push({type:o,val:t,parent:a}),r.pointerOffset+=o.size(t,a)}},Er=class{constructor(e,t){this.type=e,this.value=t}};L();function rt(s,e,t){return e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}L();L();function Xe(s,e,t,r){var n=arguments.length,a=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(s,e,t,r);else for(var i=s.length-1;i>=0;i--)(o=s[i])&&(a=(n<3?o(a):n>3?o(e,t,a):o(e,t))||a);return n>3&&a&&Object.defineProperty(e,t,a),a}var aa=Xt(_o(),1);L();var gi=Xt(ys(),1),bi=Xt(Is(),1);function fr(s){return s&&s.__esModule?s.default:s}var Kt={};Kt=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');var Os=new bi.default(gi.default.toByteArray("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")),Vc=Math.log2||(s=>Math.log(s)/Math.LN2),_0=s=>Vc(s)+1|0,jc=_0(fr(Kt).categories.length-1),mi=_0(fr(Kt).combiningClasses.length-1),Ls=_0(fr(Kt).scripts.length-1),J0=_0(fr(Kt).eaw.length-1),Q0=10,Wc=mi+Ls+J0+Q0,Xc=Ls+J0+Q0,Hc=J0+Q0;var qc=(1<<jc)-1,Yc=(1<<mi)-1,Kc=(1<<Ls)-1,kb=(1<<J0)-1,Fb=(1<<Q0)-1;function a0(s){let e=Os.get(s);return fr(Kt).categories[e>>Wc&qc]}function xi(s){let e=Os.get(s);return fr(Kt).combiningClasses[e>>Xc&Yc]}function Ms(s){let e=Os.get(s);return fr(Kt).scripts[e>>Hc&Kc]}function Ds(s){return a0(s)==="Nd"}function Bs(s){let e=a0(s);return e==="Mn"||e==="Me"||e==="Mc"}var Dn=Xt(Is(),1),Ka=Xt(yi(),1),fn=Xt(wi(),1),Nl=Xt(Es(),1),zl=Xt(Qi(),1);function y0(s,e,t,r){Object.defineProperty(s,e,{get:t,set:r,enumerable:!0,configurable:!0})}function Bn(s){return s&&s.__esModule?s.default:s}var w0={};y0(w0,"logErrors",()=>Vl);y0(w0,"registerFormat",()=>Xr);y0(w0,"create",()=>Za);y0(w0,"defaultLanguage",()=>pn);y0(w0,"setDefaultLanguage",()=>Bf);var Vl=!1,oa=[];function Xr(s){oa.push(s)}function Za(s,e){for(let t=0;t<oa.length;t++){let r=oa[t];if(r.probe(s)){let n=new r(new Me(s));return e?n.getFont(e):n}}throw new Error("Unknown font format")}var pn="en";function Bf(s="en"){pn=s}function Ze(s,e,t){if(t.get){let r=t.get;t.get=function(){let n=r.call(this);return Object.defineProperty(this,e,{value:n}),n}}else if(typeof t.value=="function"){let r=t.value;return{get(){let n=new Map;function a(...o){let i=o.length>0?o[0]:"value";if(n.has(i))return n.get(i);let l=r.apply(this,o);return n.set(i,l),l}return Object.defineProperty(this,e,{value:a}),a}}}}var Uf=new A({firstCode:u,entryCount:u,idDelta:D,idRangeOffset:u}),Js=new A({startCharCode:P,endCharCode:P,glyphID:P}),Rf=new A({startUnicodeValue:Ut,additionalCount:j}),Gf=new A({unicodeValue:Ut,glyphID:u}),Nf=new w(Rf,P),zf=new w(Gf,P),Vf=new A({varSelector:Ut,defaultUVS:new C(P,Nf,{type:"parent"}),nonDefaultUVS:new C(P,zf,{type:"parent"})}),jf=new ue(u,{0:{length:u,language:u,codeMap:new we(j,256)},2:{length:u,language:u,subHeaderKeys:new w(u,256),subHeaderCount:s=>Math.max.apply(Math,s.subHeaderKeys),subHeaders:new we(Uf,"subHeaderCount"),glyphIndexArray:new we(u,"subHeaderCount")},4:{length:u,language:u,segCountX2:u,segCount:s=>s.segCountX2>>1,searchRange:u,entrySelector:u,rangeShift:u,endCode:new we(u,"segCount"),reservedPad:new Te(u),startCode:new we(u,"segCount"),idDelta:new we(D,"segCount"),idRangeOffset:new we(u,"segCount"),glyphIndexArray:new we(u,s=>(s.length-s._currentOffset)/2)},6:{length:u,language:u,firstCode:u,entryCount:u,glyphIndices:new we(u,"entryCount")},8:{reserved:new Te(u),length:P,language:u,is32:new we(j,8192),nGroups:P,groups:new we(Js,"nGroups")},10:{reserved:new Te(u),length:P,language:P,firstCode:P,entryCount:P,glyphIndices:new we(u,"numChars")},12:{reserved:new Te(u),length:P,language:P,nGroups:P,groups:new we(Js,"nGroups")},13:{reserved:new Te(u),length:P,language:P,nGroups:P,groups:new we(Js,"nGroups")},14:{length:P,numRecords:P,varSelectors:new we(Vf,"numRecords")}}),Wf=new A({platformID:u,encodingID:u,table:new C(P,jf,{type:"parent",lazy:!0})}),Xf=new A({version:u,numSubtables:u,tables:new w(Wf,"numSubtables")}),Hf=new A({version:Ht,revision:Ht,checkSumAdjustment:P,magicNumber:P,flags:u,unitsPerEm:u,created:new w(Ht,2),modified:new w(Ht,2),xMin:D,yMin:D,xMax:D,yMax:D,macStyle:new tt(u,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:u,fontDirectionHint:D,indexToLocFormat:D,glyphDataFormat:D}),qf=new A({version:Ht,ascent:D,descent:D,lineGap:D,advanceWidthMax:u,minLeftSideBearing:D,minRightSideBearing:D,xMaxExtent:D,caretSlopeRise:D,caretSlopeRun:D,caretOffset:D,reserved:new Te(D,4),metricDataFormat:D,numberOfMetrics:u}),Yf=new A({advance:u,bearing:D}),Kf=new A({metrics:new we(Yf,s=>s.parent.hhea.numberOfMetrics),bearings:new we(D,s=>s.parent.maxp.numGlyphs-s.parent.hhea.numberOfMetrics)}),Zf=new A({version:Ht,numGlyphs:u,maxPoints:u,maxContours:u,maxComponentPoints:u,maxComponentContours:u,maxZones:u,maxTwilightPoints:u,maxStorage:u,maxFunctionDefs:u,maxInstructionDefs:u,maxStackElements:u,maxSizeOfInstructions:u,maxComponentElements:u,maxComponentDepth:u});function jl(s,e,t=0){return s===1&&$i[t]?$i[t]:$f[s][e]}var _f=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),Jf={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026 \xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026 \u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026 \u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026 \u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},Qs=new Map;function Qf(s){let e=Qs.get(s);if(e)return e;let t=Jf[s];if(t){let r=new Map;for(let n=0;n<t.length;n++)r.set(t.charCodeAt(n),128+n);return Qs.set(s,r),r}if(_f.has(s)){let r=new TextDecoder(s),n=new Uint8Array(128);for(let i=0;i<128;i++)n[i]=128+i;let a=new Map,o=r.decode(n);for(let i=0;i<128;i++)a.set(o.charCodeAt(i),128+i);return Qs.set(s,a),a}}var $f=[["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"]],$i={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"},e1=[[],{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"}],el=new A({platformID:u,encodingID:u,languageID:u,nameID:u,length:u,string:new C(u,new ve("length",s=>jl(s.platformID,s.encodingID,s.languageID)),{type:"parent",relativeTo:s=>s.parent.stringOffset,allowNull:!1})}),t1=new A({length:u,tag:new C(u,new ve("length","utf16be"),{type:"parent",relativeTo:s=>s.stringOffset})}),gn=new ue(u,{0:{count:u,stringOffset:u,records:new w(el,"count")},1:{count:u,stringOffset:u,records:new w(el,"count"),langTagCount:u,langTags:new w(t1,"langTagCount")}}),r1=gn,ia=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];gn.process=function(s){var e={};for(let t of this.records){let r=e1[t.platformID][t.languageID];r==null&&this.langTags!=null&&t.languageID>=32768&&(r=this.langTags[t.languageID-32768].tag),r==null&&(r=t.platformID+"-"+t.languageID);let n=t.nameID>=256?"fontFeatures":ia[t.nameID]||t.nameID;e[n]==null&&(e[n]={});let a=e[n];t.nameID>=256&&(a=a[t.nameID]||(a[t.nameID]={})),(typeof t.string=="string"||typeof a[r]!="string")&&(a[r]=t.string)}this.records=e};gn.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let s=[];for(let e in this.records){let t=this.records[e];e!=="fontFeatures"&&(s.push({platformID:3,encodingID:1,languageID:1033,nameID:ia.indexOf(e),length:t.en.length*2,string:t.en}),e==="postscriptName"&&s.push({platformID:1,encodingID:0,languageID:0,nameID:ia.indexOf(e),length:t.en.length,string:t.en}))}this.records=s,this.count=s.length,this.stringOffset=gn.size(this,null,!1)};var Wl=new ue(u,{header:{xAvgCharWidth:D,usWeightClass:u,usWidthClass:u,fsType:new tt(u,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:D,ySubscriptYSize:D,ySubscriptXOffset:D,ySubscriptYOffset:D,ySuperscriptXSize:D,ySuperscriptYSize:D,ySuperscriptXOffset:D,ySuperscriptYOffset:D,yStrikeoutSize:D,yStrikeoutPosition:D,sFamilyClass:D,panose:new w(j,10),ulCharRange:new w(P,4),vendorID:new ve(4),fsSelection:new tt(u,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:u,usLastCharIndex:u},0:{},1:{typoAscender:D,typoDescender:D,typoLineGap:D,winAscent:u,winDescent:u,codePageRange:new w(P,2)},2:{typoAscender:D,typoDescender:D,typoLineGap:D,winAscent:u,winDescent:u,codePageRange:new w(P,2),xHeight:D,capHeight:D,defaultChar:u,breakChar:u,maxContent:u},5:{typoAscender:D,typoDescender:D,typoLineGap:D,winAscent:u,winDescent:u,codePageRange:new w(P,2),xHeight:D,capHeight:D,defaultChar:u,breakChar:u,maxContent:u,usLowerOpticalPointSize:u,usUpperOpticalPointSize:u}}),$s=Wl.versions;$s[3]=$s[4]=$s[2];var n1=Wl,s1=new ue(Be,{header:{italicAngle:Be,underlinePosition:D,underlineThickness:D,isFixedPitch:P,minMemType42:P,maxMemType42:P,minMemType1:P,maxMemType1:P},1:{},2:{numberOfGlyphs:u,glyphNameIndex:new w(u,"numberOfGlyphs"),names:new w(new ve(j))},2.5:{numberOfGlyphs:u,offsets:new w(j,"numberOfGlyphs")},3:{},4:{map:new w(P,s=>s.parent.maxp.numGlyphs)}}),a1=new A({controlValues:new w(D)}),o1=new A({instructions:new w(j)}),_a=new ue("head.indexToLocFormat",{0:{offsets:new w(u)},1:{offsets:new w(P)}});_a.process=function(){if(this.version===0&&!this._processed){for(let s=0;s<this.offsets.length;s++)this.offsets[s]<<=1;this._processed=!0}};_a.preEncode=function(){if(this.version===0&&this._processed!==!1){for(let s=0;s<this.offsets.length;s++)this.offsets[s]>>>=1;this._processed=!1}};var i1=_a,l1=new A({controlValueProgram:new w(j)}),u1=new w(new it),gt=class{getCFFVersion(e){for(;e&&!e.hdrSize;)e=e.parent;return e?e.version:-1}decode(e,t){let n=this.getCFFVersion(t)>=2?e.readUInt32BE():e.readUInt16BE();if(n===0)return[];let a=e.readUInt8(),o;if(a===1)o=j;else if(a===2)o=u;else if(a===3)o=Ut;else if(a===4)o=P;else throw new Error(`Bad offset size in CFFIndex: ${a} ${e.pos}`);let i=[],l=e.pos+(n+1)*a-1,c=o.decode(e);for(let f=0;f<n;f++){let h=o.decode(e);if(this.type!=null){let g=e.pos;e.pos=l+c,t.length=h-c,i.push(this.type.decode(e,t)),e.pos=g}else i.push({offset:l+c,length:h-c});c=h}return e.pos=l+c,i}size(e,t){let r=2;if(e.length===0)return r;let n=this.type||new it,a=1;for(let i=0;i<e.length;i++){let l=e[i];a+=n.size(l,t)}let o;if(a<=255)o=j;else if(a<=65535)o=u;else if(a<=16777215)o=Ut;else if(a<=4294967295)o=P;else throw new Error("Bad offset in CFFIndex");return r+=1+o.size()*(e.length+1),r+=a-1,r}encode(e,t,r){if(e.writeUInt16BE(t.length),t.length===0)return;let n=this.type||new it,a=[],o=1;for(let l of t){let c=n.size(l,r);a.push(c),o+=c}let i;if(o<=255)i=j;else if(o<=65535)i=u;else if(o<=16777215)i=Ut;else if(o<=4294967295)i=P;else throw new Error("Bad offset in CFFIndex");e.writeUInt8(i.size()),o=1,i.encode(e,o);for(let l of a)o+=l,i.encode(e,o);for(let l of t)n.encode(e,l,r)}constructor(e){this.type=e}},i0=15,tl=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],rl={".":10,E:11,"E-":12,"-":14},c0=class{static decode(e,t){if(32<=t&&t<=246)return t-139;if(247<=t&&t<=250)return(t-247)*256+e.readUInt8()+108;if(251<=t&&t<=254)return-(t-251)*256-e.readUInt8()-108;if(t===28)return e.readInt16BE();if(t===29)return e.readInt32BE();if(t===30){let r="";for(;;){let n=e.readUInt8(),a=n>>4;if(a===i0)break;r+=tl[a];let o=n&15;if(o===i0)break;r+=tl[o]}return parseFloat(r)}return null}static size(e){if(e.forceLarge&&(e=32768),(e|0)!==e){let t=""+e;return 1+Math.ceil((t.length+1)/2)}else 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((r|0)!==r){e.writeUInt8(30);let a=""+r;for(let o=0;o<a.length;o+=2){let i=a[o],l=rl[i]||+i;if(o===a.length-1)var n=i0;else{let c=a[o+1];var n=rl[c]||+c}e.writeUInt8(l<<4|n&15)}if(n!==i0)return e.writeUInt8(i0<<4)}else return-107<=r&&r<=107?e.writeUInt8(r+139):108<=r&&r<=1131?(r-=108,e.writeUInt8((r>>8)+247),e.writeUInt8(r&255)):-1131<=r&&r<=-108?(r=-r-108,e.writeUInt8((r>>8)+251),e.writeUInt8(r&255)):-32768<=r&&r<=32767?(e.writeUInt8(28),e.writeInt16BE(r)):(e.writeUInt8(29),e.writeInt32BE(r))}},Gr=class{decodeOperands(e,t,r,n){if(Array.isArray(e))return n.map((a,o)=>this.decodeOperands(e[o],t,r,[a]));if(e.decode!=null)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((a,o)=>this.encodeOperands(e[o],t,r,a)[0]):e.encode!=null?e.encode(t,n,r):typeof n=="number"?[n]:typeof n=="boolean"?[+n]:Array.isArray(n)?n:[n]}decode(e,t){let r=e.pos+t.length,n={},a=[];Object.defineProperties(n,{parent:{value:t},_startOffset:{value:e.pos}});for(let o in this.fields){let i=this.fields[o];n[i[1]]=i[3]}for(;e.pos<r;){let o=e.readUInt8();if(o<28){o===12&&(o=o<<8|e.readUInt8());let i=this.fields[o];if(!i)throw new Error(`Unknown operator ${o}`);let l=this.decodeOperands(i[2],e,n,a);l!=null&&(l instanceof qt?Object.defineProperty(n,i[1],l):n[i[1]]=l),a=[]}else a.push(c0.decode(e,o))}return n}size(e,t,r=!0){let n={parent:t,val:e,pointerSize:0,startOffset:t.startOffset||0},a=0;for(let o in this.fields){let i=this.fields[o],l=e[i[1]];if(l==null||(0,aa.default)(l,i[3]))continue;let c=this.encodeOperands(i[2],null,n,l);for(let h of c)a+=c0.size(h);let f=Array.isArray(i[0])?i[0]:[i[0]];a+=f.length}return r&&(a+=n.pointerSize),a}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 o of this.ops){let i=t[o[1]];if(i==null||(0,aa.default)(i,o[3]))continue;let l=this.encodeOperands(o[2],e,n,i);for(let f of l)c0.encode(e,f);let c=Array.isArray(o[0])?o[0]:[o[0]];for(let f of c)e.writeUInt8(f)}let a=0;for(;a<n.pointers.length;){let o=n.pointers[a++];o.type.encode(e,o.val,o.parent)}}constructor(e=[]){this.ops=e,this.fields={};for(let t of e){let r=Array.isArray(t[0])?t[0][0]<<8|t[0][1]:t[0];this.fields[r]=t}}},dt=class extends C{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 bn(0)];let n=null;return this.offsetType={encode:(a,o)=>n=o},super.encode(e,t,r),[new bn(n)]}constructor(e,t={}){t.type==null&&(t.type="global"),super(null,e,t)}},bn=class{valueOf(){return this.val}constructor(e){this.val=e,this.forceLarge=!0}},la=class{static decode(e,t,r){let n=r.pop();for(;r.length>n;)r.pop()}},ua=new Gr([[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",la,null],[19,"Subrs",new dt(new gt,{type:"local"}),null]]),hn=[".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"],Xl=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],c1=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],Hl=[".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"],f1=[".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"],h1=[".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"],ql=new A({reserved:new Te(u),reqFeatureIndex:u,featureCount:u,featureIndexes:new w(u,"featureCount")}),d1=new A({tag:new ve(4),langSys:new C(u,ql,{type:"parent"})}),p1=new A({defaultLangSys:new C(u,ql),count:u,langSysRecords:new w(d1,"count")}),g1=new A({tag:new ve(4),script:new C(u,p1,{type:"parent"})}),Yl=new w(g1,u),b1=new A({version:u,nameID:u}),Kl=new A({featureParams:new C(u,b1),lookupCount:u,lookupListIndexes:new w(u,"lookupCount")}),m1=new A({tag:new ve(4),feature:new C(u,Kl,{type:"parent"})}),Zl=new w(m1,u),x1=new A({markAttachmentType:j,flags:new tt(j,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function mn(s){let e=new A({lookupType:u,flags:x1,subTableCount:u,subTables:new w(new C(u,s),"subTableCount"),markFilteringSet:new Yt(u,t=>t.flags.flags.useMarkFilteringSet)});return new we(new C(u,e),u)}var v1=new A({start:u,end:u,startCoverageIndex:u}),Ae=new ue(u,{1:{glyphCount:u,glyphs:new w(u,"glyphCount")},2:{rangeCount:u,rangeRecords:new w(v1,"rangeCount")}}),y1=new A({start:u,end:u,class:u}),er=new ue(u,{1:{startGlyph:u,glyphCount:u,classValueArray:new w(u,"glyphCount")},2:{classRangeCount:u,classRangeRecord:new w(y1,"classRangeCount")}}),$t=new A({a:u,b:u,deltaFormat:u}),C0=new A({sequenceIndex:u,lookupListIndex:u}),w1=new A({glyphCount:u,lookupCount:u,input:new w(u,s=>s.glyphCount-1),lookupRecords:new w(C0,"lookupCount")}),C1=new w(new C(u,w1),u),S1=new A({glyphCount:u,lookupCount:u,classes:new w(u,s=>s.glyphCount-1),lookupRecords:new w(C0,"lookupCount")}),P1=new w(new C(u,S1),u),_l=new ue(u,{1:{coverage:new C(u,Ae),ruleSetCount:u,ruleSets:new w(new C(u,C1),"ruleSetCount")},2:{coverage:new C(u,Ae),classDef:new C(u,er),classSetCnt:u,classSet:new w(new C(u,P1),"classSetCnt")},3:{glyphCount:u,lookupCount:u,coverages:new w(new C(u,Ae),"glyphCount"),lookupRecords:new w(C0,"lookupCount")}}),A1=new A({backtrackGlyphCount:u,backtrack:new w(u,"backtrackGlyphCount"),inputGlyphCount:u,input:new w(u,s=>s.inputGlyphCount-1),lookaheadGlyphCount:u,lookahead:new w(u,"lookaheadGlyphCount"),lookupCount:u,lookupRecords:new w(C0,"lookupCount")}),nl=new w(new C(u,A1),u),Jl=new ue(u,{1:{coverage:new C(u,Ae),chainCount:u,chainRuleSets:new w(new C(u,nl),"chainCount")},2:{coverage:new C(u,Ae),backtrackClassDef:new C(u,er),inputClassDef:new C(u,er),lookaheadClassDef:new C(u,er),chainCount:u,chainClassSet:new w(new C(u,nl),"chainCount")},3:{backtrackGlyphCount:u,backtrackCoverage:new w(new C(u,Ae),"backtrackGlyphCount"),inputGlyphCount:u,inputCoverage:new w(new C(u,Ae),"inputGlyphCount"),lookaheadGlyphCount:u,lookaheadCoverage:new w(new C(u,Ae),"lookaheadGlyphCount"),lookupCount:u,lookupRecords:new w(C0,"lookupCount")}}),f0=new Tt(16,"BE",14),E1=new A({startCoord:f0,peakCoord:f0,endCoord:f0}),T1=new A({axisCount:u,regionCount:u,variationRegions:new w(new w(E1,"axisCount"),"regionCount")}),k1=new A({shortDeltas:new w(D,s=>s.parent.shortDeltaCount),regionDeltas:new w(Ve,s=>s.parent.regionIndexCount-s.parent.shortDeltaCount),deltas:s=>s.shortDeltas.concat(s.regionDeltas)}),F1=new A({itemCount:u,shortDeltaCount:u,regionIndexCount:u,regionIndexes:new w(u,"regionIndexCount"),deltaSets:new w(k1,"itemCount")}),Un=new A({format:u,variationRegionList:new C(P,T1),variationDataCount:u,itemVariationData:new w(new C(P,F1),"variationDataCount")}),I1=new ue(u,{1:{axisIndex:u,axisIndex:u,filterRangeMinValue:f0,filterRangeMaxValue:f0}}),O1=new A({conditionCount:u,conditionTable:new w(new C(P,I1),"conditionCount")}),L1=new A({featureIndex:u,alternateFeatureTable:new C(P,Kl,{type:"parent"})}),M1=new A({version:Be,substitutionCount:u,substitutions:new w(L1,"substitutionCount")}),D1=new A({conditionSet:new C(P,O1,{type:"parent"}),featureTableSubstitution:new C(P,M1,{type:"parent"})}),Ql=new A({majorVersion:u,minorVersion:u,featureVariationRecordCount:P,featureVariationRecords:new w(D1,"featureVariationRecordCount")}),xn=class{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 n!==-1?n:this.type.encode(e,t,r)}constructor(e,t){this.predefinedOps=e,this.type=t}},ca=class extends fe{decode(e){return j.decode(e)&127}constructor(){super("UInt8")}},$l=new A({first:u,nLeft:j}),B1=new A({first:u,nLeft:u}),U1=new ue(new ca,{0:{nCodes:j,codes:new w(j,"nCodes")},1:{nRanges:j,ranges:new w($l,"nRanges")}}),R1=new xn([Xl,c1],new dt(U1,{lazy:!0})),vn=class extends w{decode(e,t){let r=_e(this.length,e,t),n=0,a=[];for(;n<r;){let o=this.type.decode(e,t);o.offset=n,n+=o.nLeft+1,a.push(o)}return a}},G1=new ue(j,{0:{glyphs:new w(u,s=>s.parent.CharStrings.length-1)},1:{ranges:new vn($l,s=>s.parent.CharStrings.length-1)},2:{ranges:new vn(B1,s=>s.parent.CharStrings.length-1)}}),N1=new xn([Hl,f1,h1],new dt(G1,{lazy:!0})),z1=new A({first:u,fd:j}),V1=new A({first:P,fd:u}),eu=new ue(j,{0:{fds:new w(j,s=>s.parent.CharStrings.length)},3:{nRanges:u,ranges:new w(z1,"nRanges"),sentinel:u},4:{nRanges:P,ranges:new w(V1,"nRanges"),sentinel:P}}),ea=new dt(ua),yn=class{decode(e,t,r){return t.length=r[0],ea.decode(e,t,[r[1]])}size(e,t){return[ua.size(e,t,!1),ea.size(e,t)[0]]}encode(e,t,r){return[ua.size(t,r,!1),ea.encode(e,t,r)[0]]}},tu=new Gr([[18,"Private",new yn,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),j1=new Gr([[[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",N1,Hl],[16,"Encoding",R1,Xl],[17,"CharStrings",new dt(new gt),null],[18,"Private",new yn,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 dt(eu),null],[[12,36],"FDArray",new dt(new gt(tu)),null],[[12,38],"FontName","sid",null]]),W1=new A({length:u,itemVariationStore:Un}),X1=new Gr([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new dt(new gt),null],[[12,37],"FDSelect",new dt(eu),null],[[12,36],"FDArray",new dt(new gt(tu)),null],[24,"vstore",new dt(W1),null],[25,"maxstack","number",193]]),H1=new ue(Yo,{1:{hdrSize:j,offSize:j,nameIndex:new gt(new ve("length")),topDictIndex:new gt(j1),stringIndex:new gt(new ve("length")),globalSubrIndex:new gt},2:{hdrSize:j,length:u,topDict:X1,globalSubrIndex:new gt}}),ru=H1,fa=class s{static decode(e){return new s(e)}decode(){let e=this.stream.pos,t=ru.decode(this.stream);for(let r in t){let n=t[r];this[r]=n}if(this.version<2){if(this.topDictIndex.length!==1)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=this.topDict.ROS!=null,this}string(e){return this.version>=2?null:e<hn.length?hn[e]:this.stringIndex[e-hn.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||this.isCIDFont)return null;let{charset:t}=this.topDict;if(Array.isArray(t))return t[e];if(e===0)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))}break}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 a=r+n>>1;if(e<t[a].first)n=a-1;else if(a<n&&e>=t[a+1].first)r=a+1;else return t[a].fd}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()}},nu=fa,q1=new A({glyphIndex:u,vertOriginY:D}),Y1=new A({majorVersion:u,minorVersion:u,defaultVertOriginY:D,numVertOriginYMetrics:u,metrics:new w(q1,"numVertOriginYMetrics")}),Ur=new A({height:j,width:j,horiBearingX:Ve,horiBearingY:Ve,horiAdvance:j,vertBearingX:Ve,vertBearingY:Ve,vertAdvance:j}),sn=new A({height:j,width:j,bearingX:Ve,bearingY:Ve,advance:j}),sl=new A({glyph:u,xOffset:Ve,yOffset:Ve}),wn=class{},h0=class{},lm=new ue("version",{1:{metrics:sn,data:wn},2:{metrics:sn,data:h0},5:{data:h0},6:{metrics:Ur,data:wn},7:{metrics:Ur,data:h0},8:{metrics:sn,pad:new Te(j),numComponents:u,components:new w(sl,"numComponents")},9:{metrics:Ur,pad:new Te(j),numComponents:u,components:new w(sl,"numComponents")},17:{metrics:sn,dataLen:P,data:new it("dataLen")},18:{metrics:Ur,dataLen:P,data:new it("dataLen")},19:{dataLen:P,data:new it("dataLen")}}),al=new A({ascender:Ve,descender:Ve,widthMax:j,caretSlopeNumerator:Ve,caretSlopeDenominator:Ve,caretOffset:Ve,minOriginSB:Ve,minAdvanceSB:Ve,maxBeforeBL:Ve,minAfterBL:Ve,pad:new Te(Ve,2)}),K1=new A({glyphCode:u,offset:u}),Z1=new ue(u,{header:{imageFormat:u,imageDataOffset:P},1:{offsetArray:new w(P,s=>s.parent.lastGlyphIndex-s.parent.firstGlyphIndex+1)},2:{imageSize:P,bigMetrics:Ur},3:{offsetArray:new w(u,s=>s.parent.lastGlyphIndex-s.parent.firstGlyphIndex+1)},4:{numGlyphs:P,glyphArray:new w(K1,s=>s.numGlyphs+1)},5:{imageSize:P,bigMetrics:Ur,numGlyphs:P,glyphCodeArray:new w(u,"numGlyphs")}}),_1=new A({firstGlyphIndex:u,lastGlyphIndex:u,subtable:new C(P,Z1)}),J1=new A({indexSubTableArray:new C(P,new w(_1,1),{type:"parent"}),indexTablesSize:P,numberOfIndexSubTables:P,colorRef:P,hori:al,vert:al,startGlyphIndex:u,endGlyphIndex:u,ppemX:j,ppemY:j,bitDepth:j,flags:new tt(j,["horizontal","vertical"])}),Q1=new A({version:P,numSizes:P,sizes:new w(J1,"numSizes")}),$1=new A({ppem:u,resolution:u,imageOffsets:new w(new C(P,"void"),s=>s.parent.parent.maxp.numGlyphs+1)}),eh=new A({version:u,flags:new tt(u,["renderOutlines"]),numImgTables:P,imageTables:new w(new C(P,$1),"numImgTables")}),th=new A({gid:u,paletteIndex:u}),rh=new A({gid:u,firstLayerIndex:u,numLayers:u}),nh=new A({version:u,numBaseGlyphRecords:u,baseGlyphRecord:new C(P,new w(rh,"numBaseGlyphRecords")),layerRecords:new C(P,new w(th,"numLayerRecords"),{lazy:!0}),numLayerRecords:u}),sh=new A({blue:j,green:j,red:j,alpha:j}),ah=new ue(u,{header:{numPaletteEntries:u,numPalettes:u,numColorRecords:u,colorRecords:new C(P,new w(sh,"numColorRecords")),colorRecordIndices:new w(u,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new C(P,new w(P,"numPalettes")),offsetPaletteLabelArray:new C(P,new w(u,"numPalettes")),offsetPaletteEntryLabelArray:new C(P,new w(u,"numPaletteEntries"))}}),g0=new ue(u,{1:{coordinate:D},2:{coordinate:D,referenceGlyph:u,baseCoordPoint:u},3:{coordinate:D,deviceTable:new C(u,$t)}}),oh=new A({defaultIndex:u,baseCoordCount:u,baseCoords:new w(new C(u,g0),"baseCoordCount")}),ih=new A({tag:new ve(4),minCoord:new C(u,g0,{type:"parent"}),maxCoord:new C(u,g0,{type:"parent"})}),su=new A({minCoord:new C(u,g0),maxCoord:new C(u,g0),featMinMaxCount:u,featMinMaxRecords:new w(ih,"featMinMaxCount")}),lh=new A({tag:new ve(4),minMax:new C(u,su,{type:"parent"})}),uh=new A({baseValues:new C(u,oh),defaultMinMax:new C(u,su),baseLangSysCount:u,baseLangSysRecords:new w(lh,"baseLangSysCount")}),ch=new A({tag:new ve(4),script:new C(u,uh,{type:"parent"})}),fh=new w(ch,u),hh=new w(new ve(4),u),ol=new A({baseTagList:new C(u,hh),baseScriptList:new C(u,fh)}),dh=new ue(P,{header:{horizAxis:new C(u,ol),vertAxis:new C(u,ol)},65536:{},65537:{itemVariationStore:new C(P,Un)}}),ph=new w(u,u),gh=new A({coverage:new C(u,Ae),glyphCount:u,attachPoints:new w(new C(u,ph),"glyphCount")}),bh=new ue(u,{1:{coordinate:D},2:{caretValuePoint:u},3:{coordinate:D,deviceTable:new C(u,$t)}}),mh=new w(new C(u,bh),u),xh=new A({coverage:new C(u,Ae),ligGlyphCount:u,ligGlyphs:new w(new C(u,mh),"ligGlyphCount")}),il=new A({markSetTableFormat:u,markSetCount:u,coverage:new w(new C(P,Ae),"markSetCount")}),vh=new ue(P,{header:{glyphClassDef:new C(u,er),attachList:new C(u,gh),ligCaretList:new C(u,xh),markAttachClassDef:new C(u,er)},65536:{},65538:{markGlyphSetsDef:new C(u,il)},65539:{markGlyphSetsDef:new C(u,il),itemVariationStore:new C(P,Un)}}),Dr=new tt(u,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),yh={xPlacement:D,yPlacement:D,xAdvance:D,yAdvance:D,xPlaDevice:new C(u,$t,{type:"global",relativeTo:s=>s.rel}),yPlaDevice:new C(u,$t,{type:"global",relativeTo:s=>s.rel}),xAdvDevice:new C(u,$t,{type:"global",relativeTo:s=>s.rel}),yAdvDevice:new C(u,$t,{type:"global",relativeTo:s=>s.rel})},rr=class{buildStruct(e){let t=e;for(;!t[this.key]&&t.parent;)t=t.parent;if(!t[this.key])return;let r={};r.rel=()=>t._startOffset;let n=t[this.key];for(let a in n)n[a]&&(r[a]=yh[a]);return new A(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}},wh=new A({secondGlyph:u,value1:new rr("valueFormat1"),value2:new rr("valueFormat2")}),Ch=new w(wh,u),Sh=new A({value1:new rr("valueFormat1"),value2:new rr("valueFormat2")}),b0=new ue(u,{1:{xCoordinate:D,yCoordinate:D},2:{xCoordinate:D,yCoordinate:D,anchorPoint:u},3:{xCoordinate:D,yCoordinate:D,xDeviceTable:new C(u,$t),yDeviceTable:new C(u,$t)}}),Ph=new A({entryAnchor:new C(u,b0,{type:"parent"}),exitAnchor:new C(u,b0,{type:"parent"})}),Ah=new A({class:u,markAnchor:new C(u,b0,{type:"parent"})}),ta=new w(Ah,u),Eh=new w(new C(u,b0),s=>s.parent.classCount),ll=new w(Eh,u),Th=new w(new C(u,b0),s=>s.parent.parent.classCount),kh=new w(Th,u),Fh=new w(new C(u,kh),u),m0=new ue("lookupType",{1:new ue(u,{1:{coverage:new C(u,Ae),valueFormat:Dr,value:new rr},2:{coverage:new C(u,Ae),valueFormat:Dr,valueCount:u,values:new we(new rr,"valueCount")}}),2:new ue(u,{1:{coverage:new C(u,Ae),valueFormat1:Dr,valueFormat2:Dr,pairSetCount:u,pairSets:new we(new C(u,Ch),"pairSetCount")},2:{coverage:new C(u,Ae),valueFormat1:Dr,valueFormat2:Dr,classDef1:new C(u,er),classDef2:new C(u,er),class1Count:u,class2Count:u,classRecords:new we(new we(Sh,"class2Count"),"class1Count")}}),3:{format:u,coverage:new C(u,Ae),entryExitCount:u,entryExitRecords:new w(Ph,"entryExitCount")},4:{format:u,markCoverage:new C(u,Ae),baseCoverage:new C(u,Ae),classCount:u,markArray:new C(u,ta),baseArray:new C(u,ll)},5:{format:u,markCoverage:new C(u,Ae),ligatureCoverage:new C(u,Ae),classCount:u,markArray:new C(u,ta),ligatureArray:new C(u,Fh)},6:{format:u,mark1Coverage:new C(u,Ae),mark2Coverage:new C(u,Ae),classCount:u,mark1Array:new C(u,ta),mark2Array:new C(u,ll)},7:_l,8:Jl,9:{posFormat:u,lookupType:u,extension:new C(P,null)}});m0.versions[9].extension.type=m0;var Ih=new ue(P,{header:{scriptList:new C(u,Yl),featureList:new C(u,Zl),lookupList:new C(u,new mn(m0))},65536:{},65537:{featureVariations:new C(P,Ql)}}),au=new w(u,u),Oh=au,Lh=new A({glyph:u,compCount:u,components:new w(u,s=>s.compCount-1)}),Mh=new w(new C(u,Lh),u),ha=new ue("lookupType",{1:new ue(u,{1:{coverage:new C(u,Ae),deltaGlyphID:D},2:{coverage:new C(u,Ae),glyphCount:u,substitute:new we(u,"glyphCount")}}),2:{substFormat:u,coverage:new C(u,Ae),count:u,sequences:new we(new C(u,au),"count")},3:{substFormat:u,coverage:new C(u,Ae),count:u,alternateSet:new we(new C(u,Oh),"count")},4:{substFormat:u,coverage:new C(u,Ae),count:u,ligatureSets:new we(new C(u,Mh),"count")},5:_l,6:Jl,7:{substFormat:u,lookupType:u,extension:new C(P,null)},8:{substFormat:u,coverage:new C(u,Ae),backtrackCoverage:new w(new C(u,Ae),"backtrackGlyphCount"),lookaheadGlyphCount:u,lookaheadCoverage:new w(new C(u,Ae),"lookaheadGlyphCount"),glyphCount:u,substitutes:new w(u,"glyphCount")}});ha.versions[7].extension.type=ha;var Dh=new ue(P,{header:{scriptList:new C(u,Yl),featureList:new C(u,Zl),lookupList:new C(u,new mn(ha))},65536:{},65537:{featureVariations:new C(P,Ql)}}),Jt=new w(u,u),Bh=new A({shrinkageEnableGSUB:new C(u,Jt),shrinkageDisableGSUB:new C(u,Jt),shrinkageEnableGPOS:new C(u,Jt),shrinkageDisableGPOS:new C(u,Jt),shrinkageJstfMax:new C(u,new mn(m0)),extensionEnableGSUB:new C(u,Jt),extensionDisableGSUB:new C(u,Jt),extensionEnableGPOS:new C(u,Jt),extensionDisableGPOS:new C(u,Jt),extensionJstfMax:new C(u,new mn(m0))}),ou=new w(new C(u,Bh),u),Uh=new A({tag:new ve(4),jstfLangSys:new C(u,ou)}),Rh=new A({extenderGlyphs:new C(u,new w(u,u)),defaultLangSys:new C(u,ou),langSysCount:u,langSysRecords:new w(Uh,"langSysCount")}),Gh=new A({tag:new ve(4),script:new C(u,Rh,{type:"parent"})}),Nh=new A({version:P,scriptCount:u,scriptList:new w(Gh,"scriptCount")}),da=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 _e(this._size,null,t)}constructor(e){this._size=e}},zh=new A({entry:new da(s=>((s.parent.entryFormat&48)>>4)+1),outerIndex:s=>s.entry>>(s.parent.entryFormat&15)+1,innerIndex:s=>s.entry&(1<<(s.parent.entryFormat&15)+1)-1}),ra=new A({entryFormat:u,mapCount:u,mapData:new w(zh,"mapCount")}),Vh=new A({majorVersion:u,minorVersion:u,itemVariationStore:new C(P,Un),advanceWidthMapping:new C(P,ra),LSBMapping:new C(P,ra),RSBMapping:new C(P,ra)}),jh=new A({format:P,length:P,offset:P}),Wh=new A({reserved:new Te(u,2),cbSignature:P,signature:new it("cbSignature")}),Xh=new A({ulVersion:P,usNumSigs:u,usFlag:u,signatures:new w(jh,"usNumSigs"),signatureBlocks:new w(Wh,"usNumSigs")}),Hh=new A({rangeMaxPPEM:u,rangeGaspBehavior:new tt(u,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])}),qh=new A({version:u,numRanges:u,gaspRanges:new w(Hh,"numRanges")}),Yh=new A({pixelSize:j,maximumWidth:j,widths:new w(j,s=>s.parent.parent.maxp.numGlyphs)}),Kh=new A({version:u,numRecords:D,sizeDeviceRecord:Ht,records:new w(Yh,"numRecords")}),Zh=new A({left:u,right:u,value:D}),ul=new A({firstGlyph:u,nGlyphs:u,offsets:new w(u,"nGlyphs"),max:s=>s.offsets.length&&Math.max.apply(Math,s.offsets)}),_h=new A({off:s=>s._startOffset-s.parent.parent._startOffset,len:s=>((s.parent.leftTable.max-s.off)/s.parent.rowWidth+1)*(s.parent.rowWidth/2),values:new we(D,"len")}),cl=new ue("format",{0:{nPairs:u,searchRange:u,entrySelector:u,rangeShift:u,pairs:new w(Zh,"nPairs")},2:{rowWidth:u,leftTable:new C(u,ul,{type:"parent"}),rightTable:new C(u,ul,{type:"parent"}),array:new C(u,_h,{type:"parent"})},3:{glyphCount:u,kernValueCount:j,leftClassCount:j,rightClassCount:j,flags:j,kernValue:new w(D,"kernValueCount"),leftClass:new w(j,"glyphCount"),rightClass:new w(j,"glyphCount"),kernIndex:new w(j,s=>s.leftClassCount*s.rightClassCount)}}),fl=new ue("version",{0:{subVersion:u,length:u,format:j,coverage:new tt(j,["horizontal","minimum","crossStream","override"]),subtable:cl,padding:new Te(j,s=>s.length-s._currentOffset)},1:{length:P,coverage:new tt(j,[null,null,null,null,null,"variation","crossStream","vertical"]),format:j,tupleIndex:u,subtable:cl,padding:new Te(j,s=>s.length-s._currentOffset)}}),Jh=new ue(u,{0:{nTables:u,tables:new w(fl,"nTables")},1:{reserved:new Te(u),nTables:P,tables:new w(fl,"nTables")}}),Qh=new A({version:u,numGlyphs:u,yPels:new w(j,"numGlyphs")}),$h=new A({version:u,fontNumber:P,pitch:u,xHeight:u,style:u,typeFamily:u,capHeight:u,symbolSet:u,typeface:new ve(16),characterComplement:new ve(8),fileName:new ve(6),strokeWeight:new ve(1),widthType:new ve(1),serifStyle:j,reserved:new Te(j)}),ed=new A({bCharSet:j,xRatio:j,yStartRatio:j,yEndRatio:j}),td=new A({yPelHeight:u,yMax:D,yMin:D}),rd=new A({recs:u,startsz:j,endsz:j,entries:new w(td,"recs")}),nd=new A({version:u,numRecs:u,numRatios:u,ratioRanges:new w(ed,"numRatios"),offsets:new w(u,"numRatios"),groups:new w(rd,"numRecs")}),sd=new A({version:u,ascent:D,descent:D,lineGap:D,advanceHeightMax:D,minTopSideBearing:D,minBottomSideBearing:D,yMaxExtent:D,caretSlopeRise:D,caretSlopeRun:D,caretOffset:D,reserved:new Te(D,4),metricDataFormat:D,numberOfMetrics:u}),ad=new A({advance:u,bearing:D}),od=new A({metrics:new we(ad,s=>s.parent.vhea.numberOfMetrics),bearings:new we(D,s=>s.parent.maxp.numGlyphs-s.parent.vhea.numberOfMetrics)}),hl=new Tt(16,"BE",14),id=new A({fromCoord:hl,toCoord:hl}),ld=new A({pairCount:u,correspondence:new w(id,"pairCount")}),ud=new A({version:Be,axisCount:P,segment:new w(ld,"axisCount")}),pa=class{getItem(e){if(this._items[e]==null){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=[]}},bt=class extends w{decode(e,t){return new pa(this.type,e,t)}constructor(e){super(e,0)}},nr=function(s=u){class e{decode(i,l){return l=l.parent.parent,this.type.decode(i,l)}size(i,l){return l=l.parent.parent,this.type.size(i,l)}encode(i,l,c){return c=c.parent.parent,this.type.encode(i,l,c)}constructor(i){this.type=i}}s=new e(s);let t=new A({unitSize:u,nUnits:u,searchRange:u,entrySelector:u,rangeShift:u}),r=new A({lastGlyph:u,firstGlyph:u,value:s}),n=new A({lastGlyph:u,firstGlyph:u,values:new C(u,new w(s,o=>o.lastGlyph-o.firstGlyph+1),{type:"parent"})}),a=new A({glyph:u,value:s});return new ue(u,{0:{values:new bt(s)},2:{binarySearchHeader:t,segments:new w(r,o=>o.binarySearchHeader.nUnits)},4:{binarySearchHeader:t,segments:new w(n,o=>o.binarySearchHeader.nUnits)},6:{binarySearchHeader:t,segments:new w(a,o=>o.binarySearchHeader.nUnits)},8:{firstGlyph:u,count:u,values:new w(s,"count")}})};function an(s={},e=u){let t=Object.assign({newState:u,flags:u},s),r=new A(t),n=new bt(new w(u,o=>o.nClasses));return new A({nClasses:P,classTable:new C(P,new nr(e)),stateArray:new C(P,n),entryTable:new C(P,new bt(r))})}function cd(s={},e=u){let t=new A({version(){return 8},firstGlyph:u,values:new w(j,u)}),r=Object.assign({newStateOffset:u,newState:i=>(i.newStateOffset-(i.parent.stateArray.base-i.parent._startOffset))/i.parent.nClasses,flags:u},s),n=new A(r),a=new bt(new w(j,i=>i.nClasses));return new A({nClasses:u,classTable:new C(u,t),stateArray:new C(u,a),entryTable:new C(u,new bt(n))})}var fd=new ue("format",{0:{deltas:new w(D,32)},1:{deltas:new w(D,32),mappingData:new nr(u)},2:{standardGlyph:u,controlPoints:new w(u,32)},3:{standardGlyph:u,controlPoints:new w(u,32),mappingData:new nr(u)}}),hd=new A({version:Be,format:u,defaultBaseline:u,subtable:fd}),dd=new A({setting:u,nameIndex:D,name:s=>s.parent.parent.parent.name.records.fontFeatures[s.nameIndex]}),pd=new A({feature:u,nSettings:u,settingTable:new C(P,new w(dd,"nSettings"),{type:"parent"}),featureFlags:new tt(j,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:j,nameIndex:D,name:s=>s.parent.parent.name.records.fontFeatures[s.nameIndex]}),gd=new A({version:Be,featureNameCount:u,reserved1:new Te(u),reserved2:new Te(P),featureNames:new w(pd,"featureNameCount")}),bd=new A({axisTag:new ve(4),minValue:Be,defaultValue:Be,maxValue:Be,flags:u,nameID:u,name:s=>s.parent.parent.name.records.fontFeatures[s.nameID]}),md=new A({nameID:u,name:s=>s.parent.parent.name.records.fontFeatures[s.nameID],flags:u,coord:new w(Be,s=>s.parent.axisCount),postscriptNameID:new Yt(u,s=>s.parent.instanceSize-s._currentOffset>0)}),xd=new A({version:Be,offsetToData:u,countSizePairs:u,axisCount:u,axisSize:u,instanceCount:u,instanceSize:u,axis:new w(bd,"axisCount"),instance:new w(md,"instanceCount")}),vd=new Tt(16,"BE",14),ga=class{static decode(e,t){return t.flags?e.readUInt32BE():e.readUInt16BE()*2}},yd=new A({version:u,reserved:new Te(u),axisCount:u,globalCoordCount:u,globalCoords:new C(P,new w(new w(vd,"axisCount"),"globalCoordCount")),glyphCount:u,flags:u,offsetToData:P,offsets:new w(new C(ga,"void",{relativeTo:s=>s.offsetToData,allowNull:!1}),s=>s.glyphCount+1)}),wd=yd,Cd=new A({length:u,coverage:u,subFeatureFlags:P,stateTable:new cd}),Sd=new A({justClass:P,beforeGrowLimit:Be,beforeShrinkLimit:Be,afterGrowLimit:Be,afterShrinkLimit:Be,growFlags:u,shrinkFlags:u}),Pd=new w(Sd,P),Ad=new ue("actionType",{0:{lowerLimit:Be,upperLimit:Be,order:u,glyphs:new w(u,u)},1:{addGlyph:u},2:{substThreshold:Be,addGlyph:u,substGlyph:u},3:{},4:{variationAxis:P,minimumLimit:Be,noStretchValue:Be,maximumLimit:Be},5:{flags:u,glyph:u}}),Ed=new A({actionClass:u,actionType:u,actionLength:P,actionData:Ad,padding:new Te(j,s=>s.actionLength-s._currentOffset)}),Td=new w(Ed,P),kd=new A({lookupTable:new nr(new C(u,Td))}),dl=new A({classTable:new C(u,Cd,{type:"parent"}),wdcOffset:u,postCompensationTable:new C(u,kd,{type:"parent"}),widthDeltaClusters:new nr(new C(u,Pd,{type:"parent",relativeTo:s=>s.wdcOffset}))}),Fd=new A({version:P,format:u,horizontal:new C(u,dl),vertical:new C(u,dl)}),Id={action:u},Od={markIndex:u,currentIndex:u},Ld={currentInsertIndex:u,markedInsertIndex:u},Md=new A({items:new bt(new C(P,new nr))}),Dd=new ue("type",{0:{stateTable:new an},1:{stateTable:new an(Od),substitutionTable:new C(P,Md)},2:{stateTable:new an(Id),ligatureActions:new C(P,new bt(P)),components:new C(P,new bt(u)),ligatureList:new C(P,new bt(u))},4:{lookupTable:new nr},5:{stateTable:new an(Ld),insertionActions:new C(P,new bt(u))}}),Bd=new A({length:P,coverage:Ut,type:j,subFeatureFlags:P,table:Dd,padding:new Te(j,s=>s.length-s._currentOffset)}),Ud=new A({featureType:u,featureSetting:u,enableFlags:P,disableFlags:P}),Rd=new A({defaultFlags:P,chainLength:P,nFeatureEntries:P,nSubtables:P,features:new w(Ud,"nFeatureEntries"),subtables:new w(Bd,"nSubtables")}),Gd=new A({version:u,unused:new Te(u),nChains:P,chains:new w(Rd,"nChains")}),Nd=new A({left:D,top:D,right:D,bottom:D}),zd=new A({version:Be,format:u,lookupTable:new nr(Nd)}),oe={},Cn=oe;oe.cmap=Xf;oe.head=Hf;oe.hhea=qf;oe.hmtx=Kf;oe.maxp=Zf;oe.name=r1;oe["OS/2"]=n1;oe.post=s1;oe.fpgm=o1;oe.loca=i1;oe.prep=l1;oe["cvt "]=a1;oe.glyf=u1;oe["CFF "]=nu;oe.CFF2=nu;oe.VORG=Y1;oe.EBLC=Q1;oe.CBLC=oe.EBLC;oe.sbix=eh;oe.COLR=nh;oe.CPAL=ah;oe.BASE=dh;oe.GDEF=vh;oe.GPOS=Ih;oe.GSUB=Dh;oe.JSTF=Nh;oe.HVAR=Vh;oe.DSIG=Xh;oe.gasp=qh;oe.hdmx=Kh;oe.kern=Jh;oe.LTSH=Qh;oe.PCLT=$h;oe.VDMX=nd;oe.vhea=sd;oe.vmtx=od;oe.avar=ud;oe.bsln=hd;oe.feat=gd;oe.fvar=xd;oe.gvar=wd;oe.just=Fd;oe.morx=Gd;oe.opbd=zd;var Vd=new A({tag:new ve(4),checkSum:P,offset:new C(P,"void",{type:"global"}),length:P}),Ja=new A({tag:new ve(4),numTables:u,searchRange:u,entrySelector:u,rangeShift:u,tables:new w(Vd,"numTables")});Ja.process=function(){let s={};for(let e of this.tables)s[e.tag]=e;this.tables=s};Ja.preEncode=function(){if(!Array.isArray(this.tables)){let t=[];for(let r in this.tables){let n=this.tables[r];n&&t.push({tag:r,checkSum:0,offset:new Er(Cn[r],n),length:Cn[r].size(n)})}this.tables=t}this.tag="true",this.numTables=this.tables.length;let s=Math.floor(Math.log(this.numTables)/Math.LN2),e=Math.pow(2,s);this.searchRange=e*16,this.entrySelector=Math.log(e)/Math.LN2,this.rangeShift=this.numTables*16-this.searchRange};var iu=Ja;function dn(s,e){let t=0,r=s.length-1;for(;t<=r;){let n=t+r>>1,a=e(s[n]);if(a<0)r=n-1;else if(a>0)t=n+1;else return n}return-1}function Br(s,e){let t=[];for(;s<e;)t.push(s++);return t}var Rn=new TextDecoder("ascii"),pl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u0=new Uint8Array(256);for(let s=0;s<pl.length;s++)u0[pl.charCodeAt(s)]=s;function Qa(s){let e=s.length*.75;s[s.length-1]==="="&&(e--,s[s.length-2]==="="&&e--);let t=new Uint8Array(e),r=0;for(let n=0,a=s.length;n<a;n+=4){let o=u0[s.charCodeAt(n)],i=u0[s.charCodeAt(n+1)],l=u0[s.charCodeAt(n+2)],c=u0[s.charCodeAt(n+3)];t[r++]=o<<2|i>>4,t[r++]=(i&15)<<4|l>>2,t[r++]=(l&3)<<6|c&63}return t}var x0=class{findSubtable(e,t){for(let[r,n]of t)for(let a of e.tables)if(a.platformID===r&&a.encodingID===n)return a.table;return null}lookup(e,t){if(this.encoding)e=this.encoding.get(e)||e;else if(t){let n=this.getVariationSelector(e,t);if(n)return n}let r=this.cmap;switch(r.version){case 0:return r.codeMap.get(e)||0;case 4:{let n=0,a=r.segCount-1;for(;n<=a;){let o=n+a>>1;if(e<r.startCode.get(o))a=o-1;else if(e>r.endCode.get(o))n=o+1;else{let i=r.idRangeOffset.get(o),l;if(i===0)l=e+r.idDelta.get(o);else{let c=i/2+(e-r.startCode.get(o))-(r.segCount-o);l=r.glyphIndexArray.get(c)||0,l!==0&&(l+=r.idDelta.get(o))}return l&65535}}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 n=0,a=r.nGroups-1;for(;n<=a;){let o=n+a>>1,i=r.groups.get(o);if(e<i.startCharCode)a=o-1;else if(e>i.endCharCode)n=o+1;else return r.version===12?i.glyphID+(e-i.startCharCode):i.glyphID}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=dn(r,o=>t-o.varSelector),a=r[n];return n!==-1&&a.defaultUVS&&(n=dn(a.defaultUVS,o=>e<o.startUnicodeValue?-1:e>o.startUnicodeValue+o.additionalCount?1:0)),n!==-1&&a.nonDefaultUVS&&(n=dn(a.nonDefaultUVS,o=>e-o.unicodeValue),n!==-1)?a.nonDefaultUVS[n].glyphID:0}getCharacterSet(){let e=this.cmap;switch(e.version){case 0:return Br(0,e.codeMap.length);case 4:{let t=[],r=e.endCode.toArray();for(let n=0;n<r.length;n++){let a=r[n]+1,o=e.startCode.get(n);t.push(...Br(o,a))}return t}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return Br(e.firstCode,e.firstCode+e.glyphIndices.length);case 12:case 13:{let t=[];for(let r of e.groups.toArray())t.push(...Br(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 n=[];for(let a=0;a<256;a++)t.codeMap.get(a)===e&&n.push(a);return n}case 4:{let n=[];for(let a=0;a<t.segCount;a++){let o=t.endCode.get(a),i=t.startCode.get(a),l=t.idRangeOffset.get(a),c=t.idDelta.get(a);for(var r=i;r<=o;r++){let f=0;if(l===0)f=r+c;else{let h=l/2+(r-i)-(t.segCount-a);f=t.glyphIndexArray.get(h)||0,f!==0&&(f+=c)}f===e&&n.push(r)}}return n}case 12:{let n=[];for(let a of t.groups.toArray())e>=a.glyphID&&e<=a.glyphID+(a.endCharCode-a.startCharCode)&&n.push(a.startCharCode+(e-a.glyphID));return n}case 13:{let n=[];for(let a of t.groups.toArray())e===a.glyphID&&n.push(...Br(a.startCharCode,a.endCharCode+1));return n}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 r=jl(t.platformID,t.encodingID,t.table.language-1),n=Qf(r);n&&(this.cmap=t.table,this.encoding=n)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&this.uvs.version!==14&&(this.uvs=null)}};Xe([Ze],x0.prototype,"getCharacterSet",null);Xe([Ze],x0.prototype,"codePointsForGlyph",null);var ba=class{process(e,t){for(let r=0;r<e.length-1;r++){let n=e[r].id,a=e[r+1].id;t[r].xAdvance+=this.getKerning(n,a)}}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 a=0,o=n.subtable;switch(n.format){case 0:let i=dn(o.pairs,function(h){return e-h.left||t-h.right});i>=0&&(a=o.pairs[i].value);break;case 2:let l=0,c=0;e>=o.leftTable.firstGlyph&&e<o.leftTable.firstGlyph+o.leftTable.nGlyphs?l=o.leftTable.offsets[e-o.leftTable.firstGlyph]:l=o.array.off,t>=o.rightTable.firstGlyph&&t<o.rightTable.firstGlyph+o.rightTable.nGlyphs&&(c=o.rightTable.offsets[t-o.rightTable.firstGlyph]);let f=(l+c-o.array.off)/2;a=o.array.values.get(f);break;case 3:if(e>=o.glyphCount||t>=o.glyphCount)return 0;a=o.kernValue[o.kernIndex[o.leftClass[e]*o.rightClassCount+o.rightClass[t]]];break;default:throw new Error(`Unsupported kerning sub-table format ${n.format}`)}n.coverage.override?r=a:r+=a}return r}constructor(e){this.kern=e.kern}},ma=class{positionGlyphs(e,t){let r=0,n=0;for(let a=0;a<e.length;a++)e[a].isMark?n=a:(r!==n&&this.positionCluster(e,t,r,n),r=n=a);return r!==n&&this.positionCluster(e,t,r,n),t}positionCluster(e,t,r,n){let a=e[r],o=a.cbox.copy();a.codePoints.length>1&&(o.minX+=(a.codePoints.length-1)*o.width/a.codePoints.length);let i=-t[r].xAdvance,l=0,c=this.font.unitsPerEm/16;for(let f=r+1;f<=n;f++){let h=e[f],g=h.cbox,m=t[f],p=this.getCombiningClass(h.codePoints[0]);if(p!=="Not_Reordered"){switch(m.xOffset=m.yOffset=0,p){case"Double_Above":case"Double_Below":m.xOffset+=o.minX-g.width/2-g.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":m.xOffset+=o.minX-g.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":m.xOffset+=o.maxX-g.width-g.minX;break;default:m.xOffset+=o.minX+(o.width-g.width)/2-g.minX}switch(p){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":(p==="Attached_Below_Left"||p==="Attached_Below")&&(o.minY+=c),m.yOffset=-o.minY-g.maxY,o.minY+=g.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":(p==="Attached_Above"||p==="Attached_Above_Right")&&(o.maxY+=c),m.yOffset=o.maxY-g.minY,o.maxY+=g.height;break}m.xAdvance=m.yAdvance=0,m.xOffset+=i,m.yOffset+=l}else i-=m.xAdvance,l-=m.yAdvance}}getCombiningClass(e){let t=xi(e);if((e&-256)===3584){if(t==="Not_Reordered")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(e===3642)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":return"Below";case"CCC23":return"Attached_Above";case"CCC24":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":return"Above";case"CCC21":break;case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":return"Above";case"CCC29":case"CCC32":return"Below";case"CCC103":return"Below_Right";case"CCC107":return"Above_Right";case"CCC118":return"Below";case"CCC122":return"Above";case"CCC129":case"CCC132":return"Below";case"CCC130":return"Above"}return t}constructor(e){this.font=e}},sr=class s{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 s(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}},Nr={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"},xa={};for(let s in Nr){let e=Nr[s];if(Array.isArray(e))for(let t of e)xa[t]=s;else xa[e]=s}function jd(s){return xa[s]}function Wd(s){let e=s.length,t=0;for(;t<e;){let r=s.charCodeAt(t++);if(55296<=r&&r<=56319&&t<e){let a=s.charCodeAt(t);56320<=a&&a<=57343&&(t++,r=((r&1023)<<10)+(a&1023)+65536)}let n=Ms(r);if(n!=="Common"&&n!=="Inherited"&&n!=="Unknown")return Nr[n]}return Nr.Unknown}function Xd(s){for(let e=0;e<s.length;e++){let t=s[e],r=Ms(t);if(r!=="Common"&&r!=="Inherited"&&r!=="Unknown")return Nr[r]}return Nr.Unknown}var Hd={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 lu(s){return Hd[s]?"rtl":"ltr"}var va=class{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 sr,t=0,r=0;for(let n=0;n<this.glyphs.length;n++){let a=this.glyphs[n],o=this.positions[n],i=a.bbox;e.addPoint(i.minX+t+o.xOffset,i.minY+r+o.yOffset),e.addPoint(i.maxX+t+o.xOffset,i.maxY+r+o.yOffset),t+=o.xAdvance,r+=o.yAdvance}return e}constructor(e,t,r,n,a){if(this.glyphs=e,this.positions=null,this.script=r,this.language=n||null,this.direction=a||lu(r),this.features={},Array.isArray(t))for(let o of t)this.features[o]=!0;else typeof t=="object"&&(this.features=t)}},ya=class{constructor(e=0,t=0,r=0,n=0){this.xAdvance=e,this.yAdvance=t,this.xOffset=r,this.yOffset=n}},mr={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}},W=(s,e)=>[mr[s].code,mr[s][e]],Sn={rlig:W("ligatures","requiredLigatures"),clig:W("ligatures","contextualLigatures"),dlig:W("ligatures","rareLigatures"),hlig:W("ligatures","historicalLigatures"),liga:W("ligatures","commonLigatures"),hist:W("ligatures","historicalLigatures"),smcp:W("lowerCase","lowerCaseSmallCaps"),pcap:W("lowerCase","lowerCasePetiteCaps"),frac:W("fractions","diagonalFractions"),dnom:W("fractions","diagonalFractions"),numr:W("fractions","diagonalFractions"),afrc:W("fractions","verticalFractions"),case:W("caseSensitiveLayout","caseSensitiveLayout"),ccmp:W("unicodeDecomposition","canonicalComposition"),cpct:W("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:W("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:W("contextualAlternates","swashAlternates"),cswh:W("contextualAlternates","contextualSwashAlternates"),curs:W("cursiveConnection","cursive"),c2pc:W("upperCase","upperCasePetiteCaps"),c2sc:W("upperCase","upperCaseSmallCaps"),init:W("smartSwash","wordInitialSwashes"),fin2:W("smartSwash","wordFinalSwashes"),medi:W("smartSwash","nonFinalSwashes"),med2:W("smartSwash","nonFinalSwashes"),fin3:W("smartSwash","wordFinalSwashes"),fina:W("smartSwash","wordFinalSwashes"),pkna:W("kanaSpacing","proportionalKana"),half:W("textSpacing","halfWidthText"),halt:W("textSpacing","altHalfWidthText"),hkna:W("alternateKana","alternateHorizKana"),vkna:W("alternateKana","alternateVertKana"),ital:W("italicCJKRoman","CJKItalicRoman"),lnum:W("numberCase","upperCaseNumbers"),onum:W("numberCase","lowerCaseNumbers"),mgrk:W("mathematicalExtras","mathematicalGreek"),calt:W("contextualAlternates","contextualAlternates"),vrt2:W("verticalSubstitution","substituteVerticalForms"),vert:W("verticalSubstitution","substituteVerticalForms"),tnum:W("numberSpacing","monospacedNumbers"),pnum:W("numberSpacing","proportionalNumbers"),sups:W("verticalPosition","superiors"),subs:W("verticalPosition","inferiors"),ordn:W("verticalPosition","ordinals"),pwid:W("textSpacing","proportionalText"),hwid:W("textSpacing","halfWidthText"),qwid:W("textSpacing","quarterWidthText"),twid:W("textSpacing","thirdWidthText"),fwid:W("textSpacing","proportionalText"),palt:W("textSpacing","altProportionalText"),trad:W("characterShape","traditionalCharacters"),smpl:W("characterShape","simplifiedCharacters"),jp78:W("characterShape","JIS1978Characters"),jp83:W("characterShape","JIS1983Characters"),jp90:W("characterShape","JIS1990Characters"),jp04:W("characterShape","JIS2004Characters"),expt:W("characterShape","expertCharacters"),hojo:W("characterShape","hojoCharacters"),nlck:W("characterShape","NLCCharacters"),tnam:W("characterShape","traditionalNamesCharacters"),ruby:W("rubyKana","rubyKana"),titl:W("styleOptions","titlingCaps"),zero:W("typographicExtras","slashedZero"),ss01:W("stylisticAlternatives","stylisticAltOne"),ss02:W("stylisticAlternatives","stylisticAltTwo"),ss03:W("stylisticAlternatives","stylisticAltThree"),ss04:W("stylisticAlternatives","stylisticAltFour"),ss05:W("stylisticAlternatives","stylisticAltFive"),ss06:W("stylisticAlternatives","stylisticAltSix"),ss07:W("stylisticAlternatives","stylisticAltSeven"),ss08:W("stylisticAlternatives","stylisticAltEight"),ss09:W("stylisticAlternatives","stylisticAltNine"),ss10:W("stylisticAlternatives","stylisticAltTen"),ss11:W("stylisticAlternatives","stylisticAltEleven"),ss12:W("stylisticAlternatives","stylisticAltTwelve"),ss13:W("stylisticAlternatives","stylisticAltThirteen"),ss14:W("stylisticAlternatives","stylisticAltFourteen"),ss15:W("stylisticAlternatives","stylisticAltFifteen"),ss16:W("stylisticAlternatives","stylisticAltSixteen"),ss17:W("stylisticAlternatives","stylisticAltSeventeen"),ss18:W("stylisticAlternatives","stylisticAltEighteen"),ss19:W("stylisticAlternatives","stylisticAltNineteen"),ss20:W("stylisticAlternatives","stylisticAltTwenty")};for(let s=1;s<=99;s++)Sn[`cv${`00${s}`.slice(-2)}`]=[mr.characterAlternatives.code,s];var xr={};for(let s in Sn){let e=Sn[s];xr[e[0]]==null&&(xr[e[0]]={}),xr[e[0]][e[1]]=s}function qd(s){let e={};for(let t in s){let r;(r=Sn[t])&&(e[r[0]]==null&&(e[r[0]]={}),e[r[0]][r[1]]=s[t])}return e}function gl(s){let[e,t]=s;if(isNaN(e))var r=mr[e]&&mr[e].code;else var r=e;if(isNaN(t))var n=mr[e]&&mr[e][t];else var n=t;return[r,n]}function Yd(s){let e={};if(Array.isArray(s))for(let t=0;t<s.length;t++){let r,n=gl(s[t]);(r=xr[n[0]]&&xr[n[0]][n[1]])&&(e[r]=!0)}else if(typeof s=="object")for(let t in s){let r=s[t];for(let n in r){let a,o=gl([t,n]);r[n]&&(a=xr[o[0]]&&xr[o[0]][o[1]])&&(e[a]=!0)}}return Object.keys(e)}var vr=class{lookup(e){switch(this.table.version){case 0:return this.table.values.getItem(e);case 2:case 4:{let n=0,a=this.table.binarySearchHeader.nUnits-1;for(;n<=a;){var t=n+a>>1,r=this.table.segments[t];if(r.firstGlyph===65535)return null;if(e<r.firstGlyph)a=t-1;else if(e>r.lastGlyph)n=t+1;else return this.table.version===2?r.value:r.values[e-r.firstGlyph]}return null}case 6:{let n=0,a=this.table.binarySearchHeader.nUnits-1;for(;n<=a;){var t=n+a>>1,r=this.table.segments[t];if(r.glyph===65535)return null;if(e<r.glyph)a=t-1;else if(e>r.glyph)n=t+1;else return r.value}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(this.table.version===2&&r.value===e)t.push(...Br(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}};Xe([Ze],vr.prototype,"glyphsForValue",null);var Kd=0;var bl=0,ml=1,xl=2;var Zd=16384,wa=class{process(e,t,r){let n=Kd,a=t?e.length-1:0,o=t?-1:1;for(;o===1&&a<=e.length||o===-1&&a>=-1;){let i=null,l=ml,c=!0;a===e.length||a===-1?l=bl:(i=e[a],i.id===65535?l=xl:(l=this.lookupTable.lookup(i.id),l==null&&(l=ml)));let h=this.stateTable.stateArray.getItem(n)[l],g=this.stateTable.entryTable.getItem(h);l!==bl&&l!==xl&&(r(i,g,a),c=!(g.flags&Zd)),n=g.newState,c&&(a+=o)}return e}traverse(e,t=0,r=new Set){if(r.has(t))return;r.add(t);let{nClasses:n,stateArray:a,entryTable:o}=this.stateTable,i=a.getItem(t);for(let l=4;l<n;l++){let c=i[l],f=o.getItem(c);for(let h of this.lookupTable.glyphsForValue(l))e.enter&&e.enter(h,f),f.newState!==0&&this.traverse(e,f.newState,r),e.exit&&e.exit(h,f)}}constructor(e){this.stateTable=e,this.lookupTable=new vr(e.classTable)}},_d=32768,Jd=8192,Qd=15,vl=32768,$d=32768,e2=8192,t2=2147483648,r2=1073741824,n2=1073741823;var yl=4194304;var s2=2048,a2=1024,o2=992,i2=31,Pn=class{process(e,t={}){for(let n of this.morx.chains){let a=n.defaultFlags;for(let o of n.features){let i;(i=t[o.featureType])&&(i[o.featureSetting]?(a&=o.disableFlags,a|=o.enableFlags):i[o.featureSetting]===!1&&(a|=~o.disableFlags,a&=~o.enableFlags))}for(let o of n.subtables)o.subFeatureFlags&a&&this.processSubtable(o,e)}let r=e.length-1;for(;r>=0;)e[r].id===65535&&e.splice(r,1),r--;return e}processSubtable(e,t){if(this.subtable=e,this.glyphs=t,this.subtable.type===4){this.processNoncontextualSubstitutions(this.subtable,this.glyphs);return}this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let r=this.getStateMachine(e),n=this.getProcessor(),a=!!(this.subtable.coverage&yl);return r.process(this.glyphs,a,n)}getStateMachine(e){return new wa(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){t.flags&_d&&(this.firstGlyph=r),t.flags&Jd&&(this.lastGlyph=r),l2(this.glyphs,t.flags&Qd,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(e,t,r){let n=this.subtable.table.substitutionTable.items;if(t.markIndex!==65535){let o=n.getItem(t.markIndex),i=new vr(o);e=this.glyphs[this.markedGlyph];var a=i.lookup(e.id);a&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(a,e.codePoints))}if(t.currentIndex!==65535){let o=n.getItem(t.currentIndex),i=new vr(o);e=this.glyphs[r];var a=i.lookup(e.id);a&&(this.glyphs[r]=this.font.getGlyph(a,e.codePoints))}t.flags&vl&&(this.markedGlyph=r)}processLigature(e,t,r){if(t.flags&$d&&this.ligatureStack.push(r),t.flags&e2){let n=this.subtable.table.ligatureActions,a=this.subtable.table.components,o=this.subtable.table.ligatureList,i=t.action,l=!1,c=0,f=[],h=[];for(;!l;){let g=this.ligatureStack.pop();f.unshift(...this.glyphs[g].codePoints);let m=n.getItem(i++);l=!!(m&t2);let p=!!(m&r2),b=(m&n2)<<2>>2;b+=this.glyphs[g].id;let y=a.getItem(b);if(c+=y,l||p){let x=o.getItem(c);this.glyphs[g]=this.font.getGlyph(x,f),h.push(g),c=0,f=[]}else this.glyphs[g]=this.font.getGlyph(65535)}this.ligatureStack.push(...h)}}processNoncontextualSubstitutions(e,t,r){let n=new vr(e.table.lookupTable);for(r=0;r<t.length;r++){let a=t[r];if(a.id!==65535){let o=n.lookup(a.id);o&&(t[r]=this.font.getGlyph(o,a.codePoints))}}}_insertGlyphs(e,t,r,n){let a=[];for(;r--;){let o=this.subtable.table.insertionActions.getItem(t++);a.push(this.font.getGlyph(o))}n||e++,this.glyphs.splice(e,0,...a)}processGlyphInsertion(e,t,r){if(t.flags&vl&&(this.markedIndex=r),t.markedInsertIndex!==65535){let n=(t.flags&i2)>>>5,a=!!(t.flags&a2);this._insertGlyphs(this.markedIndex,t.markedInsertIndex,n,a)}if(t.currentInsertIndex!==65535){let n=(t.flags&o2)>>>5,a=!!(t.flags&s2);this._insertGlyphs(r,t.currentInsertIndex,n,a)}}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(e.type!==2)return;if(!!(e.coverage&yl))throw new Error("Reverse subtable, not supported.");this.subtable=e,this.ligatureStack=[];let r=this.getStateMachine(e),n=this.getProcessor(),a=[],o=[];this.glyphs=[],r.traverse({enter:(i,l)=>{let c=this.glyphs;o.push({glyphs:c.slice(),ligatureStack:this.ligatureStack.slice()});let f=this.font.getGlyph(i);a.push(f),c.push(a[a.length-1]),n(c[c.length-1],l,c.length-1);let h=0,g=0;for(let m=0;m<c.length&&h<=1;m++)c[m].id!==65535&&(h++,g=c[m].id);if(h===1){let m=a.map(b=>b.id),p=this.inputCache[g];p?p.push(m):this.inputCache[g]=[m]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=o.pop()),a.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}};Xe([Ze],Pn.prototype,"getStateMachine",null);function nt(s,e,t,r=!1,n=!1){let a=s.splice(t[0]-(t[1]-1),t[1]);n&&a.reverse();let o=s.splice(e[0],e[1],...a);return r&&o.reverse(),s.splice(t[0]-(e[1]-1),0,...o),s}function l2(s,e,t,r){let n=r-t+1;switch(e){case 0:return s;case 1:return nt(s,[t,1],[r,0]);case 2:return nt(s,[t,0],[r,1]);case 3:return nt(s,[t,1],[r,1]);case 4:return nt(s,[t,2],[r,0]);case 5:return nt(s,[t,2],[r,0],!0,!1);case 6:return nt(s,[t,0],[r,2]);case 7:return nt(s,[t,0],[r,2],!1,!0);case 8:return nt(s,[t,1],[r,2]);case 9:return nt(s,[t,1],[r,2],!1,!0);case 10:return nt(s,[t,2],[r,1]);case 11:return nt(s,[t,2],[r,1],!0,!1);case 12:return nt(s,[t,2],[r,2]);case 13:return nt(s,[t,2],[r,2],!0,!1);case 14:return nt(s,[t,2],[r,2],!1,!0);case 15:return nt(s,[t,2],[r,2],!0,!0);default:throw new Error(`Unknown verb: ${e}`)}}var Ca=class{substitute(e){e.direction==="rtl"&&e.glyphs.reverse(),this.morxProcessor.process(e.glyphs,qd(e.features))}getAvailableFeatures(e,t){return Yd(this.morxProcessor.getSupportedFeatures())}stringsForGlyph(e){let t=this.morxProcessor.generateInputs(e),r=new Set;for(let n of t)this._addStrings(n,0,r,"");return r}_addStrings(e,t,r,n){let a=this.font._cmapProcessor.codePointsForGlyph(e[t]);for(let o of a){let i=n+String.fromCodePoint(o);t<e.length-1?this._addStrings(e,t+1,r,i):r.add(i)}}constructor(e){this.font=e,this.morxProcessor=new Pn(e),this.fallbackPosition=!1}},Sa=class{_addFeatures(e,t){let r=this.stages.length-1,n=this.stages[r];for(let a of e)this.allFeatures[a]==null&&(n.push(a),this.allFeatures[a]=r,t&&(this.globalFeatures[a]=!0))}add(e,t=!0){if(this.stages.length===0&&this.stages.push([]),typeof e=="string"&&(e=[e]),Array.isArray(e))this._addFeatures(e,t);else if(typeof e=="object")this._addFeatures(e.global||[],!0),this._addFeatures(e.local||[],!1);else throw new Error("Unsupported argument to ShapingPlan#add")}addStage(e,t){typeof e=="function"?this.stages.push(e,[]):(this.stages.push([]),this.add(e,t))}setFeatureOverrides(e){if(Array.isArray(e))this.add(e);else if(typeof e=="object"){for(let t in e)if(e[t])this.add(t);else if(this.allFeatures[t]!=null){let r=this.stages[this.allFeatures[t]];r.splice(r.indexOf(t),1),delete this.allFeatures[t],delete this.globalFeatures[t]}}}assignGlobalFeatures(e){for(let t of e)for(let r in this.globalFeatures)t.features[r]=!0}process(e,t,r){for(let n of this.stages)typeof n=="function"?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={}}},u2=["rvrn"],c2=["ccmp","locl","rlig","mark","mkmk"],f2=["frac","numr","dnom"],h2=["calt","clig","liga","rclt","curs","kern"];var d2={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]},Dt=class{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:[...u2,...d2[e.direction]],local:f2})}static planFeatures(e){}static planPostprocessing(e,t){e.add([...c2,...h2]),e.setFeatureOverrides(t)}static assignFeatures(e,t){for(let r=0;r<t.length;r++){let n=t[r];if(n.codePoints[0]===8260){let a=r,o=r+1;for(;a>0&&Ds(t[a-1].codePoints[0]);)t[a-1].features.numr=!0,t[a-1].features.frac=!0,a--;for(;o<t.length&&Ds(t[o].codePoints[0]);)t[o].features.dnom=!0,t[o].features.frac=!0,o++;n.features.frac=!0,r=o-1}}}};rt(Dt,"zeroMarkWidths","AFTER_GPOS");var p2=new Dn.default(Qa("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==")),wl=["isol","fina","fin2","fin3","medi","med2","init"],Pa={Non_Joining:0,Left_Joining:1,Right_Joining:2,Dual_Joining:3,Join_Causing:3,ALAPH:4,"DALATH RISH":5,Transparent:6},Fe="isol",Qt="fina",na="fin2",g2="fin3",on="medi",ln="med2",un="init",me=null,b2=[[[me,me,0],[me,Fe,2],[me,Fe,1],[me,Fe,2],[me,Fe,1],[me,Fe,6]],[[me,me,0],[me,Fe,2],[me,Fe,1],[me,Fe,2],[me,na,5],[me,Fe,6]],[[me,me,0],[me,Fe,2],[un,Qt,1],[un,Qt,3],[un,Qt,4],[un,Qt,6]],[[me,me,0],[me,Fe,2],[on,Qt,1],[on,Qt,3],[on,Qt,4],[on,Qt,6]],[[me,me,0],[me,Fe,2],[ln,Fe,1],[ln,Fe,2],[ln,na,5],[ln,Fe,6]],[[me,me,0],[me,Fe,2],[Fe,Fe,1],[Fe,Fe,2],[Fe,na,5],[Fe,Fe,6]],[[me,me,0],[me,Fe,2],[me,Fe,1],[me,Fe,2],[me,g2,5],[me,Fe,6]]],Lt=class extends Dt{static planFeatures(e){e.add(["ccmp","locl"]);for(let t=0;t<wl.length;t++){let r=wl[t];e.addStage(r,!1)}e.addStage("mset")}static assignFeatures(e,t){super.assignFeatures(e,t);let r=-1,n=0,a=[];for(let i=0;i<t.length;i++){let l,c;var o=t[i];let f=m2(o.codePoints[0]);if(f===Pa.Transparent){a[i]=me;continue}[c,l,n]=b2[n][f],c!==me&&r!==-1&&(a[r]=c),a[i]=l,r=i}for(let i=0;i<t.length;i++){let l;var o=t[i];(l=a[i])&&(o.features[l]=!0)}}};function m2(s){let e=p2.get(s);if(e)return e-1;let t=a0(s);return t==="Mn"||t==="Me"||t==="Cf"?Pa.Transparent:Pa.Non_Joining}var Aa=class{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)}},x2=["DFLT","dflt","latn"],zr=class{findScript(e){if(this.table.scriptList==null)return null;Array.isArray(e)||(e=[e]);for(let t of e)for(let r of this.table.scriptList)if(r.tag===t)return r;return null}selectScript(e,t,r){let n=!1,a;if(!this.script||e!==this.scriptTag){if(a=this.findScript(e),a||(a=this.findScript(x2)),!a)return this.scriptTag;this.scriptTag=a.tag,this.script=a.script,this.language=null,this.languageTag=null,n=!0}if((!r||r!==this.direction)&&(this.direction=r||lu(e)),t&&t.length<4&&(t+=" ".repeat(4-t.length)),!t||t!==this.languageTag){this.language=null;for(let o of this.script.langSysRecords)if(o.tag===t){this.language=o.langSys,this.languageTag=o.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),n=!0}if(n&&(this.features={},this.language))for(let o of this.language.featureIndexes){let i=this.table.featureList[o],l=this.substituteFeatureForVariations(o);this.features[i.tag]=l||i.feature}return this.scriptTag}lookupsForFeatures(e=[],t){let r=[];for(let n of e){let a=this.features[n];if(a)for(let o of a.lookupListIndexes)t&&t.indexOf(o)!==-1||r.push({feature:n,index:o,lookup:this.table.lookupList.get(o)})}return r.sort((n,a)=>n.index-a.index),r}substituteFeatureForVariations(e){if(this.variationsIndex===-1)return null;let r=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions;for(let n of r)if(n.featureIndex===e)return n.alternateFeatureTable;return null}findVariationsIndex(e){let t=this.table.featureVariations;if(!t)return-1;let r=t.featureVariationRecords;for(let n=0;n<r.length;n++){let a=r[n].conditionSet.conditionTable;if(this.variationConditionsMatch(a,e))return n}return-1}variationConditionsMatch(e,t){return e.every(r=>{let n=r.axisIndex<t.length?t[r.axisIndex]:0;return r.filterRangeMinValue<=n&&n<=r.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 Aa(t);for(let{feature:n,lookup:a}of e)for(this.currentFeature=n,this.glyphIterator.reset(a.flags);this.glyphIterator.index<t.length;){if(!(n in this.glyphIterator.cur.features)){this.glyphIterator.next();continue}for(let o of a.subTables)if(this.applyLookup(a.lookupType,o))break;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 a=this.table.lookupList.get(n.lookupListIndex);this.glyphIterator.reset(a.flags,this.glyphIterator.index);for(let o of a.subTables)if(this.applyLookup(a.lookupType,o))break}return this.glyphIterator.reset(t,r),!0}coverageIndex(e,t){switch(t==null&&(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;break}return-1}match(e,t,r,n){let a=this.glyphIterator.index,o=this.glyphIterator.increment(e),i=0;for(;i<t.length&&o&&r(t[i],o);)n&&n.push(this.glyphIterator.index),i++,o=this.glyphIterator.next();return this.glyphIterator.index=a,i<t.length?!1:n||!0}sequenceMatches(e,t){return this.match(e,t,(r,n)=>r===n.id)}sequenceMatchIndices(e,t){return this.match(e,t,(r,n)=>this.currentFeature in n.features?r===n.id:!1,[])}coverageSequenceMatches(e,t){return this.match(e,t,(r,n)=>this.coverageIndex(r,n.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 n of t.classRangeRecord)if(n.start<=e&&e<=n.end)return n.class;break}return 0}classSequenceMatches(e,t,r){return this.match(e,t,(n,a)=>n===this.getClassID(a.id,r))}applyContext(e){let t,r;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),t===-1)return!1;r=e.ruleSets[t];for(let n of r)if(this.sequenceMatches(1,n.input))return this.applyLookupList(n.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1||(t=this.getClassID(this.glyphIterator.cur.id,e.classDef),t===-1))return!1;r=e.classSet[t];for(let n of r)if(this.classSequenceMatches(1,n.classes,e.classDef))return this.applyLookupList(n.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,e.coverages))return this.applyLookupList(e.lookupRecords);break}return!1}applyChainingContext(e){let t;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),t===-1)return!1;let r=e.chainRuleSets[t];for(let a of r)if(this.sequenceMatches(-a.backtrack.length,a.backtrack)&&this.sequenceMatches(1,a.input)&&this.sequenceMatches(1+a.input.length,a.lookahead))return this.applyLookupList(a.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1)return!1;t=this.getClassID(this.glyphIterator.cur.id,e.inputClassDef);let n=e.chainClassSet[t];if(!n)return!1;for(let a of n)if(this.classSequenceMatches(-a.backtrack.length,a.backtrack,e.backtrackClassDef)&&this.classSequenceMatches(1,a.input,e.inputClassDef)&&this.classSequenceMatches(1+a.input.length,a.lookahead,e.lookaheadClassDef))return this.applyLookupList(a.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);break}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}},wt=class s{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=zr.prototype.getClassID(e,t.glyphClassDef);this.isBase=r===1,this.isLigature=r===2,this.isMark=r===3,this.markAttachmentType=t.markAttachClassDef?zr.prototype.getClassID(e,t.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(Bs),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new s(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 a=0;a<n.length;a++){let o=n[a];this.features[o]=!0}else typeof n=="object"&&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}},An=class extends Dt{static planFeatures(e){e.add(["ljmo","vjmo","tjmo"],!1)}static assignFeatures(e,t){let r=0,n=0;for(;n<t.length;){let a,i=t[n].codePoints[0],l=Fn(i);switch([a,r]=U2[r][l],a){case Gt:e.font.hasGlyphForCodePoint(i)||(n=fu(t,n,e.font));break;case Ea:n=R2(t,n,e.font);break;case Ta:N2(t,n,e.font);break;case ka:n=z2(t,n,e.font);break}n++}}};rt(An,"zeroMarkWidths","NONE");var Vr=44032,uu=55204,v2=uu-Vr+1,Gn=4352,Nn=4449,tr=4519,y2=19,En=21,v0=28,w2=Gn+y2-1,C2=Nn+En-1,S2=tr+v0-1,Cl=9676,P2=s=>4352<=s&&s<=4447||43360<=s&&s<=43388,A2=s=>4448<=s&&s<=4519||55216<=s&&s<=55238,E2=s=>4520<=s&&s<=4607||55243<=s&&s<=55291,T2=s=>12334<=s&&s<=12335,k2=s=>Vr<=s&&s<=uu,F2=s=>s-Vr<v2&&(s-Vr)%v0===0,I2=s=>Gn<=s&&s<=w2,O2=s=>Nn<=s&&s<=C2,L2=s=>tr+1&&1<=s&&s<=S2,M2=0,D2=1,Tn=2,$a=3,kn=4,cu=5,B2=6;function Fn(s){return P2(s)?D2:A2(s)?Tn:E2(s)?$a:F2(s)?kn:k2(s)?cu:T2(s)?B2:M2}var lt=0,Gt=1,Ea=2,Ta=4,ka=5,U2=[[[lt,0],[lt,1],[lt,0],[lt,0],[Gt,2],[Gt,3],[ka,0]],[[lt,0],[lt,1],[Ea,2],[lt,0],[Gt,2],[Gt,3],[ka,0]],[[lt,0],[lt,1],[lt,0],[Ea,3],[Gt,2],[Gt,3],[Ta,0]],[[lt,0],[lt,1],[lt,0],[lt,0],[Gt,2],[Gt,3],[Ta,0]]];function d0(s,e,t){return new wt(s,s.glyphForCodePoint(e).id,[e],t)}function fu(s,e,t){let r=s[e],a=r.codePoints[0]-Vr,o=tr+a%v0;a=a/v0|0;let i=Gn+a/En|0,l=Nn+a%En;if(!t.hasGlyphForCodePoint(i)||!t.hasGlyphForCodePoint(l)||o!==tr&&!t.hasGlyphForCodePoint(o))return e;let c=d0(t,i,r.features);c.features.ljmo=!0;let f=d0(t,l,r.features);f.features.vjmo=!0;let h=[c,f];if(o>tr){let g=d0(t,o,r.features);g.features.tjmo=!0,h.push(g)}return s.splice(e,1,...h),e+h.length-1}function R2(s,e,t){let r=s[e],n=s[e].codePoints[0],a=Fn(n),o=s[e-1].codePoints[0],i=Fn(o),l,c,f,h;if(i===kn&&a===$a)l=o,h=r;else{a===Tn?(c=s[e-1],f=r):(c=s[e-2],f=s[e-1],h=r);let m=c.codePoints[0],p=f.codePoints[0];I2(m)&&O2(p)&&(l=Vr+((m-Gn)*En+(p-Nn))*v0)}let g=h&&h.codePoints[0]||tr;if(l!=null&&(g===tr||L2(g))){let m=l+(g-tr);if(t.hasGlyphForCodePoint(m)){let p=i===Tn?3:2;return s.splice(e-p+1,p,d0(t,m,r.features)),e-p+1}}return c&&(c.features.ljmo=!0),f&&(f.features.vjmo=!0),h&&(h.features.tjmo=!0),i===kn?(fu(s,e-1,t),e+1):e}function G2(s){switch(Fn(s)){case kn:case cu:return 1;case Tn:return 2;case $a:return 3}}function N2(s,e,t){let r=s[e],n=s[e].codePoints[0];if(t.glyphForCodePoint(n).advanceWidth===0)return;let a=s[e-1].codePoints[0],o=G2(a);return s.splice(e,1),s.splice(e-o,0,r)}function z2(s,e,t){let r=s[e],n=s[e].codePoints[0];if(t.hasGlyphForCodePoint(Cl)){let a=d0(t,Cl,r.features),o=t.glyphForCodePoint(n).advanceWidth===0?e:e+1;s.splice(o,0,a),e++}return e}var hu={};hu=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 zn={};zn=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"]]}');var he={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,SM:256,VD:512,A:1024,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:131072,Symbol:262144},ee={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,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},V2=he.C|he.Ra|he.CM|he.V|he.Placeholder|he.Dotted_Circle,du=he.ZWJ|he.ZWNJ,p0=he.H|he.Coeng,Sl={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:ee.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:ee.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:ee.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:ee.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:ee.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:ee.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:ee.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:ee.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:ee.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:ee.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:ee.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},j2={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:W2}=Bn(zn),pu=new Dn.default(Qa("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")),X2=new Ka.default(Bn(hu)),Ue=class extends Dt{static planFeatures(e){e.addStage(H2),e.addStage(["locl","ccmp"]),e.addStage(Y2),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(K2),e.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),e.unicodeScript=jd(e.script),e.indicConfig=Sl[e.unicodeScript]||Sl.Default,e.isOldSpec=e.indicConfig.hasOldSpec&&e.script[e.script.length-1]!=="2"}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let n=t[r].codePoints[0],a=j2[n]||W2[n];if(a){let o=a.map(i=>{let l=e.font.glyphForCodePoint(i);return new wt(e.font,l.id,[i],t[r].features)});t.splice(r,1,...o)}}}};rt(Ue,"zeroMarkWidths","NONE");function Fa(s){return pu.get(s.codePoints[0])>>8}function gu(s){return 1<<(pu.get(s.codePoints[0])&255)}var Rr=class{constructor(e,t,r,n){this.category=e,this.position=t,this.syllableType=r,this.syllable=n}};function H2(s,e){let t=0,r=0;for(let[n,a,o]of X2.match(e.map(Fa))){if(n>r){++t;for(let i=r;i<n;i++)e[i].shaperInfo=new Rr(he.X,ee.End,"non_indic_cluster",t)}++t;for(let i=n;i<=a;i++)e[i].shaperInfo=new Rr(1<<Fa(e[i]),gu(e[i]),o[0],t);r=a+1}if(r<e.length){++t;for(let n=r;n<e.length;n++)e[n].shaperInfo=new Rr(he.X,ee.End,"non_indic_cluster",t)}}function br(s){return s.shaperInfo.category&V2}function Mt(s){return s.shaperInfo.category&du}function Rt(s){return s.shaperInfo.category&p0}function zt(s,e){for(let r of s)r.features={[e]:!0};return s[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([e],s),s.length===1}function q2(s,e,t){let r=[t,e,t];return zt(r.slice(0,2),"blwf")||zt(r.slice(1,3),"blwf")?ee.Below_C:zt(r.slice(0,2),"pstf")||zt(r.slice(1,3),"pstf")||zt(r.slice(0,2),"pref")||zt(r.slice(1,3),"pref")?ee.Post_C:ee.Base_C}function Y2(s,e,t){let r=t.indicConfig,n=s._layoutEngine.engine.GSUBProcessor.features,a=s.glyphForCodePoint(9676).id,o=s.glyphForCodePoint(r.virama).id;if(o){let i=new wt(s,o,[r.virama]);for(let l=0;l<e.length;l++)e[l].shaperInfo.position===ee.Base_C&&(e[l].shaperInfo.position=q2(s,e[l].copy(),i))}for(let i=0,l=In(e,0);i<e.length;i=l,l=In(e,i)){let{category:c,syllableType:f}=e[i].shaperInfo;if(f==="symbol_cluster"||f==="non_indic_cluster")continue;if(f==="broken_cluster"&&a){let d=new wt(s,a,[9676]);d.shaperInfo=new Rr(1<<Fa(d),gu(d),e[i].shaperInfo.syllableType,e[i].shaperInfo.syllable);let S=i;for(;S<l&&e[S].shaperInfo.category===he.Repha;)S++;e.splice(S++,0,d),l++}let h=l,g=i,m=!1;if(r.rephPos!==ee.Ra_To_Become_Reph&&n.rphf&&i+3<=l&&(r.rephMode==="Implicit"&&!Mt(e[i+2])||r.rephMode==="Explicit"&&e[i+2].shaperInfo.category===he.ZWJ)){let d=[e[i].copy(),e[i+1].copy(),e[i+2].copy()];if(zt(d.slice(0,2),"rphf")||r.rephMode==="Explicit"&&zt(d,"rphf")){for(g+=2;g<l&&Mt(e[g]);)g++;h=i,m=!0}}else if(r.rephMode==="Log_Repha"&&e[i].shaperInfo.category===he.Repha){for(g++;g<l&&Mt(e[g]);)g++;h=i,m=!0}switch(r.basePos){case"Last":{let d=l,S=!1;do{let E=e[--d].shaperInfo;if(br(e[d])){if(E.position!==ee.Below_C&&(E.position!==ee.Post_C||S)){h=d;break}E.position===ee.Below_C&&(S=!0),h=d}else if(i<d&&E.category===he.ZWJ&&e[d-1].shaperInfo.category===he.H)break}while(d>g);break}case"First":h=i;for(let d=h+1;d<l;d++)br(e[d])&&(e[d].shaperInfo.position=ee.Below_C)}m&&h===i&&g-h<=2&&(m=!1);for(let d=i;d<h;d++){let S=e[d].shaperInfo;S.position=Math.min(ee.Pre_C,S.position)}h<l&&(e[h].shaperInfo.position=ee.Base_C);for(let d=h+1;d<l;d++)if(e[d].shaperInfo.category===he.M){for(let S=d+1;S<l;S++)if(br(e[S])){e[S].shaperInfo.position=ee.Final_C;break}break}if(m&&(e[i].shaperInfo.position=ee.Ra_To_Become_Reph),t.isOldSpec){let d=t.unicodeScript!=="Malayalam";for(let S=h+1;S<l;S++)if(e[S].shaperInfo.category===he.H){let E;for(E=l-1;E>S&&!(br(e[E])||d&&e[E].shaperInfo.category===he.H);E--);if(e[E].shaperInfo.category!==he.H&&E>S){let k=e[S];e.splice(S,0,...e.splice(S+1,E-S)),e[E]=k}break}}let p=ee.Start;for(let d=i;d<l;d++){let S=e[d].shaperInfo;if(S.category&(du|he.N|he.RS|he.CM|p0&S.category)){if(S.position=p,S.category===he.H&&S.position===ee.Pre_M){for(let E=d;E>i;E--)if(e[E-1].shaperInfo.position!==ee.Pre_M){S.position=e[E-1].shaperInfo.position;break}}}else S.position!==ee.SMVD&&(p=S.position)}let b=h;for(let d=h+1;d<l;d++)if(br(e[d])){for(let S=b+1;S<d;S++)e[S].shaperInfo.position<ee.SMVD&&(e[S].shaperInfo.position=e[d].shaperInfo.position);b=d}else e[d].shaperInfo.category===he.M&&(b=d);let y=e.slice(i,l);y.sort((d,S)=>d.shaperInfo.position-S.shaperInfo.position),e.splice(i,y.length,...y);for(let d=i;d<l;d++)if(e[d].shaperInfo.position===ee.Base_C){h=d;break}for(let d=i;d<l&&e[d].shaperInfo.position===ee.Ra_To_Become_Reph;d++)e[d].features.rphf=!0;let x=!t.isOldSpec&&r.blwfMode==="Pre_And_Post";for(let d=i;d<h;d++)e[d].features.half=!0,x&&(e[d].features.blwf=!0);for(let d=h+1;d<l;d++)e[d].features.abvf=!0,e[d].features.pstf=!0,e[d].features.blwf=!0;if(t.isOldSpec&&t.unicodeScript==="Devanagari")for(let d=i;d+1<h;d++)e[d].shaperInfo.category===he.Ra&&e[d+1].shaperInfo.category===he.H&&(d+1===h||e[d+2].shaperInfo.category===he.ZWJ)&&(e[d].features.blwf=!0,e[d+1].features.blwf=!0);let v=2;if(n.pref&&h+v<l)for(let d=h+1;d+v-1<l;d++){let S=[e[d].copy(),e[d+1].copy()];if(zt(S,"pref")){for(let E=0;E<v;E++)e[d++].features.pref=!0;if(n.cfar)for(;d<l;d++)e[d].features.cfar=!0;break}}for(let d=i+1;d<l;d++)if(Mt(e[d])){let S=e[d].shaperInfo.category===he.ZWNJ,E=d;do E--,S&&delete e[E].features.half;while(E>i&&!br(e[E]))}}}function K2(s,e,t){let r=t.indicConfig,n=s._layoutEngine.engine.GSUBProcessor.features;for(let a=0,o=In(e,0);a<e.length;a=o,o=In(e,a)){let i=!!n.pref,l=a;for(;l<o;l++)if(e[l].shaperInfo.position>=ee.Base_C){if(i&&l+1<o){for(let c=l+1;c<o;c++)if(e[c].features.pref){if(!(e[c].substituted&&e[c].isLigated&&!e[c].isMultiplied)){for(l=c;l<o&&Rt(e[l]);)l++;e[l].shaperInfo.position=ee.BASE_C,i=!1}break}}if(t.unicodeScript==="Malayalam")for(let c=l+1;c<o;c++){for(;c<o&&Mt(e[c]);)c++;if(c===o||!Rt(e[c]))break;for(c++;c<o&&Mt(e[c]);)c++;c<o&&br(e[c])&&e[c].shaperInfo.position===ee.Below_C&&(l=c,e[l].shaperInfo.position=ee.Base_C)}a<l&&e[l].shaperInfo.position>ee.Base_C&&l--;break}if(l===o&&a<l&&e[l-1].shaperInfo.category===he.ZWJ&&l--,l<o)for(;a<l&&e[l].shaperInfo.category&(he.N|p0);)l--;if(a+1<o&&a<l){let c=l===o?l-2:l-1;if(t.unicodeScript!=="Malayalam"&&t.unicodeScript!=="Tamil"){for(;c>a&&!(e[c].shaperInfo.category&(he.M|p0));)c--;Rt(e[c])&&e[c].shaperInfo.position!==ee.Pre_M?c+1<o&&Mt(e[c+1])&&c++:c=a}if(a<c&&e[c].shaperInfo.position!==ee.Pre_M){for(let f=c;f>a;f--)if(e[f-1].shaperInfo.position===ee.Pre_M){let h=f-1;h<l&&l<=c&&l--;let g=e[h];e.splice(h,0,...e.splice(h+1,c-h)),e[c]=g,c--}}}if(a+1<o&&e[a].shaperInfo.position===ee.Ra_To_Become_Reph&&e[a].shaperInfo.category===he.Repha!==(e[a].isLigated&&!e[a].isMultiplied)){let c,f=r.rephPos,h=!1;if(f!==ee.After_Post){for(c=a+1;c<l&&!Rt(e[c]);)c++;if(c<l&&Rt(e[c])&&(c+1<l&&Mt(e[c+1])&&c++,h=!0),!h&&f===ee.After_Main){for(c=l;c+1<o&&e[c+1].shaperInfo.position<=ee.After_Main;)c++;h=c<o}if(!h&&f===ee.After_Sub){for(c=l;c+1<o&&!(e[c+1].shaperInfo.position&(ee.Post_C|ee.After_Post|ee.SMVD));)c++;h=c<o}}if(!h){for(c=a+1;c<l&&!Rt(e[c]);)c++;c<l&&Rt(e[c])&&(c+1<l&&Mt(e[c+1])&&c++,h=!0)}if(!h){for(c=o-1;c>a&&e[c].shaperInfo.position===ee.SMVD;)c--;if(Rt(e[c]))for(let m=l+1;m<c;m++)e[m].shaperInfo.category===he.M&&c--}let g=e[a];e.splice(a,0,...e.splice(a+1,c-a)),e[c]=g,a<l&&l<=c&&l--}if(i&&l+1<o){for(let c=l+1;c<o;c++)if(e[c].features.pref){if(e[c].isLigated&&!e[c].isMultiplied){let f=l;if(t.unicodeScript!=="Malayalam"&&t.unicodeScript!=="Tamil"){for(;f>a&&!(e[f-1].shaperInfo.category&(he.M|p0));)f--;if(f>a&&e[f-1].shaperInfo.category===he.M){let m=c;for(let p=l+1;p<m;p++)if(e[p].shaperInfo.category===he.M){f--;break}}}f>a&&Rt(e[f-1])&&f<o&&Mt(e[f])&&f++;let h=c,g=e[h];e.splice(f+1,0,...e.splice(f,h-f)),e[f]=g,f<=l&&l<h&&l++}break}}e[a].shaperInfo.position===ee.Pre_M&&(!a||!/Cf|Mn/.test(a0(e[a-1].codePoints[0])))&&(e[a].features.init=!0)}}function In(s,e){if(e>=s.length)return e;let t=s[e].shaperInfo.syllable;for(;++e<s.length&&s[e].shaperInfo.syllable===t;);return e}var{categories:Z2,decompositions:Pl}=Bn(zn),_2=new Dn.default(Qa("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")),J2=new Ka.default(Bn(zn)),ce=class extends Dt{static planFeatures(e){e.addStage(Q2),e.addStage(["locl","ccmp","nukt","akhn"]),e.addStage(El),e.addStage(["rphf"],!1),e.addStage($2),e.addStage(El),e.addStage(["pref"]),e.addStage(ep),e.addStage(["rkrf","abvf","blwf","half","pstf","vatu","cjct"]),e.addStage(tp),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(Pl[n]){let a=Pl[n].map(o=>{let i=e.font.glyphForCodePoint(o);return new wt(e.font,i.id,[o],t[r].features)});t.splice(r,1,...a)}}}};rt(ce,"zeroMarkWidths","BEFORE_GPOS");function Al(s){return _2.get(s.codePoints[0])}var Ia=class{constructor(e,t,r){this.category=e,this.syllableType=t,this.syllable=r}};function Q2(s,e){let t=0;for(let[r,n,a]of J2.match(e.map(Al))){++t;for(let i=r;i<=n;i++)e[i].shaperInfo=new Ia(Z2[Al(e[i])],a[0],t);let o=e[r].shaperInfo.category==="R"?1:Math.min(3,n-r);for(let i=r;i<r+o;i++)e[i].features.rphf=!0}}function El(s,e){for(let t of e)t.substituted=!1}function $2(s,e){for(let t of e)t.substituted&&t.features.rphf&&(t.shaperInfo.category="R")}function ep(s,e){for(let t of e)t.substituted&&(t.shaperInfo.category="VPre")}function tp(s,e){let t=s.glyphForCodePoint(9676).id;for(let r=0,n=Tl(e,0);r<e.length;r=n,n=Tl(e,r)){let a,o,i=e[r].shaperInfo,l=i.syllableType;if(!(l!=="virama_terminated_cluster"&&l!=="standard_cluster"&&l!=="broken_cluster")){if(l==="broken_cluster"&&t){let c=new wt(s,t,[9676]);for(c.shaperInfo=i,a=r;a<n&&e[a].shaperInfo.category==="R";a++);e.splice(++a,0,c),n++}if(i.category==="R"&&n-r>1){for(a=r+1;a<n;a++)if(i=e[a].shaperInfo,kl(i)||cn(e[a])){cn(e[a])&&a--,e.splice(r,0,...e.splice(r+1,a-r),e[a]);break}}for(a=r,o=n;a<n;a++)i=e[a].shaperInfo,kl(i)||cn(e[a])?o=cn(e[a])?a+1:a:(i.category==="VPre"||i.category==="VMPre")&&o<a&&e.splice(o,1,e[a],...e.splice(o,a-o))}}}function Tl(s,e){if(e>=s.length)return e;let t=s[e].shaperInfo.syllable;for(;++e<s.length&&s[e].shaperInfo.syllable===t;);return e}function cn(s){return s.shaperInfo.category==="H"&&!s.isLigated}function kl(s){return s.category==="B"||s.category==="GB"}var rp={arab:Lt,mong:Lt,syrc:Lt,"nko ":Lt,phag:Lt,mand:Lt,mani:Lt,phlp:Lt,hang:An,bng2:Ue,beng:Ue,dev2:Ue,deva:Ue,gjr2:Ue,gujr:Ue,guru:Ue,gur2:Ue,knda:Ue,knd2:Ue,mlm2:Ue,mlym:Ue,ory2:Ue,orya:Ue,taml:Ue,tml2:Ue,telu:Ue,tel2:Ue,khmr:Ue,bali:ce,batk:ce,brah:ce,bugi:ce,buhd:ce,cakm:ce,cham:ce,dupl:ce,egyp:ce,gran:ce,hano:ce,java:ce,kthi:ce,kali:ce,khar:ce,khoj:ce,sind:ce,lepc:ce,limb:ce,mahj:ce,mtei:ce,modi:ce,hmng:ce,rjng:ce,saur:ce,shrd:ce,sidd:ce,sinh:Ue,sund:ce,sylo:ce,tglg:ce,tagb:ce,tale:ce,lana:ce,tavt:ce,takr:ce,tibt:ce,tfng:ce,tirh:ce,latn:Dt,DFLT:Dt};function np(s){Array.isArray(s)||(s=[s]);for(let e of s){let t=rp[e];if(t)return t}return Dt}var Oa=class extends zr{applyLookup(e,t){switch(e){case 1:{let n=this.coverageIndex(t.coverage);if(n===-1)return!1;let a=this.glyphIterator.cur;switch(t.version){case 1:a.id=a.id+t.deltaGlyphID&65535;break;case 2:a.id=t.substitute.get(n);break}return!0}case 2:{let n=this.coverageIndex(t.coverage);if(n!==-1){let a=t.sequences.get(n);if(a.length===0)return this.glyphs.splice(this.glyphIterator.index,1),!0;this.glyphIterator.cur.id=a[0],this.glyphIterator.cur.ligatureComponent=0;let o=this.glyphIterator.cur.features,i=this.glyphIterator.cur,l=a.slice(1).map((c,f)=>{let h=new wt(this.font,c,void 0,o);return h.shaperInfo=i.shaperInfo,h.isLigated=i.isLigated,h.ligatureComponent=f+1,h.substituted=!0,h.isMultiplied=!0,h});return this.glyphs.splice(this.glyphIterator.index+1,0,...l),!0}return!1}case 3:{let n=this.coverageIndex(t.coverage);if(n!==-1){let a=0;return this.glyphIterator.cur.id=t.alternateSet.get(n)[a],!0}return!1}case 4:{let n=this.coverageIndex(t.coverage);if(n===-1)return!1;for(let a of t.ligatureSets.get(n)){let o=this.sequenceMatchIndices(1,a.components);if(!o)continue;let i=this.glyphIterator.cur,l=i.codePoints.slice();for(let b of o)l.push(...this.glyphs[b].codePoints);let c=new wt(this.font,a.glyph,l,i.features);c.shaperInfo=i.shaperInfo,c.isLigated=!0,c.substituted=!0;let f=i.isMark;for(let b=0;b<o.length&&f;b++)f=this.glyphs[o[b]].isMark;c.ligatureID=f?null:this.ligatureID++;let h=i.ligatureID,g=i.codePoints.length,m=g,p=this.glyphIterator.index+1;for(let b of o){if(f)p=b;else for(;p<b;){var r=m-g+Math.min(this.glyphs[p].ligatureComponent||1,g);this.glyphs[p].ligatureID=c.ligatureID,this.glyphs[p].ligatureComponent=r,p++}h=this.glyphs[p].ligatureID,g=this.glyphs[p].codePoints.length,m+=g,p++}if(h&&!f)for(let b=p;b<this.glyphs.length&&this.glyphs[b].ligatureID===h;b++){var r=m-g+Math.min(this.glyphs[b].ligatureComponent||1,g);this.glyphs[b].ligatureComponent=r}for(let b=o.length-1;b>=0;b--)this.glyphs.splice(o[b],1);return this.glyphs[this.glyphIterator.index]=c,!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`)}}},La=class extends zr{applyPositionValue(e,t){let r=this.positions[this.glyphIterator.peekIndex(e)];t.xAdvance!=null&&(r.xAdvance+=t.xAdvance),t.yAdvance!=null&&(r.yAdvance+=t.yAdvance),t.xPlacement!=null&&(r.xOffset+=t.xPlacement),t.yPlacement!=null&&(r.yOffset+=t.yPlacement);let n=this.font._variationProcessor,a=this.font.GDEF&&this.font.GDEF.itemVariationStore;n&&a&&(t.xPlaDevice&&(r.xOffset+=n.getDelta(a,t.xPlaDevice.a,t.xPlaDevice.b)),t.yPlaDevice&&(r.yOffset+=n.getDelta(a,t.yPlaDevice.a,t.yPlaDevice.b)),t.xAdvDevice&&(r.xAdvance+=n.getDelta(a,t.xAdvDevice.a,t.xAdvDevice.b)),t.yAdvDevice&&(r.yAdvance+=n.getDelta(a,t.yAdvDevice.a,t.yAdvDevice.b)))}applyLookup(e,t){switch(e){case 1:{let n=this.coverageIndex(t.coverage);if(n===-1)return!1;switch(t.version){case 1:this.applyPositionValue(0,t.value);break;case 2:this.applyPositionValue(0,t.values.get(n));break}return!0}case 2:{let n=this.glyphIterator.peek();if(!n)return!1;let a=this.coverageIndex(t.coverage);if(a===-1)return!1;switch(t.version){case 1:let o=t.pairSets.get(a);for(let c of o)if(c.secondGlyph===n.id)return this.applyPositionValue(0,c.value1),this.applyPositionValue(1,c.value2),!0;return!1;case 2:let i=this.getClassID(this.glyphIterator.cur.id,t.classDef1),l=this.getClassID(n.id,t.classDef2);if(i===-1||l===-1)return!1;var r=t.classRecords.get(i).get(l);return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0}}case 3:{let n=this.glyphIterator.peekIndex(),a=this.glyphs[n];if(!a)return!1;let o=t.entryExitRecords[this.coverageIndex(t.coverage)];if(!o||!o.exitAnchor)return!1;let i=t.entryExitRecords[this.coverageIndex(t.coverage,a.id)];if(!i||!i.entryAnchor)return!1;let l=this.getAnchor(i.entryAnchor),c=this.getAnchor(o.exitAnchor),f=this.positions[this.glyphIterator.index],h=this.positions[n],g;switch(this.direction){case"ltr":f.xAdvance=c.x+f.xOffset,g=l.x+h.xOffset,h.xAdvance-=g,h.xOffset-=g;break;case"rtl":g=c.x+f.xOffset,f.xAdvance-=g,f.xOffset-=g,h.xAdvance=l.x+h.xOffset;break}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=n,f.yOffset=l.y-c.y):(a.cursiveAttachment=this.glyphIterator.index,f.yOffset=c.y-l.y),!0}case 4:{let n=this.coverageIndex(t.markCoverage);if(n===-1)return!1;let a=this.glyphIterator.index;for(;--a>=0&&(this.glyphs[a].isMark||this.glyphs[a].ligatureComponent>0););if(a<0)return!1;let o=this.coverageIndex(t.baseCoverage,this.glyphs[a].id);if(o===-1)return!1;let i=t.markArray[n],l=t.baseArray[o][i.class];return this.applyAnchor(i,l,a),!0}case 5:{let n=this.coverageIndex(t.markCoverage);if(n===-1)return!1;let a=this.glyphIterator.index;for(;--a>=0&&this.glyphs[a].isMark;);if(a<0)return!1;let o=this.coverageIndex(t.ligatureCoverage,this.glyphs[a].id);if(o===-1)return!1;let i=t.ligatureArray[o],l=this.glyphIterator.cur,c=this.glyphs[a],f=c.ligatureID&&c.ligatureID===l.ligatureID&&l.ligatureComponent>0?Math.min(l.ligatureComponent,c.codePoints.length)-1:c.codePoints.length-1,h=t.markArray[n],g=i[f][h.class];return this.applyAnchor(h,g,a),!0}case 6:{let n=this.coverageIndex(t.mark1Coverage);if(n===-1)return!1;let a=this.glyphIterator.peekIndex(-1),o=this.glyphs[a];if(!o||!o.isMark)return!1;let i=this.glyphIterator.cur,l=!1;if(i.ligatureID===o.ligatureID?i.ligatureID?i.ligatureComponent===o.ligatureComponent&&(l=!0):l=!0:(i.ligatureID&&!i.ligatureComponent||o.ligatureID&&!o.ligatureComponent)&&(l=!0),!l)return!1;let c=this.coverageIndex(t.mark2Coverage,o.id);if(c===-1)return!1;let f=t.mark1Array[n],h=t.mark2Array[c][f.class];return this.applyAnchor(f,h,a),!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),a=this.getAnchor(e.markAnchor),o=this.positions[r],i=this.positions[this.glyphIterator.index];i.xOffset=n.x-a.x,i.yOffset=n.y-a.y,this.glyphIterator.cur.markAttachment=r}getAnchor(e){let t=e.xCoordinate,r=e.yCoordinate,n=this.font._variationProcessor,a=this.font.GDEF&&this.font.GDEF.itemVariationStore;return n&&a&&(e.xDeviceTable&&(t+=n.getDelta(a,e.xDeviceTable.a,e.xDeviceTable.b)),e.yDeviceTable&&(r+=n.getDelta(a,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(t.cursiveAttachment!=null){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(t.markAttachment!=null){let r=t.markAttachment;if(this.positions[e].xOffset+=this.positions[r].xOffset,this.positions[e].yOffset+=this.positions[r].yOffset,this.direction==="ltr")for(let n=r;n<e;n++)this.positions[e].xOffset-=this.positions[n].xAdvance,this.positions[e].yOffset-=this.positions[n].yAdvance;else for(let n=r+1;n<e+1;n++)this.positions[e].xOffset+=this.positions[n].xAdvance,this.positions[e].yOffset+=this.positions[n].yAdvance}}}},Ma=class{setup(e){this.glyphInfos=e.glyphs.map(r=>new wt(this.font,r.id,[...r.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=np(t),this.plan=new Sa(this.font,t,e.direction),this.shaper.plan(this.plan,this.glyphInfos,e.features);for(let r in this.plan.allFeatures)e.features[r]=!0}substitute(e){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),e.glyphs=this.glyphInfos.map(t=>this.font.getGlyph(t.id,t.codePoints)))}position(e){return this.shaper.zeroMarkWidths==="BEFORE_GPOS"&&this.zeroMarkAdvances(e.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,e.positions),this.shaper.zeroMarkWidths==="AFTER_GPOS"&&this.zeroMarkAdvances(e.positions),e.direction==="rtl"&&(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 Oa(e,e.GSUB)),e.GPOS&&(this.GPOSProcessor=new La(e,e.GPOS))}},Da=class{layout(e,t,r,n,a){if(typeof t=="string"&&(a=n,n=r,r=t,t=[]),typeof e=="string"){r==null&&(r=Wd(e));var o=this.font.glyphsForString(e)}else{if(r==null){let c=[];for(let f of e)c.push(...f.codePoints);r=Xd(c)}var o=e}let i=new va(o,t,r,n,a);return o.length===0?(i.positions=[],i):(this.engine&&this.engine.setup&&this.engine.setup(i),this.substitute(i),this.position(i),this.hideDefaultIgnorables(i.glyphs,i.positions),this.engine&&this.engine.cleanup&&this.engine.cleanup(),i)}substitute(e){this.engine&&this.engine.substitute&&this.engine.substitute(e)}position(e){e.positions=e.glyphs.map(r=>new ya(r.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 ma(this.font)),this.unicodeLayoutEngine.positionGlyphs(e.glyphs,e.positions)),(!t||!t.kern)&&e.features.kern!==!1&&this.font.kern&&(this.kernProcessor||(this.kernProcessor=new ba(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(t===0)switch(e>>8){case 0:return e===173;case 3:return e===847;case 6:return e===1564;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||e===65279;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&&r.indexOf("kern")===-1&&r.push("kern"),r}stringsForGlyph(e){let t=new Set,r=this.font._cmapProcessor.codePointsForGlyph(e);for(let n of r)t.add(String.fromCodePoint(n));if(this.engine&&this.engine.stringsForGlyph)for(let n of this.engine.stringsForGlyph(e))t.add(n);return Array.from(t)}constructor(e){this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new Ca(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new Ma(this.font))}},sp={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"},jr=class s{toFunction(){return e=>{this.commands.forEach(t=>e[t.command].apply(e,t.args))}}toSVG(){return this.commands.map(t=>{let r=t.args.map(n=>Math.round(n*100)/100);return`${sp[t.command]}${r.join(" ")}`}).join("")}get cbox(){if(!this._cbox){let e=new sr;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 sr,t=0,r=0,n=v=>Math.pow(1-v,3)*m[x]+3*Math.pow(1-v,2)*v*p[x]+3*(1-v)*Math.pow(v,2)*b[x]+Math.pow(v,3)*y[x];for(let v of this.commands)switch(v.command){case"moveTo":case"lineTo":let[d,S]=v.args;e.addPoint(d,S),t=d,r=S;break;case"quadraticCurveTo":case"bezierCurveTo":if(v.command==="quadraticCurveTo")var[a,o,h,g]=v.args,i=t+2/3*(a-t),l=r+2/3*(o-r),c=h+2/3*(a-h),f=g+2/3*(o-g);else var[i,l,c,f,h,g]=v.args;e.addPoint(h,g);for(var m=[t,r],p=[i,l],b=[c,f],y=[h,g],x=0;x<=1;x++){let E=6*m[x]-12*p[x]+6*b[x],k=-3*m[x]+9*p[x]-9*b[x]+3*y[x];if(v=3*p[x]-3*m[x],k===0){if(E===0)continue;let R=-v/E;0<R&&R<1&&(x===0?e.addPoint(n(R),e.maxY):x===1&&e.addPoint(e.maxX,n(R)));continue}let M=Math.pow(E,2)-4*v*k;if(M<0)continue;let I=(-E+Math.sqrt(M))/(2*k);0<I&&I<1&&(x===0?e.addPoint(n(I),e.maxY):x===1&&e.addPoint(e.maxX,n(I)));let B=(-E-Math.sqrt(M))/(2*k);0<B&&B<1&&(x===0?e.addPoint(n(B),e.maxY):x===1&&e.addPoint(e.maxX,n(B)))}t=h,r=g;break}return this._bbox=Object.freeze(e)}mapPoints(e){let t=new s;for(let r of this.commands){let n=[];for(let a=0;a<r.args.length;a+=2){let[o,i]=e(r.args[a],r.args[a+1]);n.push(o,i)}t[r.command](...n)}return t}transform(e,t,r,n,a,o){return this.mapPoints((i,l)=>{let c=e*i+r*l+a,f=t*i+n*l+o;return[c,f]})}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 s of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])jr.prototype[s]=function(...e){return this._bbox=this._cbox=null,this.commands.push({command:s,args:e}),this};var l0=[".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"],mt=class{_getPath(){return new jr}_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:a}=this._getTableMetrics(this._font.vmtx);else{let o;if((typeof e>"u"||e===null)&&({cbox:e}=this),(o=this._font["OS/2"])&&o.version>0)var n=Math.abs(o.typoAscender-o.typoDescender),a=o.typoAscender-e.maxY;else{let{hhea:i}=this._font;var n=Math.abs(i.ascent-i.descent),a=i.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:a}}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 l0[this.id];case 2:let t=e.glyphNameIndex[this.id];return t<l0.length?l0[t]:e.names[t-l0.length];case 2.5:return l0[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(Bs),this.isLigature=this.codePoints.length>1}};Xe([Ze],mt.prototype,"cbox",null);Xe([Ze],mt.prototype,"bbox",null);Xe([Ze],mt.prototype,"path",null);Xe([Ze],mt.prototype,"advanceWidth",null);Xe([Ze],mt.prototype,"advanceHeight",null);Xe([Ze],mt.prototype,"name",null);var Fl=new A({numberOfContours:D,xMin:D,yMin:D,xMax:D,yMax:D}),ap=1,op=2,ip=4,lp=8,up=16,cp=32,fp=1;var hp=8,Il=32,dp=64,pp=128,gp=256;var yt=class s{copy(){return new s(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}},Ba=class{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}},Wr=class extends mt{_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=Fl.decode(t),n=new sr(r.xMin,r.yMin,r.xMax,r.yMax);return Object.freeze(n)}_parseGlyphCoord(e,t,r,n){if(r){var a=e.readUInt8();n||(a=-a),a+=t}else if(n)var a=t;else var a=t+e.readInt16BE();return a}_decode(){let e=this._font.loca.offsets[this.id],t=this._font.loca.offsets[this.id+1];if(e===t)return null;let r=this._font._getTableStream("glyf");r.pos+=e;let n=r.pos,a=Fl.decode(r);return a.numberOfContours>0?this._decodeSimple(a,r):a.numberOfContours<0&&this._decodeComposite(a,r,n),a}_decodeSimple(e,t){e.points=[];let r=new w(u,e.numberOfContours).decode(t);e.instructions=new w(j,u).decode(t);let n=[],a=r[r.length-1]+1;for(;n.length<a;){var o=t.readUInt8();if(n.push(o),o&lp){let f=t.readUInt8();for(let h=0;h<f;h++)n.push(o)}}for(var i=0;i<n.length;i++){var o=n[i];let h=new yt(!!(o&ap),r.indexOf(i)>=0,0,0);e.points.push(h)}let l=0;for(var i=0;i<n.length;i++){var o=n[i];e.points[i].x=l=this._parseGlyphCoord(t,l,o&op,o&up)}let c=0;for(var i=0;i<n.length;i++){var o=n[i];e.points[i].y=c=this._parseGlyphCoord(t,c,o&ip,o&cp)}if(this._font._variationProcessor){let f=e.points.slice();f.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,f),e.phantomPoints=f.slice(-4)}}_decodeComposite(e,t,r=0){e.components=[];let n=!1,a=Il;for(;a&Il;){a=t.readUInt16BE();let c=t.pos-r,f=t.readUInt16BE();if(n||(n=(a&gp)!==0),a&fp)var o=t.readInt16BE(),i=t.readInt16BE();else var o=t.readInt8(),i=t.readInt8();var l=new Ba(f,o,i);l.pos=c,a&hp?l.scaleX=l.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824:a&dp?(l.scaleX=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,l.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824):a&pp&&(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 c=[];for(let f=0;f<e.components.length;f++){var l=e.components[f];c.push(new yt(!0,!0,l.dx,l.dy))}c.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,c),e.phantomPoints=c.splice(-4,4);for(let f=0;f<c.length;f++){let h=c[f];e.components[f].dx=h.x,e.components[f].dy=h.y}}return n}_getPhantomPoints(e){let t=this._getCBox(!0);this._metrics==null&&(this._metrics=mt.prototype._getMetrics.call(this,t));let{advanceWidth:r,advanceHeight:n,leftBearing:a,topBearing:o}=this._metrics;return[new yt(!1,!0,e.xMin-a,0),new yt(!1,!0,e.xMin-a+r,0),new yt(!1,!0,0,e.yMax+o),new yt(!1,!0,0,e.yMax+o+n)]}_getContours(){let e=this._decode();if(!e)return[];let t=[];if(e.numberOfContours<0)for(let o of e.components){let i=this._font.getGlyph(o.glyphID)._getContours();for(let l=0;l<i.length;l++){let c=i[l];for(let f=0;f<c.length;f++){let h=c[f],g=h.x*o.scaleX+h.y*o.scale01+o.dx,m=h.y*o.scaleY+h.x*o.scale10+o.dy;t.push(new yt(h.onCurve,h.endContour,g,m))}}}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 o=0;o<t.length;o++){var a=t[o];n.push(a),a.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 jr;for(let n=0;n<e.length;n++){let a=e[n],o=a[0],i=a[a.length-1],l=0;if(o.onCurve){var r=null;l=1}else{i.onCurve?o=i:o=new yt(!1,!1,(o.x+i.x)/2,(o.y+i.y)/2);var r=o}t.moveTo(o.x,o.y);for(let c=l;c<a.length;c++){let f=a[c],h=c===0?o:a[c-1];if(h.onCurve&&f.onCurve)t.lineTo(f.x,f.y);else if(h.onCurve&&!f.onCurve)var r=f;else if(!h.onCurve&&!f.onCurve){let m=(h.x+f.x)/2,p=(h.y+f.y)/2;t.quadraticCurveTo(h.x,h.y,m,p);var r=f}else if(!h.onCurve&&f.onCurve){t.quadraticCurveTo(r.x,r.y,f.x,f.y);var r=null}else throw new Error("Unknown TTF path state")}r&&t.quadraticCurveTo(r.x,r.y,o.x,o.y),t.closePath()}return t}constructor(...e){super(...e),rt(this,"type","TTF")}},Ua=class extends mt{_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 a=new jr,o=[],i=[],l=null,c=0,f=0,h=0,g,m,p=!1;this._usedGsubrs=g={},this._usedSubrs=m={};let b=e.globalSubrIndex||[],y=this.bias(b),x=e.privateDictForGlyph(this.id)||{},v=x.Subrs||[],d=this.bias(v),S=e.topDict.vstore&&e.topDict.vstore.itemVariationStore,E=x.vsindex,k=this._font._variationProcessor;function M(){l==null&&(l=o.shift()+x.nominalWidthX)}function I(){return o.length%2!==0&&M(),c+=o.length>>1,o.length=0}function B(Q,Y){p&&a.closePath(),a.moveTo(Q,Y),p=!0}let R=function(){for(;t.pos<n;){let q=t.readUInt8();if(q<32){let U,O,X,T,N,G,V,ne,le,Ee,ie,de,pe,Se,Ce,ke;switch(q){case 1:case 3:case 18:case 23:I();break;case 4:o.length>1&&M(),h+=o.shift(),B(f,h);break;case 5:for(;o.length>=2;)f+=o.shift(),h+=o.shift(),a.lineTo(f,h);break;case 6:case 7:for(X=q===6;o.length>=1;)X?f+=o.shift():h+=o.shift(),a.lineTo(f,h),X=!X;break;case 8:for(;o.length>0;)T=f+o.shift(),N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V+o.shift(),a.bezierCurveTo(T,N,G,V,f,h);break;case 10:if(U=o.pop()+d,O=v[U],O){m[U]=!0;let te=t.pos,ge=n;t.pos=O.offset,n=O.offset+O.length,R(),t.pos=te,n=ge}break;case 11:if(e.version>=2)break;return;case 14:if(e.version>=2)break;o.length>0&&M(),p&&(a.closePath(),p=!1);break;case 15:if(e.version<2)throw new Error("vsindex operator not supported in CFF v1");E=o.pop();break;case 16:{if(e.version<2)throw new Error("blend operator not supported in CFF v1");if(!k)throw new Error("blend operator in non-variation font");let te=k.getBlendVector(S,E),ge=o.pop(),Qe=ge*te.length,Re=o.length-Qe,ct=Re-ge;for(let $e=0;$e<ge;$e++){let et=o[ct+$e];for(let He=0;He<te.length;He++)et+=te[He]*o[Re++];o[ct+$e]=et}for(;Qe--;)o.pop();break}case 19:case 20:I(),t.pos+=c+7>>3;break;case 21:o.length>2&&M(),f+=o.shift(),h+=o.shift(),B(f,h);break;case 22:o.length>1&&M(),f+=o.shift(),B(f,h);break;case 24:for(;o.length>=8;)T=f+o.shift(),N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V+o.shift(),a.bezierCurveTo(T,N,G,V,f,h);f+=o.shift(),h+=o.shift(),a.lineTo(f,h);break;case 25:for(;o.length>=8;)f+=o.shift(),h+=o.shift(),a.lineTo(f,h);T=f+o.shift(),N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V+o.shift(),a.bezierCurveTo(T,N,G,V,f,h);break;case 26:for(o.length%2&&(f+=o.shift());o.length>=4;)T=f,N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G,h=V+o.shift(),a.bezierCurveTo(T,N,G,V,f,h);break;case 27:for(o.length%2&&(h+=o.shift());o.length>=4;)T=f+o.shift(),N=h,G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V,a.bezierCurveTo(T,N,G,V,f,h);break;case 28:o.push(t.readInt16BE());break;case 29:if(U=o.pop()+y,O=b[U],O){g[U]=!0;let te=t.pos,ge=n;t.pos=O.offset,n=O.offset+O.length,R(),t.pos=te,n=ge}break;case 30:case 31:for(X=q===31;o.length>=4;)X?(T=f+o.shift(),N=h,G=T+o.shift(),V=N+o.shift(),h=V+o.shift(),f=G+(o.length===1?o.shift():0)):(T=f,N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V+(o.length===1?o.shift():0)),a.bezierCurveTo(T,N,G,V,f,h),X=!X;break;case 12:switch(q=t.readUInt8(),q){case 3:let te=o.pop(),ge=o.pop();o.push(te&&ge?1:0);break;case 4:te=o.pop(),ge=o.pop(),o.push(te||ge?1:0);break;case 5:te=o.pop(),o.push(te?0:1);break;case 9:te=o.pop(),o.push(Math.abs(te));break;case 10:te=o.pop(),ge=o.pop(),o.push(te+ge);break;case 11:te=o.pop(),ge=o.pop(),o.push(te-ge);break;case 12:te=o.pop(),ge=o.pop(),o.push(te/ge);break;case 14:te=o.pop(),o.push(-te);break;case 15:te=o.pop(),ge=o.pop(),o.push(te===ge?1:0);break;case 18:o.pop();break;case 20:let Qe=o.pop(),Re=o.pop();i[Re]=Qe;break;case 21:Re=o.pop(),o.push(i[Re]||0);break;case 22:let ct=o.pop(),$e=o.pop(),et=o.pop(),He=o.pop();o.push(et<=He?ct:$e);break;case 23:o.push(Math.random());break;case 24:te=o.pop(),ge=o.pop(),o.push(te*ge);break;case 26:te=o.pop(),o.push(Math.sqrt(te));break;case 27:te=o.pop(),o.push(te,te);break;case 28:te=o.pop(),ge=o.pop(),o.push(ge,te);break;case 29:Re=o.pop(),Re<0?Re=0:Re>o.length-1&&(Re=o.length-1),o.push(o[Re]);break;case 30:let K=o.pop(),xe=o.pop();if(xe>=0)for(;xe>0;){var Q=o[K-1];for(let se=K-2;se>=0;se--)o[se+1]=o[se];o[0]=Q,xe--}else for(;xe<0;){var Q=o[0];for(let J=0;J<=K;J++)o[J]=o[J+1];o[K-1]=Q,xe++}break;case 34:T=f+o.shift(),N=h,G=T+o.shift(),V=N+o.shift(),ne=G+o.shift(),le=V,Ee=ne+o.shift(),ie=le,de=Ee+o.shift(),pe=ie,Se=de+o.shift(),Ce=pe,f=Se,h=Ce,a.bezierCurveTo(T,N,G,V,ne,le),a.bezierCurveTo(Ee,ie,de,pe,Se,Ce);break;case 35:ke=[];for(let se=0;se<=5;se++)f+=o.shift(),h+=o.shift(),ke.push(f,h);a.bezierCurveTo(...ke.slice(0,6)),a.bezierCurveTo(...ke.slice(6)),o.shift();break;case 36:T=f+o.shift(),N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),ne=G+o.shift(),le=V,Ee=ne+o.shift(),ie=le,de=Ee+o.shift(),pe=ie+o.shift(),Se=de+o.shift(),Ce=pe,f=Se,h=Ce,a.bezierCurveTo(T,N,G,V,ne,le),a.bezierCurveTo(Ee,ie,de,pe,Se,Ce);break;case 37:let be=f,z=h;ke=[];for(let se=0;se<=4;se++)f+=o.shift(),h+=o.shift(),ke.push(f,h);Math.abs(f-be)>Math.abs(h-z)?(f+=o.shift(),h=z):(f=be,h+=o.shift()),ke.push(f,h),a.bezierCurveTo(...ke.slice(0,6)),a.bezierCurveTo(...ke.slice(6));break;default:throw new Error(`Unknown op: 12 ${q}`)}break;default:throw new Error(`Unknown op: ${q}`)}}else if(q<247)o.push(q-139);else if(q<251){var Y=t.readUInt8();o.push((q-247)*256+Y+108)}else if(q<255){var Y=t.readUInt8();o.push(-(q-251)*256-Y-108)}else o.push(t.readInt32BE()/65536)}};return R(),p&&a.closePath(),a}constructor(...e){super(...e),rt(this,"type","CFF")}},bp=new A({originX:u,originY:u,type:new ve(4),data:new it(s=>s.parent.buflen-s._currentOffset)}),Ra=class extends Wr{getImageForSize(e){for(let o=0;o<this._font.sbix.imageTables.length;o++){var t=this._font.sbix.imageTables[o];if(t.ppem>=e)break}let r=t.imageOffsets,n=r[this.id],a=r[this.id+1];return n===a?null:(this._font.stream.pos=n,bp.decode(this._font.stream,{buflen:a-n}))}render(e,t){let r=this.getImageForSize(t);if(r!=null){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),rt(this,"type","SBIX")}},On=class{constructor(e,t){this.glyph=e,this.color=t}},Ga=class extends mt{_getBBox(){let e=new sr;for(let t=0;t<this.layers.length;t++){let n=this.layers[t].glyph.bbox;e.addPoint(n.minX,n.minY),e.addPoint(n.maxX,n.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 f=r+n>>1;var a=t.baseGlyphRecord[f];if(this.id<a.gid)n=f-1;else if(this.id>a.gid)r=f+1;else{var o=a;break}}if(o==null){var i=this._font._getBaseGlyph(this.id),l={red:0,green:0,blue:0,alpha:255};return[new On(i,l)]}let c=[];for(let f=o.firstLayerIndex;f<o.firstLayerIndex+o.numLayers;f++){var a=t.layerRecords[f],l=e.colorRecords[a.paletteIndex],i=this._font._getBaseGlyph(a.gid);c.push(new On(i,l))}return c}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),rt(this,"type","COLR")}},mp=32768,xp=4095,vp=32768,Ol=16384,yp=8192,Ll=4095,Ml=128,Dl=127,wp=128,Cp=64,Sp=63,Na=class{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(var r=0;r<this.font.avar.segment.length;r++){let a=this.font.avar.segment[r];for(let o=0;o<a.correspondence.length;o++){let i=a.correspondence[o];if(o>=1&&t[r]<i.fromCoord){let l=a.correspondence[o-1];t[r]=((t[r]-l.fromCoord)*(i.toCoord-l.toCoord)+Number.EPSILON)/(i.fromCoord-l.fromCoord+Number.EPSILON)+l.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:a}=this.font;if(a.pos=n,a.pos>=a.length)return;let o=a.readUInt16BE(),i=n+a.readUInt16BE();if(o&mp){var l=a.pos;a.pos=i;var c=this.decodePoints();i=a.pos,a.pos=l}let f=t.map(y=>y.copy());o&=xp;for(let y=0;y<o;y++){let x=a.readUInt16BE(),v=a.readUInt16BE();if(v&vp){var h=[];for(let I=0;I<r.axisCount;I++)h.push(a.readInt16BE()/16384)}else{if((v&Ll)>=r.globalCoordCount)throw new Error("Invalid gvar table");var h=r.globalCoords[v&Ll]}if(v&Ol){var g=[];for(let I=0;I<r.axisCount;I++)g.push(a.readInt16BE()/16384);var m=[];for(let I=0;I<r.axisCount;I++)m.push(a.readInt16BE()/16384)}let d=this.tupleFactor(v,h,g,m);if(d===0){i+=x;continue}var l=a.pos;if(a.pos=i,v&yp)var p=this.decodePoints();else var p=c;let E=p.length===0?t.length:p.length,k=this.decodeDeltas(E),M=this.decodeDeltas(E);if(p.length===0)for(let I=0;I<t.length;I++){var b=t[I];b.x+=Math.round(k[I]*d),b.y+=Math.round(M[I]*d)}else{let I=f.map(R=>R.copy()),B=t.map(()=>!1);for(let R=0;R<p.length;R++){let Q=p[R];if(Q<t.length){let Y=I[Q];B[Q]=!0,Y.x+=k[R]*d,Y.y+=M[R]*d}}this.interpolateMissingDeltas(I,f,B);for(let R=0;R<t.length;R++){let Q=I[R].x-f[R].x,Y=I[R].y-f[R].y;t[R].x=Math.round(t[R].x+Q),t[R].y=Math.round(t[R].y+Y)}}i+=x,a.pos=l}}decodePoints(){let e=this.font.stream,t=e.readUInt8();t&Ml&&(t=(t&Dl)<<8|e.readUInt8());let r=new Uint16Array(t),n=0,a=0;for(;n<t;){let o=e.readUInt8(),i=(o&Dl)+1,l=o&Ml?e.readUInt16:e.readUInt8;for(let c=0;c<i&&n<t;c++)a+=l.call(e),r[n++]=a}return r}decodeDeltas(e){let t=this.font.stream,r=0,n=new Int16Array(e);for(;r<e;){let a=t.readUInt8(),o=(a&Sp)+1;if(a&wp)r+=o;else{let i=a&Cp?t.readInt16BE:t.readInt8;for(let l=0;l<o&&r<e;l++)n[r++]=i.call(t)}}return n}tupleFactor(e,t,r,n){let a=this.normalizedCoords,{gvar:o}=this.font,i=1;for(let l=0;l<o.axisCount;l++)if(t[l]!==0){if(a[l]===0)return 0;if((e&Ol)===0){if(a[l]<Math.min(0,t[l])||a[l]>Math.max(0,t[l]))return 0;i=(i*a[l]+Number.EPSILON)/(t[l]+Number.EPSILON)}else{if(a[l]<r[l]||a[l]>n[l])return 0;a[l]<t[l]?i=i*(a[l]-r[l]+Number.EPSILON)/(t[l]-r[l]+Number.EPSILON):i=i*(n[l]-a[l]+Number.EPSILON)/(n[l]-t[l]+Number.EPSILON)}}return i}interpolateMissingDeltas(e,t,r){if(e.length===0)return;let n=0;for(;n<e.length;){let a=n,o=n,i=e[o];for(;!i.endContour;)i=e[++o];for(;n<=o&&!r[n];)n++;if(n>o)continue;let l=n,c=n;for(n++;n<=o;)r[n]&&(this.deltaInterpolate(c+1,n-1,c,n,t,e),c=n),n++;c===l?this.deltaShift(a,o,c,t,e):(this.deltaInterpolate(c+1,o,c,l,t,e),l>0&&this.deltaInterpolate(a,l-1,c,l,t,e)),n=o+1}}deltaInterpolate(e,t,r,n,a,o){if(e>t)return;let i=["x","y"];for(let c=0;c<i.length;c++){let f=i[c];if(a[r][f]>a[n][f]){var l=r;r=n,n=l}let h=a[r][f],g=a[n][f],m=o[r][f],p=o[n][f];if(h!==g||m===p){let b=h===g?0:(p-m)/(g-h);for(let y=e;y<=t;y++){let x=a[y][f];x<=h?x+=m-h:x>=g?x+=p-g:x=m+(x-h)*b,o[y][f]=x}}}}deltaShift(e,t,r,n,a){let o=a[r].x-n[r].x,i=a[r].y-n[r].y;if(!(o===0&&i===0))for(let l=e;l<=t;l++)l!==r&&(a[l].x+=o,a[l].y+=i)}getAdvanceAdjustment(e,t){let r,n;if(t.advanceWidthMapping){let a=e;a>=t.advanceWidthMapping.mapCount&&(a=t.advanceWidthMapping.mapCount-1);let o=t.advanceWidthMapping.entryFormat;({outerIndex:r,innerIndex:n}=t.advanceWidthMapping.mapData[a])}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 a=n.deltaSets[r],o=this.getBlendVector(e,t),i=0;for(let l=0;l<n.regionIndexCount;l++)i+=a.deltas[l]*o[l];return i}getBlendVector(e,t){let r=e.itemVariationData[t];if(this.blendVectors.has(r))return this.blendVectors.get(r);let n=this.normalizedCoords,a=[];for(let o=0;o<r.regionIndexCount;o++){let i=1,l=r.regionIndexes[o],c=e.variationRegionList.variationRegions[l];for(let f=0;f<c.length;f++){let h=c[f],g;h.startCoord>h.peakCoord||h.peakCoord>h.endCoord||h.startCoord<0&&h.endCoord>0&&h.peakCoord!==0||h.peakCoord===0?g=1:n[f]<h.startCoord||n[f]>h.endCoord?g=0:n[f]===h.peakCoord?g=1:n[f]<h.peakCoord?g=(n[f]-h.startCoord+Number.EPSILON)/(h.peakCoord-h.startCoord+Number.EPSILON):g=(h.endCoord-n[f]+Number.EPSILON)/(h.endCoord-h.peakCoord+Number.EPSILON),i*=g}a[o]=i}return this.blendVectors.set(r,a),a}constructor(e,t){this.font=e,this.normalizedCoords=this.normalizeCoords(t),this.blendVectors=new Map}},um=Promise.resolve(),Ln=class{includeGlyph(e){return typeof e=="object"&&(e=e.id),this.mapping[e]==null&&(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)}},Pp=1,Ap=2,Ep=4,Tp=8,kp=16,Fp=32,Mn=class{static size(e){return e>=0&&e<=255?1:2}static encode(e,t){t>=0&&t<=255?e.writeUInt8(t):e.writeInt16BE(t)}},Bl=new A({numberOfContours:D,xMin:D,yMin:D,xMax:D,yMax:D,endPtsOfContours:new w(u,"numberOfContours"),instructions:new w(j,u),flags:new w(j,0),xPoints:new w(Mn,0),yPoints:new w(Mn,0)}),za=class{encodeSimple(e,t=[]){let r=[],n=[],a=[],o=[],i=0,l=0,c=0,f=0,h=0;for(let x=0;x<e.commands.length;x++){let v=e.commands[x];for(let d=0;d<v.args.length;d+=2){let S=v.args[d],E=v.args[d+1],k=0;if(v.command==="quadraticCurveTo"&&d===2){let M=e.commands[x+1];if(M&&M.command==="quadraticCurveTo"){let I=(l+M.args[0])/2,B=(c+M.args[1])/2;if(S===I&&E===B)continue}}v.command==="quadraticCurveTo"&&d===0||(k|=Pp),k=this._encodePoint(S,l,n,k,Ap,kp),k=this._encodePoint(E,c,a,k,Ep,Fp),k===f&&i<255?(o[o.length-1]|=Tp,i++):(i>0&&(o.push(i),i=0),o.push(k),f=k),l=S,c=E,h++}v.command==="closePath"&&r.push(h-1)}e.commands.length>1&&e.commands[e.commands.length-1].command!=="closePath"&&r.push(h-1);let g=e.bbox,m={numberOfContours:r.length,xMin:g.minX,yMin:g.minY,xMax:g.maxX,yMax:g.maxY,endPtsOfContours:r,instructions:t,flags:o,xPoints:n,yPoints:a},p=Bl.size(m),b=4-p%4,y=new Bt(p+b);return Bl.encode(y,m),b!==0&&y.fill(0,b),y.buffer}_encodePoint(e,t,r,n,a,o){let i=e-t;return e===t?n|=o:(-255<=i&&i<=255&&(n|=a,i<0?i=-i:n|=o),r.push(i)),n}},Va=class extends Ln{_addGlyph(e){let t=this.font.getGlyph(e),r=t._decode(),n=this.font.loca.offsets[e],a=this.font.loca.offsets[e+1],o=this.font._getTableStream("glyf");o.pos+=n;let i=o.readBuffer(a-n);if(r&&r.numberOfContours<0){i=new Uint8Array(i);let l=new DataView(i.buffer);for(let c of r.components)e=this.includeGlyph(c.glyphID),l.setUint16(c.pos,e)}else r&&this.font._variationProcessor&&(i=this.glyphEncoder.encodeSimple(t.path,r.instructions));return this.glyf.push(i),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:t.advanceWidth,bearing:t._getMetrics().leftBearing}),this.offset+=i.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=(0,fn.default)(this.font.maxp);t.numGlyphs=this.glyf.length,this.loca.offsets.push(this.offset);let r=(0,fn.default)(this.font.head);r.indexToLocFormat=this.loca.version;let n=(0,fn.default)(this.font.hhea);return n.numberOfMetrics=this.hmtx.metrics.length,iu.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 za}},ja=class extends Ln{subsetCharstrings(){this.charstrings=[];let e={};for(let t of this.glyphs){this.charstrings.push(this.cff.getCharString(t));let r=this.font.getGlyph(t),n=r.path;for(let a in r._usedGsubrs)e[a]=!0}this.gsubrs=this.subsetSubrs(this.cff.globalSubrIndex,e)}subsetSubrs(e,t){let r=[];for(let n=0;n<e.length;n++){let a=e[n];t[n]?(this.cff.stream.pos=a.offset,r.push(this.cff.stream.readBuffer(a.length))):r.push(new Uint8Array([11]))}return r}subsetFontdict(e){e.FDArray=[],e.FDSelect={version:0,fds:[]};let t={},r=[],n={};for(let a of this.glyphs){let o=this.cff.fdForGlyph(a);if(o==null)continue;t[o]||(e.FDArray.push(Object.assign({},this.cff.topDict.FDArray[o])),r.push({}),n[o]=e.FDArray.length-1),t[o]=!0,e.FDSelect.fds.push(n[o]);let i=this.font.getGlyph(a),l=i.path;for(let c in i._usedSubrs)r[n[o]][c]=!0}for(let a=0;a<e.FDArray.length;a++){let o=e.FDArray[a];delete o.FontName,o.Private&&o.Private.Subrs&&(o.Private=Object.assign({},o.Private),o.Private.Subrs=this.subsetSubrs(o.Private.Subrs,r[a]))}}createCIDFontdict(e){let t={};for(let n of this.glyphs){let a=this.font.getGlyph(n),o=a.path;for(let i in a._usedSubrs)t[i]=!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),hn.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 n of["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"])t[n]=this.addString(this.cff.string(t[n]));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 ru.toBuffer(r)}constructor(e){if(super(e),this.cff=this.font["CFF "],!this.cff)throw new Error("Not a CFF Font")}},Je=class s{static probe(e){let t=Rn.decode(e.slice(0,4));return t==="true"||t==="OTTO"||t==="\0\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(t){Vl&&(console.error(`Error decoding table ${e.tag}`),console.error(t.stack))}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=iu.decode(this.stream,{_startOffset:0})}_decodeTable(e){let t=this.stream.pos,r=this._getTableStream(e.tag),n=Cn[e.tag].decode(r,this,e.length);return this.stream.pos=t,n}getName(e,t=this.defaultLanguage||pn){let r=this.name&&this.name.records[e];return r&&(r[t]||r[this.defaultLanguage]||r[pn]||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 sr(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new x0(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,a=-1,o=-1;for(;n<=r;){let i=0,l=0;if(n<r){if(i=e.charCodeAt(n++),55296<=i&&i<=56319&&n<r){let c=e.charCodeAt(n);56320<=c&&c<=57343&&(n++,i=((i&1023)<<10)+(c&1023)+65536)}l=65024<=i&&i<=65039||917760<=i&&i<=917999?1:0}else n++;o===0&&l===1?t.push(this.getGlyph(this._cmapProcessor.lookup(a,i),[a,i])):o===0&&l===0&&t.push(this.glyphForCodePoint(a)),a=i,o=l}return t}get _layoutEngine(){return new Da(this)}layout(e,t,r,n,a){return this._layoutEngine.layout(e,t,r,n,a)}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 Wr(e,t,this):(this.directory.tables["CFF "]||this.directory.tables.CFF2)&&(this._glyphs[e]=new Ua(e,t,this))),this._glyphs[e]||null}getGlyph(e,t=[]){return this._glyphs[e]||(this.directory.tables.sbix?this._glyphs[e]=new Ra(e,t,this):this.directory.tables.COLR&&this.directory.tables.CPAL?this._glyphs[e]=new Ga(e,t,this):this._getBaseGlyph(e,t)),this._glyphs[e]||null}createSubset(){return this.directory.tables["CFF "]?new ja(this):new Va(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 n=0;n<this.fvar.axis.length;n++){let a=this.fvar.axis[n];r[a.axisTag.trim()]=t.coord[n]}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(typeof e=="string"&&(e=this.namedVariations[e]),typeof e!="object")throw new Error("Variation settings must be either a variation name or settings object.");let t=this.fvar.axis.map((a,o)=>{let i=a.axisTag.trim();return i in e?Math.max(a.minValue,Math.min(a.maxValue,e[i])):a.defaultValue}),r=new Me(this.stream.buffer);r.pos=this._directoryPos;let n=new s(r,t);return n._tables=this._tables,n}get _variationProcessor(){if(!this.fvar)return null;let e=this.variationCoords;return!e&&!this.CFF2?null:(e||(e=this.fvar.axis.map(t=>t.defaultValue)),new Na(this,e))}getFont(e){return this.getVariation(e)}constructor(e,t=null){rt(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 r in this.directory.tables){let n=this.directory.tables[r];Cn[r]&&n.length>0&&Object.defineProperty(this,r,{get:this._getTable.bind(this,n)})}}};Xe([Ze],Je.prototype,"bbox",null);Xe([Ze],Je.prototype,"_cmapProcessor",null);Xe([Ze],Je.prototype,"characterSet",null);Xe([Ze],Je.prototype,"_layoutEngine",null);Xe([Ze],Je.prototype,"variationAxes",null);Xe([Ze],Je.prototype,"namedVariations",null);Xe([Ze],Je.prototype,"_variationProcessor",null);var Ip=new A({tag:new ve(4),offset:new C(P,"void",{type:"global"}),compLength:P,length:P,origChecksum:P}),bu=new A({tag:new ve(4),flavor:P,length:P,numTables:u,reserved:new Te(u),totalSfntSize:P,majorVersion:u,minorVersion:u,metaOffset:P,metaLength:P,metaOrigLength:P,privOffset:P,privLength:P,tables:new w(Ip,"numTables")});bu.process=function(){let s={};for(let e of this.tables)s[e.tag]=e;this.tables=s};var Op=bu,Wa=class extends Je{static probe(e){return Rn.decode(e.slice(0,4))==="wOFF"}_decodeDirectory(){this.directory=Op.decode(this.stream,{_startOffset:0})}_getTableStream(e){let t=this.directory.tables[e];if(t)if(this.stream.pos=t.offset,t.compLength<t.length){this.stream.pos+=2;let r=new Uint8Array(t.length),n=(0,Nl.default)(this.stream.readBuffer(t.compLength-2),r);return new Me(n)}else return this.stream;return null}constructor(...e){super(...e),rt(this,"type","WOFF")}},Xa=class extends Wr{_decode(){return this._font._transformedGlyphs[this.id]}_getCBox(){return this.path.bbox}constructor(...e){super(...e),rt(this,"type","WOFF2")}},Ul={decode(s){let e=0,t=[0,1,2,3,4];for(let r=0;r<t.length;r++){let n=t[r],a=s.readUInt8();if(e&3758096384)throw new Error("Overflow");if(e=e<<7|a&127,(a&128)===0)return e}throw new Error("Bad base 128 number")}},Lp=["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"],Mp=new A({flags:j,customTag:new Yt(new ve(4),s=>(s.flags&63)===63),tag:s=>s.customTag||Lp[s.flags&63],length:Ul,transformVersion:s=>s.flags>>>6&3,transformed:s=>s.tag==="glyf"||s.tag==="loca"?s.transformVersion===0:s.transformVersion!==0,transformLength:new Yt(Ul,s=>s.transformed)}),mu=new A({tag:new ve(4),flavor:P,length:P,numTables:u,reserved:new Te(u),totalSfntSize:P,totalCompressedSize:P,majorVersion:u,minorVersion:u,metaOffset:P,metaLength:P,metaOrigLength:P,privOffset:P,privLength:P,tables:new w(Mp,"numTables")});mu.process=function(){let s={};for(let e=0;e<this.tables.length;e++){let t=this.tables[e];s[t.tag]=t}return this.tables=s};var Dp=mu,Ha=class extends Je{static probe(e){return Rn.decode(e.slice(0,4))==="wOF2"}_decodeDirectory(){this.directory=Dp.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),t=0;for(let n in this.directory.tables){let a=this.directory.tables[n];a.offset=t,t+=a.transformLength!=null?a.transformLength:a.length}let r=(0,zl.default)(e,t);if(!r)throw new Error("Error decoding compressed data in WOFF2");this.stream=new Me(r),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 Xa(e,t,this)):super._getBaseGlyph(e,t)}_transformGlyfTable(){this._decompress(),this.stream.pos=this.directory.tables.glyf.offset;let e=Bp.decode(this.stream),t=[];for(let n=0;n<e.numGlyphs;n++){let a={},o=e.nContours.readInt16BE();if(a.numberOfContours=o,o>0){let i=[],l=0;for(let c=0;c<o;c++){let f=sa(e.nPoints);l+=f,i.push(l)}a.points=Np(e.flags,e.glyphs,l);for(let c=0;c<o;c++)a.points[i[c]-1].endContour=!0;var r=sa(e.glyphs)}else if(o<0&&Wr.prototype._decodeComposite.call({_font:this},a,e.composites))var r=sa(e.glyphs);t.push(a)}this._transformedGlyphs=t}constructor(...e){super(...e),rt(this,"type","WOFF2")}},Nt=class{decode(e,t){return new Me(this._buf.decode(e,t))}constructor(e){this.length=e,this._buf=new it(e)}},Bp=new A({version:P,numGlyphs:u,indexFormat:u,nContourStreamSize:P,nPointsStreamSize:P,flagStreamSize:P,glyphStreamSize:P,compositeStreamSize:P,bboxStreamSize:P,instructionStreamSize:P,nContours:new Nt("nContourStreamSize"),nPoints:new Nt("nPointsStreamSize"),flags:new Nt("flagStreamSize"),glyphs:new Nt("glyphStreamSize"),composites:new Nt("compositeStreamSize"),bboxes:new Nt("bboxStreamSize"),instructions:new Nt("instructionStreamSize")}),Up=253,Rp=254,Gp=255,Rl=253;function sa(s){let e=s.readUInt8();return e===Up?s.readUInt16BE():e===Gp?s.readUInt8()+Rl:e===Rp?s.readUInt8()+Rl*2:e}function Ot(s,e){return s&1?e:-e}function Np(s,e,t){let r,n=r=0,a=[];for(let l=0;l<t;l++){let c=0,f=0,h=s.readUInt8(),g=!(h>>7);if(h&=127,h<10)c=0,f=Ot(h,((h&14)<<7)+e.readUInt8());else if(h<20)c=Ot(h,((h-10&14)<<7)+e.readUInt8()),f=0;else if(h<84){var o=h-20,i=e.readUInt8();c=Ot(h,1+(o&48)+(i>>4)),f=Ot(h>>1,1+((o&12)<<2)+(i&15))}else if(h<120){var o=h-84;c=Ot(h,1+(o/12<<8)+e.readUInt8()),f=Ot(h>>1,1+(o%12>>2<<8)+e.readUInt8())}else if(h<124){var i=e.readUInt8();let p=e.readUInt8();c=Ot(h,(i<<4)+(p>>4)),f=Ot(h>>1,((p&15)<<8)+e.readUInt8())}else c=Ot(h,e.readUInt16BE()),f=Ot(h>>1,e.readUInt16BE());n+=c,r+=f,a.push(new yt(g,!1,n,r))}return a}var zp=new ue(P,{65536:{numFonts:P,offsets:new w(P,"numFonts")},131072:{numFonts:P,offsets:new w(P,"numFonts"),dsigTag:P,dsigLength:P,dsigOffset:P}}),qa=class{static probe(e){return Rn.decode(e.slice(0,4))==="ttcf"}getFont(e){for(let t of this.header.offsets){let r=new Me(this.stream.buffer);r.pos=t;let n=new Je(r);if(n.postscriptName===e||n.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&n.postscriptName.every((a,o)=>e[o]===a))return n}return null}get fonts(){let e=[];for(let t of this.header.offsets){let r=new Me(this.stream.buffer);r.pos=t,e.push(new Je(r))}return e}constructor(e){if(rt(this,"type","TTC"),this.stream=e,e.readString(4)!=="ttcf")throw new Error("Not a TrueType collection");this.header=zp.decode(e)}},Vp=new ve(j),cm=new A({len:P,buf:new it("len")}),jp=new A({id:u,nameOffset:D,attr:j,dataOffset:Ut,handle:P}),Wp=new A({name:new ve(4),maxTypeIndex:u,refList:new C(u,new w(jp,s=>s.maxTypeIndex+1),{type:"parent"})}),Xp=new A({length:u,types:new w(Wp,s=>s.length+1)}),Hp=new A({reserved:new Te(j,24),typeList:new C(u,Xp),nameListOffset:new C(u,"void")}),Gl=new A({dataOffset:P,map:new C(P,Hp),dataLength:P,mapLength:P}),Ya=class{static probe(e){let t=new Me(e);try{var r=Gl.decode(t)}catch{return!1}for(let n of r.map.typeList.types)if(n.name==="sfnt")return!0;return!1}getFont(e){if(!this.sfnt)return null;for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,n=new Me(this.stream.buffer.slice(r)),a=new Je(n);if(a.postscriptName===e||a.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&a.postscriptName.every((o,i)=>e[i]===o))return a}return null}get fonts(){let e=[];for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,n=new Me(this.stream.buffer.slice(r));e.push(new Je(n))}return e}constructor(e){rt(this,"type","DFont"),this.stream=e,this.header=Gl.decode(this.stream);for(let t of this.header.map.typeList.types){for(let r of t.refList)r.nameOffset>=0?(this.stream.pos=r.nameOffset+this.header.map.nameListOffset,r.name=Vp.decode(this.stream)):r.name=null;t.name==="sfnt"&&(this.sfnt=t)}}};Xr(Je);Xr(Wa);Xr(Ha);Xr(qa);Xr(Ya);L();var Yp=typeof Z<"u"&&/^(debug|trace)$/i.test(Z.env?.LOG_LEVEL??"");function Hr(...s){Yp&&console.debug(...s)}L();L();var eo=-2;var De=4096,Kp="SLUGGIS2";function Zp(s){let e=[],t=[],r=0,n=0;for(let a of s){let o=a.command||a.type,i=a.args||[];if(o==="moveTo")t.length>0&&e.push(t),r=i.length>=2?i[0]:a.x??0,n=i.length>=2?i[1]:a.y??0,t=[{x:r,y:n}];else if(o==="lineTo"){let l=i.length>=2?i[0]:a.x??0,c=i.length>=2?i[1]:a.y??0;r=l,n=c,t.push({x:r,y:n})}else if(o==="quadraticCurveTo"){let l=i.length>=4?i[0]:a.cpx??a.x1??0,c=i.length>=4?i[1]:a.cpy??a.y1??0,f=i.length>=4?i[2]:a.x??0,h=i.length>=4?i[3]:a.y??0,g=4,m=r,p=n;for(let b=1;b<=g;b++){let y=b/g,x=1-y,v=x*x*m+2*x*y*l+y*y*f,d=x*x*p+2*x*y*c+y*y*h;t.push({x:v,y:d})}r=f,n=h}else if(o==="bezierCurveTo"){let l=i.length>=6?i[0]:a.cp1x??0,c=i.length>=6?i[1]:a.cp1y??0,f=i.length>=6?i[2]:a.cp2x??0,h=i.length>=6?i[3]:a.cp2y??0,g=i.length>=6?i[4]:a.x??0,m=i.length>=6?i[5]:a.y??0,p=6,b=r,y=n;for(let x=1;x<=p;x++){let v=x/p,d=1-v,S=d*d,E=S*d,k=v*v,M=k*v,I=E*b+3*S*v*l+3*d*k*f+M*g,B=E*y+3*S*v*c+3*d*k*h+M*m;t.push({x:I,y:B})}r=g,n=m}}return t.length>0&&e.push(t),e}function _p(s){if(s.length<3)return s;let e=[];for(let n of s)if(e.length===0)e.push(n);else{let a=e[e.length-1];Math.hypot(n.x-a.x,n.y-a.y)>.01&&e.push(n)}if(e.length>=3){let n=e[0],a=e[e.length-1];Math.hypot(n.x-a.x,n.y-a.y)<.01&&e.pop()}if(e.length<3)return e;let t=[],r=e.length;for(let n=0;n<r;n++){let a=e[(n-1+r)%r],o=e[n],i=e[(n+1)%r],l=o.x-a.x,c=o.y-a.y,f=Math.hypot(l,c),h=i.x-o.x,g=i.y-o.y,m=Math.hypot(h,g);if(f<1e-5||m<1e-5)continue;let p=l*g-c*h;Math.abs(p)/(f*m)<1e-4||t.push(o)}return t}function Jp(s){let e=0,t=s.length;if(t<3)return 0;for(let r=0;r<t;r++){let n=s[r],a=s[(r+1)%t];e+=n.x*a.y-a.x*n.y}return e*.5}function Qp(s,e){let t=!1,r=e.length;for(let n=0,a=r-1;n<r;a=n++){let o=e[n],i=e[a];o.y>s.y!=i.y>s.y&&s.x<(i.x-o.x)*(s.y-o.y)/(i.y-o.y)+o.x&&(t=!t)}return t}function $p(s,e){let t=s.length;if(t<3)return s;let r=[];for(let n=0;n<t;n++){let a=s[(n-1+t)%t],o=s[n],i=s[(n+1)%t],l=o.x-a.x,c=o.y-a.y,f=Math.sqrt(l*l+c*c),h=i.x-o.x,g=i.y-o.y,m=Math.sqrt(h*h+g*g);if(f<1e-6||m<1e-6){r.push({x:o.x,y:o.y});continue}let p=l/f,b=c/f,y=h/m,x=g/m,v=-b,d=p,S=-x,E=y,k=v+S,M=d+E,I=Math.sqrt(k*k+M*M),B=v,R=d;I>1e-6?(B=k/I,R=M/I):(B=p,R=b);let Q=p*y+b*x,Y=Math.sqrt(Math.max(0,(1+Q)*.5)),q=e;Y>.05&&(q=e/Y),q=Math.min(q,e*4),r.push({x:o.x+B*q,y:o.y+R*q})}return r}function e3(s,e){let t=1/0,r=-1/0,n=1/0,a=-1/0;for(let f of s)f.x<t&&(t=f.x),f.x>r&&(r=f.x),f.y<n&&(n=f.y),f.y>a&&(a=f.y);let o=1/0,i=-1/0,l=1/0,c=-1/0;for(let f of e)f.x<o&&(o=f.x),f.x>i&&(i=f.x),f.y<l&&(l=f.y),f.y>c&&(c=f.y);return t>=o&&r<=i&&n>=l&&a<=c}function t3(s,e){if(!s||!s.commands||s.commands.length===0)return s;let r=Zp(s.commands).map(_p).filter(l=>l.length>=3),n=r.length;if(n===0)return s;let a=new Array(n).fill(0);for(let l=0;l<n;l++){let c=r[l],f=c[0];for(let h=0;h<n;h++)l!==h&&e3(c,r[h])&&Qp(f,r[h])&&a[l]++}for(let l=0;l<n;l++){let c=r[l],f=Jp(c),h=a[l]%2===0;(h&&f>0||!h&&f<0)&&c.reverse()}let o=r.map(l=>$p(l,e)),i=[];for(let l of o)if(l.length!==0){i.push({command:"moveTo",args:[l[0].x,l[0].y]});for(let c=1;c<l.length;c++)i.push({command:"lineTo",args:[l[c].x,l[c].y]});i.push({command:"closePath",args:[]})}return{commands:i}}var S0=new WeakMap;function vu(s){return S0.get(s)?.source??null}function xu(s,e){let t=Math.floor(e.bandOffsets.length/2),r=e.bandOffsets.slice();for(let n=1;n<r.length;n+=2)r[n]+=t;s._raw.bandOffsets=r,s._raw.curvesList=e.curves,s._raw.curveOffsets=e.curveOffsets}function Vn(s,e){let t=e._raw;if(!t)return;let r=Math.ceil(t.curvesList.length/4),n=Math.max(1,Math.ceil(r/De)),a=new Float32Array(De*n*4);a.fill(-1),a.set(t.curvesList);let o=s.createTexture({label:"SlugGeneratedCurvesTexture",size:[De,n],format:"rgba32float",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});s.queue.writeTexture({texture:o},a,{bytesPerRow:De*16},[De,n]);let i=Math.floor(t.bandOffsets.length/2)+Math.floor(t.curveOffsets.length/2),l=Math.max(1,Math.ceil(i/De)),c=new Uint32Array(De*l*2);c.set(t.bandOffsets,0),c.set(t.curveOffsets,t.bandOffsets.length);let f=s.createTexture({label:"SlugGeneratedBandsTexture",size:[De,l],format:"rg32uint",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});s.queue.writeTexture({texture:f},c,{bytesPerRow:De*8},[De,l]),e.curvesTex=o,e.bandsTex=f;let h=S0.get(e);h&&(h.device=s)}function r3(s){return s>=32&&s<=126||s>=160&&s<=255||s>=256&&s<=591||s>=8192&&s<=8303||s>=8352&&s<=8399||s>=8448&&s<=8527||s>=8592&&s<=8703||s>=8704&&s<=8959||s>=9728&&s<=10175}var ar=class s{bandCount=16;fullRange=!1;whitelist=null;strokeWidth;constructor(e={}){this.bandCount=e.bandCount!==void 0?e.bandCount:16,this.fullRange=e.fullRange!==void 0?e.fullRange:!1,this.whitelist=e.whitelist||null,this.strokeWidth=e.strokeWidth}generate(e,t){if(!t)throw new Error("[SlugGenerator] Cannot generate slug font: font is null or undefined");let r={source:t,strokeWidth:this.strokeWidth,bandCount:this.bandCount,curves:[],bandOffsets:[],curveOffsets:[],device:null},n=Array.isArray(t.characterSet)?t.characterSet:Array.from(t.characterSet||[]),a=new Set(n),o=[-1];if(this.fullRange)for(let l of n)l!==-1&&o.push(l);else if(this.whitelist)for(let l of this.whitelist)a.has(l)&&o.push(l);else for(let l of n)l!==-1&&r3(l)&&o.push(l);let i=this.buildOutput(t);S0.set(i,r);for(let l of o)s.addCodePoint(i,r,l);return xu(i,r),e&&Vn(e,i),i}static ensureGlyphs(e,t){let r=S0.get(e);if(!r||typeof r.source.getGlyph!="function")return!1;let n=e;n.glyphs??=new Map;let a=!1;for(let o of t){if(n.glyphs.has(o))continue;let i=null;try{i=r.source.getGlyph(o)}catch{i=null}let c=(i?s.buildGlyph(r,i,eo,o):null)??s.emptyRecord(eo,o,0);n.glyphs.set(o,c),n._raw.codePoints.push(c),a=!0}return a&&s.commit(n,r),a}static ensureCodePoints(e,t){let r=S0.get(e);if(!r)return!1;let n=e,a=!1;for(let o of t)n.codePoints.has(o)||s.addCodePoint(n,r,o)&&(a=!0);return a&&s.commit(n,r),a}static commit(e,t){xu(e,t),e.curvesTex&&t.device&&Vn(t.device,e)}static addCodePoint(e,t,r){let n=t.source,a=null;try{r===-1?a=typeof n.getGlyph=="function"?n.getGlyph(0):n.glyphForCodePoint?.(0)??null:a=n.glyphForCodePoint?.(r)??null}catch{return!1}if(!a||r!==-1&&a.id===0)return!1;e.glyphs??=new Map;let o=typeof a.id=="number"?a.id:void 0,i=o!==void 0?e.glyphs.get(o):void 0;if(i){let c={...i,codePoint:r};return e.codePoints.set(r,c),e._raw.codePoints.push(c),!0}let l=s.buildGlyph(t,a,r,o);return l?(e.codePoints.set(r,l),o!==void 0&&e.glyphs.set(o,l),e._raw.codePoints.push(l),!0):!1}static emptyRecord(e,t,r){return{codePoint:e,glyphId:t,width:0,height:0,advanceWidth:r,bearingX:0,bearingY:0,bandCount:0,bandDimX:0,bandDimY:0,bandsTexCoordX:0,bandsTexCoordY:0}}static buildGlyph(e,t,r,n){let a,o,i=0;try{a=t.path,o=t.bbox;try{i=Math.floor(t.advanceWidth||0)}catch{i=0}}catch{return null}if(!o||o.minX===o.maxX||o.minY===o.maxY||o.minX===1/0||o.minY===1/0||!a||!a.commands||a.commands.length===0)return{codePoint:r,glyphId:n,width:0,height:0,advanceWidth:i,bearingX:0,bearingY:0,bandCount:0,bandDimX:0,bandDimY:0,bandsTexCoordX:0,bandsTexCoordY:0};let l=e.strokeWidth?e.strokeWidth/2:0,c=e.strokeWidth&&e.strokeWidth>0?t3(a,l):a,f=o.minX-l,h=o.minY-l,g=o.maxX+l,m=o.maxY+l,p=[],b=0,y=0,x=!1,v=0,d=0;for(let U=0;U<c.commands.length;U++){let O=c.commands[U],X=O.command||O.type,T=O.args||[];if(X==="moveTo"){x=!0;let N=T.length>=2?T[0]:O.x,G=T.length>=2?T[1]:O.y;b=N-f,y=G-h,v=b,d=y}else if(X==="lineTo"){let N=T.length>=2?T[0]:O.x,G=T.length>=2?T[1]:O.y,V=N-f,ne=G-h,le={first:x,x1:b,y1:y,x3:V,y3:ne,x2:(b+V)/2,y2:(y+ne)/2};p.push(le),x=!1,b=V,y=ne}else if(X==="quadraticCurveTo"){let N=T.length>=4?T[0]:O.cpx??O.x1,G=T.length>=4?T[1]:O.cpy??O.y1,V=T.length>=4?T[2]:O.x,ne=T.length>=4?T[3]:O.y,le=V-f,Ee=ne-h,ie={first:x,x1:b,y1:y,x2:N-f,y2:G-h,x3:le,y3:Ee};p.push(ie),x=!1,b=le,y=Ee}else if(X==="bezierCurveTo"){let N=T.length>=6?T[0]:O.cp1x,G=T.length>=6?T[1]:O.cp1y,V=T.length>=6?T[2]:O.cp2x,ne=T.length>=6?T[3]:O.cp2y,le=T.length>=6?T[4]:O.x,Ee=T.length>=6?T[5]:O.y,ie=le-f,de=Ee-h,pe=4,Se=b,Ce=y;for(let ke=1;ke<=pe;ke++){let te=ke/pe,ge=1-te,Qe=ge*ge,Re=Qe*ge,ct=te*te,$e=ct*te,et=Re*b+3*Qe*te*(N-f)+3*ge*ct*(V-f)+$e*ie,He=Re*y+3*Qe*te*(G-h)+3*ge*ct*(ne-h)+$e*de,K={first:x&&ke===1,x1:Se,y1:Ce,x2:(Se+et)/2,y2:(Ce+He)/2,x3:et,y3:He};p.push(K),Se=et,Ce=He}x=!1,b=ie,y=de}else if(X==="closePath"){if(b!==v||y!==d){let N={first:x,x1:b,y1:y,x3:v,y3:d,x2:(b+v)/2,y2:(y+d)/2};p.push(N),x=!1}b=v,y=d}}if(!p||p.length===0)return null;for(let U of p)(U.x2===U.x1&&U.y2===U.y1||U.x2===U.x3&&U.y2===U.y3)&&(U.x2=(U.x1+U.x3)/2,U.y2=(U.y1+U.y3)/2);let S=Math.floor(e.bandOffsets.length/2);for(let U of p){if(U.first&&e.curves.length%4!==0){let N=4-e.curves.length%4;for(let G=0;G<N;G++)e.curves.push(-1)}let T=Math.floor(e.curves.length/4)%De===De-1;if(T){let N=8-e.curves.length%4;for(let G=0;G<N;G++)e.curves.push(-1)}U.first||T?(U.texelIndex=Math.floor(e.curves.length/4),e.curves.push(U.x1,U.y1)):U.texelIndex=Math.floor((Math.floor(e.curves.length/2)-1)/2),e.curves.push(U.x2,U.y2),e.curves.push(U.x3,U.y3)}let E=1+(g-f),k=1+(m-h),M=e.bandCount;(E<M||k<M)&&(M=Math.floor(Math.min(E,k)/2),M<1&&(M=1));let I=Math.ceil(k/M),B=0,R=I;p.sort((U,O)=>Math.max(O.x1,O.x2,O.x3)-Math.max(U.x1,U.x2,U.x3));for(let U=0;U<M;U++){let O=Math.floor(e.curveOffsets.length/2),X=0;for(let T of p){if(T.y1===T.y2&&T.y2===T.y3)continue;let N=Math.min(T.y1,T.y2,T.y3),G=Math.max(T.y1,T.y2,T.y3);if(N>R||G<B)continue;let V=T.texelIndex??0,ne=V%De,le=Math.floor(V/De);e.curveOffsets.push(ne,le),X++}e.bandOffsets.push(X,O),B+=I,R+=I}let Q=Math.ceil(E/M),Y=0,q=Q;p.sort((U,O)=>Math.max(O.y1,O.y2,O.y3)-Math.max(U.y1,U.y2,U.y3));for(let U=0;U<M;U++){let O=Math.floor(e.curveOffsets.length/2),X=0;for(let T of p){if(T.x1===T.x2&&T.x2===T.x3)continue;let N=Math.min(T.x1,T.x2,T.x3),G=Math.max(T.x1,T.x2,T.x3);if(N>q||G<Y)continue;let V=T.texelIndex??0,ne=V%De,le=Math.floor(V/De);e.curveOffsets.push(ne,le),X++}e.bandOffsets.push(X,O),Y+=Q,q+=Q}return{codePoint:r,glyphId:n,width:Math.floor(g-f),height:Math.floor(m-h),advanceWidth:Math.floor(t.advanceWidth||0),bearingX:Math.floor(f),bearingY:Math.floor(m),bandCount:M,bandDimX:Q,bandDimY:I,bandsTexCoordX:S%De,bandsTexCoordY:Math.floor(S/De)}}buildOutput(e){let t={ascender:e.ascent||0,descender:e.descent||0,lineGap:e.lineGap||0,unitsPerEm:e.unitsPerEm||0};return{codePoints:new Map,glyphs:new Map,curvesTex:null,bandsTex:null,...t,_raw:{codePoints:[],curvesList:[],bandOffsets:[],curveOffsets:[],metrics:t}}}exportSluggish(e){let{codePoints:t,curvesList:r,bandOffsets:n,curveOffsets:a}=e._raw,o=Math.ceil(r.length/4),i=Math.ceil(o/De),l=new Float32Array(De*i*4);l.fill(0),l.set(r);let c=Math.floor(n.length/2)+Math.floor(a.length/2),f=Math.ceil(c/De),h=new Uint32Array(De*f*2);h.set(n,0),h.set(a,n.length);let g=l.byteLength,m=h.byteLength,p=e._raw.metrics,b=12+t.length*44+8+g+8+m+16,y=new ArrayBuffer(b),x=new DataView(y),v=0;for(let d=0;d<8;d++)x.setUint8(v++,Kp.charCodeAt(d));x.setUint32(v,t.length,!0),v+=4;for(let d of t)x.setInt32(v,d.codePoint,!0),v+=4,x.setUint32(v,d.width,!0),v+=4,x.setUint32(v,d.height,!0),v+=4,x.setUint32(v,d.advanceWidth,!0),v+=4,x.setInt32(v,d.bearingX,!0),v+=4,x.setInt32(v,d.bearingY,!0),v+=4,x.setUint32(v,d.bandCount,!0),v+=4,x.setUint32(v,d.bandDimX,!0),v+=4,x.setUint32(v,d.bandDimY,!0),v+=4,x.setUint16(v,d.bandsTexCoordX,!0),v+=2,x.setUint16(v,d.bandsTexCoordY,!0),v+=2,x.setUint32(v,d.glyphId??0,!0),v+=4;return x.setUint16(v,De,!0),v+=2,x.setUint16(v,i,!0),v+=2,x.setUint32(v,g,!0),v+=4,new Uint8Array(y).set(new Uint8Array(l.buffer),v),v+=g,x.setUint16(v,De,!0),v+=2,x.setUint16(v,f,!0),v+=2,x.setUint32(v,m,!0),v+=4,new Uint8Array(y).set(new Uint8Array(h.buffer),v),v+=m,x.setInt32(v,p.ascender||0,!0),v+=4,x.setInt32(v,p.descender||0,!0),v+=4,x.setInt32(v,p.lineGap||0,!0),v+=4,x.setInt32(v,p.unitsPerEm||0,!0),v+=4,y}};function yu(s){if(!s)return 400;if(s==="bold")return 700;if(s==="normal")return 400;if(typeof s=="number")return s;let e=parseInt(s,10);return isNaN(e)?400:e}function n3(s,e,t,r){let n=yu(e),a=t?`-stroke-${t}`:"",o=r&&Object.keys(r).length>0?`-axes-${Object.entries(r).sort(([i],[l])=>i.localeCompare(l)).map(([i,l])=>`${i}_${l}`).join("_")}`:"";return`${s}-${n}${a}${o}`}function s3(s){let e=Za(s),t;return e&&typeof e.fonts<"u"&&Array.isArray(e.fonts)&&(e.fonts.length??0)>0?t=e.fonts[0]:e&&typeof e.getFont=="function"&&typeof e.getGlyph!="function"?t=e.fonts?.[0]||e:t=e,t}async function a3(s,e){let t,r=!!globalThis.__IS_HEADLESS_RENDERER__||typeof window>"u"||typeof globalThis.document>"u",n=e.startsWith("http://")||e.startsWith("https://");if(r&&!n){let a=await import("./shims/fs-promises.mjs"),o=await import("./shims/path.mjs"),i=[];Z.env.FONTS_DIR&&i.push(o.resolve(Z.env.FONTS_DIR)),Z.env.FRAMEFIELDS_FONTS_DIR&&i.push(o.resolve(Z.env.FRAMEFIELDS_FONTS_DIR));let l=Z.cwd();for(let p=0;p<5;p++){i.push(o.resolve(l,"assets/fonts"));let b=o.dirname(l);if(b===l)break;l=b}let c=[],f=p=>{c.includes(p)||c.push(p)};if(e&&!e.startsWith("//api/")){let p=e;if(e.startsWith("file://"))try{p=new URL(e).pathname}catch{p=e.replace(/^file:\/\//,"")}f(p),f(o.resolve(Z.cwd(),p));for(let b of i)f(o.resolve(b,o.basename(p)))}let h=s.replace(/['"]/g,"").trim(),g=[h,h.replace(/ /g,""),h.replace(/ /g,"_")];for(let p of i)for(let b of g)f(o.resolve(p,`${b}.ttf`)),f(o.resolve(p,`${b}.otf`));for(let p of i)f(o.resolve(p,"Inter.ttf")),f(o.resolve(p,"Inter.otf"));let m=null;for(let p of c)try{if(m=await a.readFile(p),m&&m.length>0)break}catch{}if(!m)throw new Error(`Could not resolve font file for "${s}" (${e})`);t=m.buffer.slice(m.byteOffset,m.byteOffset+m.byteLength)}else{let a=await fetch(e);if(!a.ok)throw new Error(`Failed to fetch font from ${e}: ${a.statusText}`);t=await a.arrayBuffer()}return t}function jn(s,e){e.curvesTex||Vn(s,e)}var to=Symbol.for("gatewai.slugFontCache.cache"),ro=Symbol.for("gatewai.slugFontCache.parsed"),no=Symbol.for("gatewai.slugFontCache.promises"),P0=Symbol.for("gatewai.slugFontCache.failed"),ut=globalThis;ut[to]=ut[to]||new Map;ut[ro]=ut[ro]||new Map;ut[no]=ut[no]||new Map;ut[P0]=ut[P0]||new Map;var or=class s{static get cache(){return ut[to]}static get parsedFontCache(){return ut[ro]}static setParsed(e,t){s.parsedFontCache.set(e,t),s.failedFonts.delete(e)}static getParsed(e){return s.parsedFontCache.get(e)||null}static families(){return[...s.parsedFontCache.keys()]}static getAllParsed(){return Array.from(s.parsedFontCache.values())}static getFirstParsed(){let e=s.parsedFontCache.values().next();return e.done?null:e.value}static hasPending(){return s.loadingPromises.size>0}static listeners=new Set;static get loadingPromises(){return ut[no]}static get failedFonts(){return ut[P0]instanceof Set&&(ut[P0]=new Map),ut[P0]}static emojiFontPath=null;static emojiFontUrl=null;static emojiTextureCache=new Map;static emojiFontBuffer=null;static emojiFontLoadPromise=null;static emojiFontFaceLoadPromise=null;static cmapOffset=0;static cblcOffset=0;static cbdtOffset=0;static setEmojiFont(e,t){if(s.parseTableDirectory(e),!s.cblcOffset||!s.cbdtOffset)throw s.emojiFontBuffer=null,new Error(`Emoji font ${t?`"${t}" `:""}has no CBDT/CBLC color bitmaps. Use a bitmap color emoji font such as Noto Color Emoji.`);s.emojiFontPath=t??null,s.emojiFontLoadPromise=null;for(let r of s.emojiTextureCache.values())r.destroy();s.emojiTextureCache.clear()}static hasEmojiFont(){return!!(s.emojiFontBuffer||s.emojiFontPath||s.emojiFontUrl)}static parseTableDirectory(e){s.emojiFontBuffer=e,s.cmapOffset=0,s.cblcOffset=0,s.cbdtOffset=0;let t=new DataView(e.buffer,e.byteOffset,e.byteLength),r=t.getUint16(4),n=12;for(let a=0;a<r;a++){let o=String.fromCharCode(t.getUint8(n),t.getUint8(n+1),t.getUint8(n+2),t.getUint8(n+3));o==="cmap"?s.cmapOffset=t.getUint32(n+8):o==="CBLC"?s.cblcOffset=t.getUint32(n+8):o==="CBDT"&&(s.cbdtOffset=t.getUint32(n+8)),n+=16}}static async loadEmojiFontBinary(){if(!s.emojiFontBuffer){if(s.emojiFontLoadPromise){await s.emojiFontLoadPromise;return}s.emojiFontLoadPromise=(async()=>{try{if((!!globalThis.__IS_HEADLESS_RENDERER__||typeof window>"u"||typeof globalThis.document>"u")&&s.emojiFontPath){let o=await(await import("./shims/fs-promises.mjs")).readFile(s.emojiFontPath),i=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);s.parseTableDirectory(i);return}let t=s.emojiFontUrl;if(!t){console.warn("[SlugFontCache] No emoji font path or URL configured.");return}let r=await fetch(t);if(!r.ok)throw new Error(`Failed to fetch emoji font from ${t}: ${r.statusText}`);let n=await r.arrayBuffer();s.parseTableDirectory(new Uint8Array(n))}catch(e){console.error("[SlugFontCache] Failed to load emoji font binary:",e)}})(),await s.emojiFontLoadPromise}}static async getEmojiPngBuffer(e){s.emojiFontBuffer||(s.emojiFontPath||s.emojiFontUrl)&&await s.loadEmojiFontBinary();let t=s.emojiFontBuffer;if(!t)return null;let r=new DataView(t.buffer,t.byteOffset,t.byteLength),n=s.cmapOffset;if(!n)return null;let a=r.getUint16(n+2),o=0;for(let U=0;U<a;U++){let O=n+4+U*8,X=r.getUint32(O+4);if(r.getUint16(n+X)===12){o=n+X;break}}if(!o)return null;let i=r.getUint32(o+12),l=0;for(let U=0;U<i;U++){let O=o+16+U*12,X=r.getUint32(O),T=r.getUint32(O+4),N=r.getUint32(O+8);if(e>=X&&e<=T){l=N+(e-X);break}}if(!l)return null;let c=s.cblcOffset,f=s.cbdtOffset;if(!c||!f)return null;let h=r.getUint32(c+8),g=r.getUint32(c+16),m=c+h,p=null;for(let U=0;U<g;U++){let O=m+U*8,X=r.getUint16(O),T=r.getUint16(O+2),N=r.getUint32(O+4);if(l>=X&&l<=T){p={firstGlyph:X,lastGlyph:T,subTableOffset:h+N};break}}if(!p)return null;let b=c+p.subTableOffset,y=r.getUint16(b),x=r.getUint16(b+2),v=r.getUint32(b+4);if(y!==1||x!==17)return null;let d=l-p.firstGlyph,S=b+8,E=r.getUint32(S+d*4);if(r.getUint32(S+(d+1)*4)-E<=0)return null;let I=f+v+E,B=r.getUint8(I),R=r.getUint8(I+1),Q=r.getUint32(I+5),Y=I+9;return{buffer:new Uint8Array(t.buffer,t.byteOffset+Y,Q),width:R,height:B}}static async preloadEmoji(e,t,r){let n=`${t}-${r}`,a=s.emojiTextureCache.get(n);if(a)return a;let o=!!globalThis.__IS_HEADLESS_RENDERER__||typeof window>"u"||typeof globalThis.document>"u",i=t.codePointAt(0);if(!i)throw new Error("No codepoint");let l=4,c=Math.max(16,Math.ceil(r*1.5*l)),f=s.hasEmojiFont()?await s.getEmojiPngBuffer(i):null;if(o){if(!f)throw new Error(s.hasEmojiFont()?`Emoji glyph not found in font for ${t}`:`No emoji font is set for ${t}; register one with FontManager.registerEmojiFont()`);let h=(await import("./sharp-O7VCPA7A.mjs")).default,{data:g,info:m}=await h(Buffer.from(f.buffer)).ensureAlpha().resize(c,c,{fit:"contain",background:{r:0,g:0,b:0,alpha:0},kernel:"lanczos3"}).raw().toBuffer({resolveWithObject:!0}),p=Xo(new Uint8Array(g));a=e.createTexture({label:`Emoji-${t}`,size:[m.width,m.height],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST}),e.queue.writeTexture({texture:a},p,{bytesPerRow:m.width*4},[m.width,m.height])}else if(f){let h=await createImageBitmap(new Blob([f.buffer],{type:"image/png"})),g=new OffscreenCanvas(c,c),m=g.getContext("2d");if(m){let p=Math.min(c/h.width,c/h.height),b=h.width*p,y=h.height*p;m.imageSmoothingQuality="high",m.drawImage(h,(c-b)/2,(c-y)/2,b,y)}h.close(),a=e.createTexture({label:`Emoji-${t}`,size:[c,c],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT}),e.queue.copyExternalImageToTexture({source:g},{texture:a,premultipliedAlpha:!0},[c,c])}else{let h=Math.ceil(c/4)*4,g=new OffscreenCanvas(h,h),m=g.getContext("2d");m&&(m.font=`${r*l}px "Apple Color Emoji", "Segoe UI Emoji", sans-serif`,m.textBaseline="middle",m.textAlign="center",m.fillText(t,h/2,h/2)),a=e.createTexture({label:`Emoji-${t}`,size:[h,h],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT}),e.queue.copyExternalImageToTexture({source:g},{texture:a,premultipliedAlpha:!0},[h,h])}return s.emojiTextureCache.set(n,a),a}static getFont(e,t,r,n,a,o){let i={...o??{}},l=s.parsedFontCache.get(e);if(l?.variationAxes&&"opsz"in l.variationAxes&&a!==void 0&&i.opsz===void 0){let g=l.variationAxes.opsz,m=g?.min??14,p=g?.max??32;i.opsz=Math.min(p,Math.max(m,a))}let c=n3(e,t,n,i),f=s.cache.get(c);if(f)return r&&jn(r,f),f;if(l){let g=yu(t),m=l,p=!1;if(l.variationAxes&&Object.keys(l.variationAxes).length>0)try{if(typeof l.getVariation=="function"){let b={wght:g,...i},y=l.getVariation(b);y&&(typeof y.getGlyph=="function"||typeof y.glyphForCodePoint=="function")&&(m=y,p=!0)}}catch(b){console.warn(`[SlugFontCache] Failed to get variation for ${e} with weight ${g}:`,b)}if(m&&(typeof m.getGlyph=="function"||typeof m.glyphForCodePoint=="function"))try{let y=new ar({fullRange:!1,strokeWidth:n}).generate(r??null,m);return y.hasTrueWeight=p,y.weight=g,y.fontFamily=e,s.cache.set(c,y),y}catch(b){console.warn(`[SlugFontCache] Failed to generate variation font for ${e}:`,b)}}let h=s.cache.get(e);return h&&(h.fontFamily=e,r&&jn(r,h)),h}static registerFont(e,t){t.fontFamily=e,s.cache.set(e,t)}static ensureTextures(e,t){jn(e,t)}static addListener(e){return s.listeners.add(e),()=>{s.listeners.delete(e)}}static isFailed(e){let t=s.failedFonts.get(e);return t?Date.now()-t>5e3?(s.failedFonts.delete(e),!1):!0:!1}static clearFailed(e){e?s.failedFonts.delete(e):s.failedFonts.clear()}static async preloadSlugFont(e,t,r,n,a){if(s.isFailed(t))throw new Error(`Font "${t}" recently failed to load.`);let o,i=s.cache.get(t),l=null;if(typeof window<"u"){let c=window;c.renderer_delayRenderHandles=c.renderer_delayRenderHandles||[],a?l=`${a}-font-${Math.random()}`:l=Math.random(),c.renderer_delayRenderHandles.push(l)}try{if(i)o=i;else{let c=s.loadingPromises.get(t);c?o=await c:(c=(async()=>{try{let f=s.parsedFontCache.get(t),h=performance.now(),g=f??s3(new Uint8Array(await a3(t,r))),m=performance.now();s.parsedFontCache.set(t,g);let b=new ar({fullRange:!1,whitelist:n||null}).generate(e,g),y=performance.now();return Hr(`[SlugFontCache] Preloaded and parsed font "${t}":
|
|
3
|
+
`),new F("",_,":"),new F(" ",_,". "),new F("",_,"ed "),new F("",bf,""),new F("",gf,""),new F("",of,""),new F("",_,"("),new F("",ze,", "),new F("",uf,""),new F("",_," at "),new F("",_,"ly "),new F(" the ",_," of "),new F("",af,""),new F("",Ri,""),new F(" ",ze,", "),new F("",ze,'"'),new F(".",_,"("),new F("",je," "),new F("",ze,'">'),new F("",_,'="'),new F(" ",_,"."),new F(".com/",_,""),new F(" the ",_," of the "),new F("",ze,"'"),new F("",_,". This "),new F("",_,","),new F(".",_," "),new F("",ze,"("),new F("",ze,"."),new F("",_," not "),new F(" ",_,'="'),new F("",_,"er "),new F(" ",je," "),new F("",_,"al "),new F(" ",je,""),new F("",_,"='"),new F("",je,'"'),new F("",ze,". "),new F(" ",_,"("),new F("",_,"ful "),new F(" ",ze,". "),new F("",_,"ive "),new F("",_,"less "),new F("",je,"'"),new F("",_,"est "),new F(" ",ze,"."),new F("",je,'">'),new F(" ",_,"='"),new F("",ze,","),new F("",_,"ize "),new F("",je,"."),new F("\xC2\xA0",_,""),new F(" ",_,","),new F("",ze,'="'),new F("",je,'="'),new F("",_,"ous "),new F("",je,", "),new F("",ze,"='"),new F(" ",ze,","),new F(" ",je,'="'),new F(" ",je,", "),new F("",je,","),new F("",je,"("),new F("",je,". "),new F(" ",je,"."),new F("",je,"='"),new F(" ",je,". "),new F(" ",ze,'="'),new F(" ",je,"='"),new F(" ",ze,"='")];en.kTransforms=o0;en.kNumTransforms=o0.length;function Ui(s,e){return s[e]<192?(s[e]>=97&&s[e]<=122&&(s[e]^=32),1):s[e]<224?(s[e+1]^=32,2):(s[e+2]^=5,3)}en.transformDictionaryWord=function(s,e,t,r,n){var a=o0[n].prefix,o=o0[n].suffix,i=o0[n].transform,l=i<qs?0:i-(qs-1),c=0,f=e,h;l>r&&(l=r);for(var g=0;g<a.length;)s[e++]=a[g++];for(t+=l,r-=l,i<=Ri&&(r-=i),c=0;c<r;c++)s[e++]=tf.dictionary[t+c];if(h=e-r,i===ze)Ui(s,h);else if(i===je)for(;r>0;){var m=Ui(s,h);h+=m,r-=m}for(var p=0;p<o.length;)s[e++]=o[p++];return e-f}});var Vs=qe(nn=>{L();var Xi=zs().BrotliInput,mf=zs().BrotliOutput,Lr=Ei(),Or=js(),We=Xs().HuffmanCode,Hi=Xs().BrotliBuildHuffmanTable,Ir=Mi(),Zt=Di(),Ni=Gi(),xf=8,zi=16,vf=256,yf=704,wf=26,Vi=6,ji=2,Ks=8,Cf=255,_t=1080,Zs=18,Sf=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),_s=16,Pf=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),Af=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),Ef=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function qi(s){var e;return s.readBits(1)===0?16:(e=s.readBits(3),e>0?17+e:(e=s.readBits(3),e>0?8+e:17))}function Yi(s){if(s.readBits(1)){var e=s.readBits(3);return e===0?1:s.readBits(e)+(1<<e)}return 0}function Tf(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function Ki(s){var e=new Tf,t,r,n;if(e.input_end=s.readBits(1),e.input_end&&s.readBits(1))return e;if(t=s.readBits(2)+4,t===7){if(e.is_metadata=!0,s.readBits(1)!==0)throw new Error("Invalid reserved bit");if(r=s.readBits(2),r===0)return e;for(n=0;n<r;n++){var a=s.readBits(8);if(n+1===r&&r>1&&a===0)throw new Error("Invalid size byte");e.meta_block_length|=a<<n*8}}else for(n=0;n<t;++n){var o=s.readBits(4);if(n+1===t&&t>4&&o===0)throw new Error("Invalid size nibble");e.meta_block_length|=o<<n*4}return++e.meta_block_length,!e.input_end&&!e.is_metadata&&(e.is_uncompressed=s.readBits(1)),e}function Mr(s,e,t){var r=e,n;return t.fillBitWindow(),e+=t.val_>>>t.bit_pos_&Cf,n=s[e].bits-Ks,n>0&&(t.bit_pos_+=Ks,e+=s[e].value,e+=t.val_>>>t.bit_pos_&(1<<n)-1),t.bit_pos_+=s[e].bits,s[e].value}function kf(s,e,t,r){for(var n=0,a=xf,o=0,i=0,l=32768,c=[],f=0;f<32;f++)c.push(new We(0,0));for(Hi(c,0,5,s,Zs);n<e&&l>0;){var h=0,g;if(r.readMoreInput(),r.fillBitWindow(),h+=r.val_>>>r.bit_pos_&31,r.bit_pos_+=c[h].bits,g=c[h].value&255,g<zi)o=0,t[n++]=g,g!==0&&(a=g,l-=32768>>g);else{var m=g-14,p,b,y=0;if(g===zi&&(y=a),i!==y&&(o=0,i=y),p=o,o>0&&(o-=2,o<<=m),o+=r.readBits(m)+3,b=o-p,n+b>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var x=0;x<b;x++)t[n+x]=i;n+=b,i!==0&&(l-=b<<15-i)}}if(l!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+l);for(;n<e;n++)t[n]=0}function rn(s,e,t,r){var n=0,a,o=new Uint8Array(s);if(r.readMoreInput(),a=r.readBits(2),a===1){for(var i,l=s-1,c=0,f=new Int32Array(4),h=r.readBits(2)+1;l;)l>>=1,++c;for(i=0;i<h;++i)f[i]=r.readBits(c)%s,o[f[i]]=2;switch(o[f[0]]=1,h){case 1:break;case 3:if(f[0]===f[1]||f[0]===f[2]||f[1]===f[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(f[0]===f[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[f[1]]=1;break;case 4:if(f[0]===f[1]||f[0]===f[2]||f[0]===f[3]||f[1]===f[2]||f[1]===f[3]||f[2]===f[3])throw new Error("[ReadHuffmanCode] invalid symbols");r.readBits(1)?(o[f[2]]=3,o[f[3]]=3):o[f[0]]=2;break}}else{var i,g=new Uint8Array(Zs),m=32,p=0,b=[new We(2,0),new We(2,4),new We(2,3),new We(3,2),new We(2,0),new We(2,4),new We(2,3),new We(4,1),new We(2,0),new We(2,4),new We(2,3),new We(3,2),new We(2,0),new We(2,4),new We(2,3),new We(4,5)];for(i=a;i<Zs&&m>0;++i){var y=Sf[i],x=0,v;r.fillBitWindow(),x+=r.val_>>>r.bit_pos_&15,r.bit_pos_+=b[x].bits,v=b[x].value,g[y]=v,v!==0&&(m-=32>>v,++p)}if(!(p===1||m===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");kf(g,s,o,r)}if(n=Hi(e,t,Ks,o,s),n===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return n}function tn(s,e,t){var r,n;return r=Mr(s,e,t),n=Zt.kBlockLengthPrefixCode[r].nbits,Zt.kBlockLengthPrefixCode[r].offset+t.readBits(n)}function Ff(s,e,t){var r;return s<_s?(t+=Pf[s],t&=3,r=e[t]+Af[s]):r=s-_s+1,r}function If(s,e){for(var t=s[e],r=e;r;--r)s[r]=s[r-1];s[0]=t}function Of(s,e){var t=new Uint8Array(256),r;for(r=0;r<256;++r)t[r]=r;for(r=0;r<e;++r){var n=s[r];s[r]=t[n],n&&If(t,n)}}function gr(s,e){this.alphabet_size=s,this.num_htrees=e,this.codes=new Array(e+e*Ef[s+31>>>5]),this.htrees=new Uint32Array(e)}gr.prototype.decode=function(s){var e,t,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,t=rn(this.alphabet_size,this.codes,r,s),r+=t};function Wi(s,e){var t={num_htrees:null,context_map:null},r,n=0,a,o;e.readMoreInput();var i=t.num_htrees=Yi(e)+1,l=t.context_map=new Uint8Array(s);if(i<=1)return t;for(r=e.readBits(1),r&&(n=e.readBits(4)+1),a=[],o=0;o<_t;o++)a[o]=new We(0,0);for(rn(i+n,a,0,e),o=0;o<s;){var c;if(e.readMoreInput(),c=Mr(a,0,e),c===0)l[o]=0,++o;else if(c<=n)for(var f=1+(1<<c)+e.readBits(c);--f;){if(o>=s)throw new Error("[DecodeContextMap] i >= context_map_size");l[o]=0,++o}else l[o]=c-n,++o}return e.readBits(1)&&Of(l,s),t}function Ys(s,e,t,r,n,a,o){var i=t*2,l=t,c=Mr(e,t*_t,o),f;c===0?f=n[i+(a[l]&1)]:c===1?f=n[i+(a[l]-1&1)]+1:f=c-2,f>=s&&(f-=s),r[t]=f,n[i+(a[l]&1)]=f,++a[l]}function Lf(s,e,t,r,n,a){var o=n+1,i=t&n,l=a.pos_&Lr.IBUF_MASK,c;if(e<8||a.bit_pos_+(e<<3)<a.bit_end_pos_){for(;e-- >0;)a.readMoreInput(),r[i++]=a.readBits(8),i===o&&(s.write(r,o),i=0);return}if(a.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;a.bit_pos_<32;)r[i]=a.val_>>>a.bit_pos_,a.bit_pos_+=8,++i,--e;if(c=a.bit_end_pos_-a.bit_pos_>>3,l+c>Lr.IBUF_MASK){for(var f=Lr.IBUF_MASK+1-l,h=0;h<f;h++)r[i+h]=a.buf_[l+h];c-=f,i+=f,e-=f,l=0}for(var h=0;h<c;h++)r[i+h]=a.buf_[l+h];if(i+=c,e-=c,i>=o){s.write(r,o),i-=o;for(var h=0;h<i;h++)r[h]=r[o+h]}for(;i+e>=o;){if(c=o-i,a.input_.read(r,i,c)<c)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");s.write(r,o),e-=c,i=0}if(a.input_.read(r,i,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");a.reset()}function Mf(s){var e=s.bit_pos_+7&-8,t=s.readBits(e-s.bit_pos_);return t==0}function Zi(s){var e=new Xi(s),t=new Lr(e);qi(t);var r=Ki(t);return r.meta_block_length}nn.BrotliDecompressedSize=Zi;function Df(s,e){var t=new Xi(s);e==null&&(e=Zi(s));var r=new Uint8Array(e),n=new mf(r);return _i(t,n),n.pos<n.buffer.length&&(n.buffer=n.buffer.subarray(0,n.pos)),n.buffer}nn.BrotliDecompressBuffer=Df;function _i(s,e){var t,r=0,n=0,a=0,o,i=0,l,c,f,h,g=[16,15,11,4],m=0,p=0,b=0,y=[new gr(0,0),new gr(0,0),new gr(0,0)],x,v,d,S=128+Lr.READ_SIZE;d=new Lr(s),a=qi(d),o=(1<<a)-16,l=1<<a,c=l-1,f=new Uint8Array(l+S+Or.maxDictionaryWordLength),h=l,x=[],v=[];for(var E=0;E<3*_t;E++)x[E]=new We(0,0),v[E]=new We(0,0);for(;!n;){var k=0,M,I=[1<<28,1<<28,1<<28],B=[0],R=[1,1,1],Q=[0,1,0,1,0,1],Y=[0],q,U,O,X,T=null,N=null,G,V=null,ne,le=0,Ee=null,ie=0,de=0,pe=null,Se=0,Ce=0,ke=0,te,ge;for(t=0;t<3;++t)y[t].codes=null,y[t].htrees=null;d.readMoreInput();var Qe=Ki(d);if(k=Qe.meta_block_length,r+k>e.buffer.length){var Re=new Uint8Array(r+k);Re.set(e.buffer),e.buffer=Re}if(n=Qe.input_end,M=Qe.is_uncompressed,Qe.is_metadata){for(Mf(d);k>0;--k)d.readMoreInput(),d.readBits(8);continue}if(k!==0){if(M){d.bit_pos_=d.bit_pos_+7&-8,Lf(e,k,r,f,c,d),r+=k;continue}for(t=0;t<3;++t)R[t]=Yi(d)+1,R[t]>=2&&(rn(R[t]+2,x,t*_t,d),rn(wf,v,t*_t,d),I[t]=tn(v,t*_t,d),Y[t]=1);for(d.readMoreInput(),q=d.readBits(2),U=_s+(d.readBits(4)<<q),O=(1<<q)-1,X=U+(48<<q),N=new Uint8Array(R[0]),t=0;t<R[0];++t)d.readMoreInput(),N[t]=d.readBits(2)<<1;var ct=Wi(R[0]<<Vi,d);G=ct.num_htrees,T=ct.context_map;var $e=Wi(R[2]<<ji,d);for(ne=$e.num_htrees,V=$e.context_map,y[0]=new gr(vf,G),y[1]=new gr(yf,R[1]),y[2]=new gr(X,ne),t=0;t<3;++t)y[t].decode(d);for(Ee=0,pe=0,te=N[B[0]],Ce=Ir.lookupOffsets[te],ke=Ir.lookupOffsets[te+1],ge=y[1].htrees[0];k>0;){var et,He,K,xe,be,z,se,J,ae,re,Le;for(d.readMoreInput(),I[1]===0&&(Ys(R[1],x,1,B,Q,Y,d),I[1]=tn(v,_t,d),ge=y[1].htrees[B[1]]),--I[1],et=Mr(y[1].codes,ge,d),He=et>>6,He>=2?(He-=2,se=-1):se=0,K=Zt.kInsertRangeLut[He]+(et>>3&7),xe=Zt.kCopyRangeLut[He]+(et&7),be=Zt.kInsertLengthPrefixCode[K].offset+d.readBits(Zt.kInsertLengthPrefixCode[K].nbits),z=Zt.kCopyLengthPrefixCode[xe].offset+d.readBits(Zt.kCopyLengthPrefixCode[xe].nbits),p=f[r-1&c],b=f[r-2&c],re=0;re<be;++re)d.readMoreInput(),I[0]===0&&(Ys(R[0],x,0,B,Q,Y,d),I[0]=tn(v,0,d),le=B[0]<<Vi,Ee=le,te=N[B[0]],Ce=Ir.lookupOffsets[te],ke=Ir.lookupOffsets[te+1]),ae=Ir.lookup[Ce+p]|Ir.lookup[ke+b],ie=T[Ee+ae],--I[0],b=p,p=Mr(y[0].codes,y[0].htrees[ie],d),f[r&c]=p,(r&c)===c&&e.write(f,l),++r;if(k-=be,k<=0)break;if(se<0){var ae;if(d.readMoreInput(),I[2]===0&&(Ys(R[2],x,2,B,Q,Y,d),I[2]=tn(v,2*_t,d),de=B[2]<<ji,pe=de),--I[2],ae=(z>4?3:z-2)&255,Se=V[pe+ae],se=Mr(y[2].codes,y[2].htrees[Se],d),se>=U){var Ne,ye,Oe;se-=U,ye=se&O,se>>=q,Ne=(se>>1)+1,Oe=(2+(se&1)<<Ne)-4,se=U+(Oe+d.readBits(Ne)<<q)+ye}}if(J=Ff(se,g,m),J<0)throw new Error("[BrotliDecompress] invalid distance");if(r<o&&i!==o?i=r:i=o,Le=r&c,J>i)if(z>=Or.minDictionaryWordLength&&z<=Or.maxDictionaryWordLength){var Oe=Or.offsetsByLength[z],ft=J-i-1,Ct=Or.sizeBitsByLength[z],St=(1<<Ct)-1,Pt=ft&St,Pe=ft>>Ct;if(Oe+=Pt*z,Pe<Ni.kNumTransforms){var Ie=Ni.transformDictionaryWord(f,Le,Oe,z,Pe);if(Le+=Ie,r+=Ie,k-=Ie,Le>=h){e.write(f,l);for(var st=0;st<Le-h;st++)f[st]=f[h+st]}}else throw new Error("Invalid backward reference. pos: "+r+" distance: "+J+" len: "+z+" bytes left: "+k)}else throw new Error("Invalid backward reference. pos: "+r+" distance: "+J+" len: "+z+" bytes left: "+k);else{if(se>0&&(g[m&3]=J,++m),z>k)throw new Error("Invalid backward reference. pos: "+r+" distance: "+J+" len: "+z+" bytes left: "+k);for(re=0;re<z;++re)f[r&c]=f[r-J&c],(r&c)===c&&e.write(f,l),++r,--k}p=f[r-1&c],b=f[r-2&c]}r&=1073741823}}e.write(f,r&c)}nn.BrotliDecompress=_i;Or.init()});var Qi=qe((rm,Ji)=>{L();Ji.exports=Vs().BrotliDecompressBuffer});L();L();L();L();L();var tc={utf16le:"utf-16le",ucs2:"utf-16le",utf16be:"utf-16be"},Me=class{constructor(e){this.buffer=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.pos=0,this.length=this.buffer.length}readString(e,t="ascii"){t=tc[t]||t;let r=this.readBuffer(e);try{return new TextDecoder(t).decode(r)}catch{return r}}readBuffer(e){return this.buffer.slice(this.pos,this.pos+=e)}readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()}readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)}readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()}readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)}};Me.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8};for(let s of Object.getOwnPropertyNames(DataView.prototype))if(s.slice(0,3)==="get"){let e=s.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let t=Me.TYPES[e];Me.prototype["read"+e+(t===1?"":"BE")]=function(){let r=this.view[s](this.pos,!1);return this.pos+=t,r},t!==1&&(Me.prototype["read"+e+"LE"]=function(){let r=this.view[s](this.pos,!0);return this.pos+=t,r})}var rc=new TextEncoder,Ho=new Uint8Array(new Uint16Array([4660]).buffer)[0]==18,Bt=class{constructor(e){this.buffer=e,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.pos=0}writeBuffer(e){this.buffer.set(e,this.pos),this.pos+=e.length}writeString(e,t="ascii"){let r;switch(t){case"utf16le":case"utf16-le":case"ucs2":r=qo(e,Ho);break;case"utf16be":case"utf16-be":r=qo(e,!Ho);break;case"utf8":r=rc.encode(e);break;case"ascii":r=nc(e);break;default:throw new Error(`Unsupported encoding: ${t}`)}this.writeBuffer(r)}writeUInt24BE(e){this.buffer[this.pos++]=e>>>16&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e&255}writeUInt24LE(e){this.buffer[this.pos++]=e&255,this.buffer[this.pos++]=e>>>8&255,this.buffer[this.pos++]=e>>>16&255}writeInt24BE(e){e>=0?this.writeUInt24BE(e):this.writeUInt24BE(e+16777215+1)}writeInt24LE(e){e>=0?this.writeUInt24LE(e):this.writeUInt24LE(e+16777215+1)}fill(e,t){if(t<this.buffer.length)this.buffer.fill(e,this.pos,this.pos+t),this.pos+=t;else{let r=new Uint8Array(t);r.fill(e),this.writeBuffer(r)}}};function qo(s,e){let t=new Uint16Array(s.length);for(let r=0;r<s.length;r++){let n=s.charCodeAt(r);e&&(n=n>>8|(n&255)<<8),t[r]=n}return new Uint8Array(t.buffer)}function nc(s){let e=new Uint8Array(s.length);for(let t=0;t<s.length;t++)e[t]=s.charCodeAt(t);return e}for(let s of Object.getOwnPropertyNames(DataView.prototype))if(s.slice(0,3)==="set"){let e=s.slice(3).replace("Ui","UI");e==="Float32"?e="Float":e==="Float64"&&(e="Double");let t=Me.TYPES[e];Bt.prototype["write"+e+(t===1?"":"BE")]=function(r){this.view[s](this.pos,r,!1),this.pos+=t},t!==1&&(Bt.prototype["write"+e+"LE"]=function(r){this.view[s](this.pos,r,!0),this.pos+=t})}L();L();var Ge=class{fromBuffer(e){let t=new Me(e);return this.decode(t)}toBuffer(e){let t=this.size(e),r=new Uint8Array(t),n=new Bt(r);return this.encode(n,e),r}};L();var fe=class extends Ge{constructor(e,t="BE"){super(),this.type=e,this.endian=t,this.fn=this.type,this.type[this.type.length-1]!=="8"&&(this.fn+=this.endian)}size(){return Me.TYPES[this.type]}decode(e){return e[`read${this.fn}`]()}encode(e,t){return e[`write${this.fn}`](t)}};var j=new fe("UInt8"),sc=new fe("UInt16","BE"),u=sc,j3=new fe("UInt16","LE"),ac=new fe("UInt24","BE"),Ut=ac,W3=new fe("UInt24","LE"),oc=new fe("UInt32","BE"),P=oc,X3=new fe("UInt32","LE"),Ve=new fe("Int8"),ic=new fe("Int16","BE"),D=ic,H3=new fe("Int16","LE"),q3=new fe("Int24","BE");var Y3=new fe("Int24","LE"),lc=new fe("Int32","BE"),Ht=lc,K3=new fe("Int32","LE"),Z3=new fe("Float","BE");var _3=new fe("Float","LE"),J3=new fe("Double","BE");var Q3=new fe("Double","LE"),Tt=class extends fe{constructor(e,t,r=e>>1){super(`Int${e}`,t),this._point=1<<r}decode(e){return super.decode(e)/this._point}encode(e,t){return super.encode(e,t*this._point|0)}},uc=new Tt(16,"BE"),Yo=uc,$3=new Tt(16,"LE"),cc=new Tt(32,"BE"),Be=cc,eg=new Tt(32,"LE");L();function _e(s,e,t){let r;if(typeof s=="number"?r=s:typeof s=="function"?r=s.call(t,t):t&&typeof s=="string"?r=t[s]:e&&s instanceof fe&&(r=s.decode(e)),isNaN(r))throw new Error("Not a fixed size");return r}var qt=class{constructor(e={}){this.enumerable=!0,this.configurable=!0;for(let t in e){let r=e[t];this[t]=r}}};var w=class extends Ge{constructor(e,t,r="count"){super(),this.type=e,this.length=t,this.lengthType=r}decode(e,t){let r,{pos:n}=e,a=[],o=t;if(this.length!=null&&(r=_e(this.length,e,t)),this.length instanceof fe&&(Object.defineProperties(a,{parent:{value:t},_startOffset:{value:n},_currentOffset:{value:0,writable:!0},_length:{value:r}}),o=a),r==null||this.lengthType==="bytes"){let i=r!=null?e.pos+r:t?._length?t._startOffset+t._length:e.length;for(;e.pos<i;)a.push(this.type.decode(e,o))}else for(let i=0,l=r;i<l;i++)a.push(this.type.decode(e,o));return a}size(e,t,r=!0){if(!e)return this.type.size(null,t)*_e(this.length,null,t);let n=0;this.length instanceof fe&&(n+=this.length.size(),t={parent:t,pointerSize:0});for(let a of e)n+=this.type.size(a,t);return t&&r&&this.length instanceof fe&&(n+=t.pointerSize),n}encode(e,t,r){let n=r;this.length instanceof fe&&(n={pointers:[],startOffset:e.pos,parent:r},n.pointerOffset=e.pos+this.size(t,n,!1),this.length.encode(e,t.length));for(let a of t)this.type.encode(e,a,n);if(this.length instanceof fe){let a=0;for(;a<n.pointers.length;){let o=n.pointers[a++];o.type.encode(e,o.val,o.parent)}}}};L();var we=class extends w{decode(e,t){let{pos:r}=e,n=_e(this.length,e,t);this.length instanceof fe&&(t={parent:t,_startOffset:r,_currentOffset:0,_length:n});let a=new n0(this.type,n,e,t);return e.pos+=n*this.type.size(null,t),a}size(e,t){return e instanceof n0&&(e=e.toArray()),super.size(e,t)}encode(e,t,r){return t instanceof n0&&(t=t.toArray()),super.encode(e,t,r)}},n0=class{constructor(e,t,r,n){this.type=e,this.length=t,this.stream=r,this.ctx=n,this.base=this.stream.pos,this.items=[]}get(e){if(!(e<0||e>=this.length)){if(this.items[e]==null){let{pos:t}=this.stream;this.stream.pos=this.base+this.type.size(null,this.ctx)*e,this.items[e]=this.type.decode(this.stream,this.ctx),this.stream.pos=t}return this.items[e]}}toArray(){let e=[];for(let t=0,r=this.length;t<r;t++)e.push(this.get(t));return e}};L();var tt=class extends Ge{constructor(e,t=[]){super(),this.type=e,this.flags=t}decode(e){let t=this.type.decode(e),r={};for(let n=0;n<this.flags.length;n++){let a=this.flags[n];a!=null&&(r[a]=!!(t&1<<n))}return r}size(){return this.type.size()}encode(e,t){let r=0;for(let n=0;n<this.flags.length;n++){let a=this.flags[n];a!=null&&t[a]&&(r|=1<<n)}return this.type.encode(e,r)}};L();L();var it=class extends Ge{constructor(e){super(),this.length=e}decode(e,t){let r=_e(this.length,e,t);return e.readBuffer(r)}size(e,t){if(!e)return _e(this.length,null,t);let r=e.length;return this.length instanceof fe&&(r+=this.length.size()),r}encode(e,t,r){return this.length instanceof fe&&this.length.encode(e,t.length),e.writeBuffer(t)}};L();L();var Yt=class extends Ge{constructor(e,t=!0){super(),this.type=e,this.condition=t}decode(e,t){let{condition:r}=this;if(typeof r=="function"&&(r=r.call(t,t)),r)return this.type.decode(e,t)}size(e,t){let{condition:r}=this;return typeof r=="function"&&(r=r.call(t,t)),r?this.type.size(e,t):0}encode(e,t,r){let{condition:n}=this;if(typeof n=="function"&&(n=n.call(r,r)),n)return this.type.encode(e,t,r)}};L();var Te=class extends Ge{constructor(e,t=1){super(),this.type=e,this.count=t}decode(e,t){e.pos+=this.size(null,t)}size(e,t){let r=_e(this.count,null,t);return this.type.size()*r}encode(e,t,r){return e.fill(0,this.size(t,r))}};L();var ve=class extends Ge{constructor(e,t="ascii"){super(),this.length=e,this.encoding=t}decode(e,t){let r,n,{encoding:a}=this;typeof a=="function"&&(a=a.call(t,t)||"ascii");let o=xs(a);if(this.length!=null)r=_e(this.length,e,t);else{let l;for({buffer:l,length:r,pos:n}=e;n<r-o+1&&(l[n]!==0||o===2&&l[n+1]!==0);)n+=o;r=n-e.pos}let i=e.readString(r,a);return this.length==null&&e.pos<e.length&&(e.pos+=o),i}size(e,t){if(e==null)return _e(this.length,null,t);let{encoding:r}=this;typeof r=="function"&&(r=r.call(t?.val,t?.val)||"ascii"),r==="utf16be"&&(r="utf16le");let n=Ko(e,r);return this.length instanceof fe&&(n+=this.length.size()),this.length==null&&(n+=xs(r)),n}encode(e,t,r){let{encoding:n}=this;if(typeof n=="function"&&(n=n.call(r?.val,r?.val)||"ascii"),this.length instanceof fe&&this.length.encode(e,Ko(t,n)),e.writeString(t,n),this.length==null)return xs(n)==2?e.writeUInt16LE(0):e.writeUInt8(0)}};function xs(s){switch(s){case"ascii":case"utf8":return 1;case"utf16le":case"utf16-le":case"utf-16be":case"utf-16le":case"utf16be":case"utf16-be":case"ucs2":return 2;default:return 1}}function Ko(s,e){switch(e){case"ascii":return s.length;case"utf8":let t=0;for(let r=0;r<s.length;r++){let n=s.charCodeAt(r);if(n>=55296&&n<=56319&&r<s.length-1){let a=s.charCodeAt(++r);(a&64512)===56320?n=((n&1023)<<10)+(a&1023)+65536:r--}(n&4294967168)===0?t++:(n&4294965248)===0?t+=2:(n&4294901760)===0?t+=3:(n&4292870144)===0&&(t+=4)}return t;case"utf16le":case"utf16-le":case"utf16be":case"utf16-be":case"ucs2":return s.length*2;default:throw new Error("Unknown encoding "+e)}}L();var A=class extends Ge{constructor(e={}){super(),this.fields=e}decode(e,t,r=0){let n=this._setup(e,t,r);return this._parseFields(e,n,this.fields),this.process!=null&&this.process.call(n,e),n}_setup(e,t,r){let n={};return Object.defineProperties(n,{parent:{value:t},_startOffset:{value:e.pos},_currentOffset:{value:0,writable:!0},_length:{value:r}}),n}_parseFields(e,t,r){for(let a in r){var n;let o=r[a];typeof o=="function"?n=o.call(t,t):n=o.decode(e,t),n!==void 0&&(n instanceof qt?Object.defineProperty(t,a,n):t[a]=n),t._currentOffset=e.pos-t._startOffset}}size(e,t,r=!0){e==null&&(e={});let n={parent:t,val:e,pointerSize:0};this.preEncode!=null&&this.preEncode.call(e);let a=0;for(let o in this.fields){let i=this.fields[o];i.size!=null&&(a+=i.size(e[o],n))}return r&&(a+=n.pointerSize),a}encode(e,t,r){let n;this.preEncode!=null&&this.preEncode.call(t,e);let a={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};a.pointerOffset=e.pos+this.size(t,a,!1);for(let i in this.fields)n=this.fields[i],n.encode!=null&&n.encode(e,t[i],a);let o=0;for(;o<a.pointers.length;){let i=a.pointers[o++];i.type.encode(e,i.val,i.parent)}}};L();var fc=(s,e)=>e.reduce((t,r)=>t&&t[r],s),ue=class s extends A{constructor(e,t={}){super(),this.type=e,this.versions=t,typeof e=="string"&&(this.versionPath=e.split("."))}decode(e,t,r=0){let n=this._setup(e,t,r);typeof this.type=="string"?n.version=fc(t,this.versionPath):n.version=this.type.decode(e),this.versions.header&&this._parseFields(e,n,this.versions.header);let a=this.versions[n.version];if(a==null)throw new Error(`Unknown version ${n.version}`);return a instanceof s?a.decode(e,t):(this._parseFields(e,n,a),this.process!=null&&this.process.call(n,e),n)}size(e,t,r=!0){let n,a;if(!e)throw new Error("Not a fixed size");this.preEncode!=null&&this.preEncode.call(e);let o={parent:t,val:e,pointerSize:0},i=0;if(typeof this.type!="string"&&(i+=this.type.size(e.version,o)),this.versions.header)for(n in this.versions.header)a=this.versions.header[n],a.size!=null&&(i+=a.size(e[n],o));let l=this.versions[e.version];if(l==null)throw new Error(`Unknown version ${e.version}`);for(n in l)a=l[n],a.size!=null&&(i+=a.size(e[n],o));return r&&(i+=o.pointerSize),i}encode(e,t,r){let n,a;this.preEncode!=null&&this.preEncode.call(t,e);let o={pointers:[],startOffset:e.pos,parent:r,val:t,pointerSize:0};if(o.pointerOffset=e.pos+this.size(t,o,!1),typeof this.type!="string"&&this.type.encode(e,t.version),this.versions.header)for(n in this.versions.header)a=this.versions.header[n],a.encode!=null&&a.encode(e,t[n],o);let i=this.versions[t.version];for(n in i)a=i[n],a.encode!=null&&a.encode(e,t[n],o);let l=0;for(;l<o.pointers.length;){let c=o.pointers[l++];c.type.encode(e,c.val,c.parent)}}};L();var C=class extends Ge{constructor(e,t,r={}){if(super(),this.offsetType=e,this.type=t,this.options=r,this.type==="void"&&(this.type=null),this.options.type==null&&(this.options.type="local"),this.options.allowNull==null&&(this.options.allowNull=!0),this.options.nullValue==null&&(this.options.nullValue=0),this.options.lazy==null&&(this.options.lazy=!1),this.options.relativeTo){if(typeof this.options.relativeTo!="function")throw new Error("relativeTo option must be a function");this.relativeToGetter=r.relativeTo}}decode(e,t){let r=this.offsetType.decode(e,t);if(r===this.options.nullValue&&this.options.allowNull)return null;let n;switch(this.options.type){case"local":n=t._startOffset;break;case"immediate":n=e.pos-this.offsetType.size();break;case"parent":n=t.parent._startOffset;break;default:for(var a=t;a.parent;)a=a.parent;n=a._startOffset||0}this.options.relativeTo&&(n+=this.relativeToGetter(t));let o=r+n;if(this.type!=null){let i=null,l=()=>{if(i!=null)return i;let{pos:c}=e;return e.pos=o,i=this.type.decode(e,t),e.pos=c,i};return this.options.lazy?new qt({get:l}):l()}else return o}size(e,t){let r=t;switch(this.options.type){case"local":case"immediate":break;case"parent":t=t.parent;break;default:for(;t.parent;)t=t.parent}let{type:n}=this;if(n==null){if(!(e instanceof Er))throw new Error("Must be a VoidPointer");({type:n}=e),e=e.value}if(e&&t){let a=n.size(e,r);t.pointerSize+=a}return this.offsetType.size()}encode(e,t,r){let n,a=r;if(t==null){this.offsetType.encode(e,this.options.nullValue);return}switch(this.options.type){case"local":n=r.startOffset;break;case"immediate":n=e.pos+this.offsetType.size(t,a);break;case"parent":r=r.parent,n=r.startOffset;break;default:for(n=0;r.parent;)r=r.parent}this.options.relativeTo&&(n+=this.relativeToGetter(a.val)),this.offsetType.encode(e,r.pointerOffset-n);let{type:o}=this;if(o==null){if(!(t instanceof Er))throw new Error("Must be a VoidPointer");({type:o}=t),t=t.value}return r.pointers.push({type:o,val:t,parent:a}),r.pointerOffset+=o.size(t,a)}},Er=class{constructor(e,t){this.type=e,this.value=t}};L();function rt(s,e,t){return e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s}L();L();function Xe(s,e,t,r){var n=arguments.length,a=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(s,e,t,r);else for(var i=s.length-1;i>=0;i--)(o=s[i])&&(a=(n<3?o(a):n>3?o(e,t,a):o(e,t))||a);return n>3&&a&&Object.defineProperty(e,t,a),a}var aa=Xt(_o(),1);L();var gi=Xt(ys(),1),bi=Xt(Is(),1);function fr(s){return s&&s.__esModule?s.default:s}var Kt={};Kt=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');var Os=new bi.default(gi.default.toByteArray("AAARAAAAAADwfAEAZXl5ONRt+/5bPVFZimRfKoTQJNm37CGE7Iw0j3UsTWKsoyI7kwyyTiEUzSD7NiEzhWYijH0wMVkHE4Mx49fzfo+3nuP4/fdZjvv+XNd5n/d9nef1WZvmKhTxiZndzDQBSEYQqxqKwnsKvGQucFh+6t6cJ792ePQBZv5S9yXSwkyjf/P4T7mTNnIAv1dOVhMlR9lflbUL9JeJguqsjvG9NTj/wLb566VAURnLo2vvRi89S3gW/33ihh2eXpDn40BIW7REl/7coRKIhAFlAiOtbLDTt6mMb4GzMF1gNnvX/sBxtbsAIjfztCNcQjcNDtLThRvuXu5M5g/CBjaLBE4lJm4qy/oZD97+IJryApcXfgWYlkvWbhfXgujOJKVu8B+ozqTLbxyJ5kNiR75CxDqfBM9eOlDMmGeoZ0iQbbS5VUplIwI+ZNXEKQVJxlwqjhOY7w3XwPesbLK5JZE+Tt4X8q8km0dzInsPPzbscrjBMVjF5mOHSeRdJVgKUjLTHiHqXSPkep8N/zFk8167KLp75f6RndkvzdfB6Uz3MmqvRArzdCbs1/iRZjYPLLF3U8Qs+H+Rb8iK51a6NIV2V9+07uJsTGFWpPz8J++7iRu2B6eAKlK/kujrLthwaD/7a6J5w90TusnH1JMAc+gNrql4aspOUG/RrsxUKmPzhHgP4Bleru+6Vfc/MBjgXVx7who94nPn7MPFrnwQP7g0k0Dq0h2GSKO6fTZ8nLodN1SiOUj/5EL/Xo1DBvRm0wmrh3x6phcJ20/9CuMr5h8WPqXMSasLoLHoufTmE7mzYrs6B0dY7KjuCogKqsvxnxAwXWvd9Puc9PnE8DOHT2INHxRlIyVHrqZahtfV2E/A2PDdtA3ewlRHMtFIBKO/T4IozWTQZ+mb+gdKuk/ZHrqloucKdsOSJmlWTSntWjcxVMjUmroXLM10I6TwDLnBq4LP69TxgVeyGsd8yHvhF8ydPlrNRSNs9EP7WmeuSE7Lu10JbOuQcJw/63sDp68wB9iwP5AO+mBpV0R5VDDeyQUFCel1G+4KHBgEVFS0YK+m2sXLWLuGTlkVAd97WwKKdacjWElRCuDRauf33l/yVcDF6sVPKeTes99FC1NpNWcpieGSV/IbO8PCTy5pbUR1U8lxzf4T+y6fZMxOz3LshkQLeeDSd0WmUrQgajmbktrxsb2AZ0ACw2Vgni+gV/m+KvCRWLg08Clx7uhql+v9XySGcjjOHlsp8vBw/e8HS7dtiqF6T/XcSXuaMW66GF1g4q9YyBadHqy3Y5jin1c7yZos6BBr6dsomSHxiUHanYtcYQwnMMZhRhOnaYJeyJzaRuukyCUh48+e/BUvk/aEfDp8ag+jD64BHxNnQ5v/E7WRk7eLjGV13I3oqy45YNONi/1op1oDr7rPjkhPsTXgUpQtGDPlIs55KhQaic9kSGs/UrZ2QKQOflB8MTEQxRF9pullToWO7Eplan6mcMRFnUu2441yxi23x+KqKlr7RWWsi9ZXMWlr8vfP3llk1m2PRj0yudccxBuoa7VfIgRmnFPGX6Pm1WIfMm/Rm4n/xTn8IGqA0GWuqgu48pEUO0U9nN+ZdIvFpPb7VDPphIfRZxznlHeVFebkd9l+raXy9BpTMcIUIvBfgHEb6ndGo8VUkxpief14KjzFOcaANfgvFpvyY8lE8lE4raHizLpluPzMks1hx/e1Hok5yV0p7qQH7GaYeMzzZTFvRpv6k6iaJ4yNqzBvN8J7B430h2wFm1IBPcqbou33G7/NWPgopl4Mllla6e24L3TOTVNkza2zv3QKuDWTeDpClCEYgTQ+5vEBSQZs/rMF50+sm4jofTgWLqgX1x3TkrDEVaRqfY/xZizFZ3Y8/DFEFD31VSfBQ5raEB6nHnZh6ddehtclQJ8fBrldyIh99LNnV32HzKEej04hk6SYjdauCa4aYW0ru/QxvQRGzLKOAQszf3ixJypTW3WWL6BLSF2EMCMIw7OUvWBC6A/gDc2D1jvBapMCc7ztx6jYczwTKsRLL6dMNXb83HS8kdD0pTMMj161zbVHkU0mhSHo9SlBDDXdN6hDvRGizmohtIyR3ot8tF5iUG4GLNcXeGvBudSFrHu+bVZb9jirNVG+rQPI51A7Hu8/b0UeaIaZ4UgDO68PkYx3PE2HWpKapJ764Kxt5TFYpywMy4DLQqVRy11I7SOLhxUFmqiEK52NaijWArIfCg6qG8q5eSiwRCJb1R7GDJG74TrYgx/lVq7w9++Kh929xSJEaoSse5fUOQg9nMAnIZv+7fwVRcNv3gOHI46Vb5jYUC66PYHO6lS+TOmvEQjuYmx4RkffYGxqZIp/DPWNHAixbRBc+XKE3JEOgs4jIwu/dSAwhydruOGF39co91aTs85JJ3Z/LpXoF43hUwJsb/M1Chzdn8HX8vLXnqWUKvRhNLpfAF4PTFqva1sBQG0J+59HyYfmQ3oa4/sxZdapVLlo/fooxSXi/dOEQWIWq8E0FkttEyTFXR2aNMPINMIzZwCNEheYTVltsdaLkMyKoEUluPNAYCM2IG3br0DLy0fVNWKHtbSKbBjfiw7Lu06gQFalC7RC9BwRMSpLYDUo9pDtDfzwUiPJKLJ2LGcSphWBadOI/iJjNqUHV7ucG8yC6+iNM9QYElqBR7ECFXrcTgWQ3eG/tCWacT9bxIkfmxPmi3vOd36KxihAJA73vWNJ+Y9oapXNscVSVqS5g15xOWND/WuUCcA9YAAg6WFbjHamrblZ5c0L6Zx1X58ZittGcfDKU697QRSqW/g+RofNRyvrWMrBn44cPvkRe2HdTu/Cq01C5/riWPHZyXPKHuSDDdW8c1XPgd6ogvLh20qEIu8c19sqr4ufyHrwh37ZN5MkvY1dsGmEz9pUBTxWrvvhNyODyX2Q1k/fbX/T/vbHNcBrmjgDtvBdtZrVtiIg5iXQuzO/DEMvRX8Mi1zymSlt92BGILeKItjoShJXE/H7xwnf0Iewb8BFieJ9MflEBCQYEDm8eZniiEPfGoaYiiEdhQxHQNr2AuRdmbL9mcl18Kumh+HEZLp6z+j35ML9zTbUwahUZCyQQOgQrGfdfQtaR/OYJ/9dYXb2TWZFMijfCA8Nov4sa5FFDUe1T68h4q08WDE7JbbDiej4utRMR9ontevxlXv6LuJTXt1YEv8bDzEt683PuSsIN0afvu0rcBu9AbXZbkOG3K3AhtqQ28N23lXm7S3Yn6KXmAhBhz+GeorJJ4XxO/b3vZk2LXp42+QvsVxGSNVpfSctIFMTR1bD9t70i6sfNF3WKz/uKDEDCpzzztwhL45lsw89H2IpWN10sXHRlhDse9KCdpP5qNNpU84cTY+aiqswqR8XZ9ea0KbVRwRuOGQU3csAtV2fSbnq47U6es6rKlWLWhg3s/B9C9g+oTyp6RtIldR51OOkP5/6nSy6itUVPcMNOp4M/hDdKOz3uK6srbdxOrc2cJgr1Sg02oBxxSky6V7JaG+ziNwlfqnjnvh2/uq1lKfbp+qpwq/D/5OI5gkFl5CejKGxfc2YVJfGqc4E0x5e9PHK2ukbHNI7/RZV6LNe65apbTGjoCaQls0txPPbmQbCQn+/upCoXRZy9yzorWJvZ0KWcbXlBxU/d5I4ERUTxMuVWhSMmF677LNN7NnLwsmKawXkCgbrpcluOl0WChR1qhtSrxGXHu251dEItYhYX3snvn1gS2uXuzdTxCJjZtjsip0iT2sDC0qMS7Bk9su2NyXjFK5/f5ZoWwofg3DtTyjaFqspnOOTSh8xK/CKUFS57guVEkw9xoQuRCwwEO9Lu9z2vYxSa9NFV8DvSxv2C4WYLYF8Nrc4DzWkzNsk81JJOlZ/LYJrGCoj4MmZpnf3AXmzxT4rtl9jsqljEyedz468SGKdBiQzyz/qWKEhFg45ZczlZZ3KGL3l6sn+3TTa3zMVMhPa1obGp/z+fvY0QXTrJTf1XAT3EtQdUfYYlmWZyvPZ/6rWwU7UOQei7pVE0osgN94Iy+T1+omE6z4Rh2O20FjgBeK2y1mcoFiMDOJvuZPn5Moy9fmFH3wyfKvn4+TwfLvt/lHTTVnvrtoUWRBiQXhiNM8nE6ZoWeux/Z0b2unRcdUzdDpmL7CAgd1ToRXwgmHTZOgiGtVT+xr1QH9ObebRTT4NzL+XSpLuuWp62GqQvJVTPoZOeJCb6gIwd9XHMftQ+Kc08IKKdKQANSJ1a2gve3JdRhO0+tNiYzWAZfd7isoeBu67W7xuK8WX7nhJURld98Inb0t/dWOSau/kDvV4DJo/cImw9AO2Gvq0F2n0M7yIZKL8amMbjYld+qFls7hq8Acvq97K2PrCaomuUiesu7qNanGupEl6J/iem8lyr/NMnsTr6o41PO0yhQh3hPFN0wJP7S830je9iTBLzUNgYH+gUZpROo3rN2qgCI+6GewpX8w8CH+ro6QrWiStqmcMzVa3vEel+3/dDxMp0rDv1Q6wTMS3K64zTT6RWzK1y643im25Ja7X2ePCV2mTswd/4jshZPo4bLnerqIosq/hy2bKUAmVn9n4oun1+a0DIZ56UhVwmZHdUNpLa8gmPvxS1eNvCF1T0wo1wKPdCJi0qOrWz7oYRTzgTtkzEzZn308XSLwUog4OWGKJzCn/3FfF9iA32dZHSv30pRCM3KBY9WZoRhtdK/ChHk6DEQBsfV6tN2o1Cn0mLtPBfnkS+qy1L2xfFe9TQPtDE1Be44RTl82E9hPT2rS2+93LFbzhQQO3C/hD2jRFH3BWWbasAfuMhRJFcTri73eE835y016s22DjoFJ862WvLj69fu2TgSF3RHia9D5DSitlQAXYCnbdqjPkR287Lh6dCHDapos+eFDvcZPP2edPmTFxznJE/EBLoQQ0Qmn9EkZOyJmHxMbvKYb8o21ZHmv5YLqgsEPk9gWZwYQY9wLqGXuax/8QlV5qDaPbq9pLPT1yp+zOWKmraEy1OUJI7zdEcEmvBpbdwLrDCgEb2xX8S/nxZgjK4bRi+pbOmbh8bEeoPvU/L9ndx9kntlDALbdAvp0O8ZC3zSUnFg4cePsw7jxewWvL7HRSBLUn6J7vTH9uld5N76JFPgBCdXGF221oEJk++XfRwXplLSyrVO7HFWBEs99nTazKveW3HpbD4dH/YmdAl+lwbSt8BQWyTG7jAsACI7bPPUU9hI9XUHWqQOuezHzUjnx5Qqs6T1qNHfTTHleDtmqK7flA9a0gz2nycIpz1FHBuWxKNtUeTdqP29Fb3tv+tl5JyBqXoR+vCsdzZwZUhf6Lu8bvkB9yQP4x7GGegB0ym0Lpl03Q7e+C0cDsm9GSDepCDji7nUslLyYyluPfvLyKaDSX4xpR+nVYQjQQn5F8KbY1gbIVLiK1J3mW90zTyR1bqApX2BlWh7KG8LAY9/S9nWC0XXh9pZZo6xuir12T43rkaGfQssbQyIslA7uJnSHOV22NhlNtUo0czxPAsXhh8tIQYaTM4l/yAlZlydTcXhlG22Gs/n3BxKBd/3ZjYwg3NaUurVXhNB+afVnFfNr9TbC9ksNdvwpNfeHanyJ8M6GrIVfLlYAPv0ILe4dn0Z+BJSbJkN7eZY/c6+6ttDYcIDeUKIDXqUSE42Xdh5nRbuaObozjht0HJ5H1e+em+NJi/+8kQlyjCbJpPckwThZeIF9/u7lrVIKNeJLCN/TpPAeXxvd31/CUDWHK9MuP1V1TJgngzi4V0qzS3SW3Qy5UiGHqg02wQa5tsEl9s/X9nNMosgLlUgZSfCBj1DiypLfhr9/r0nR0XY2tmhDOcUS4E7cqa4EJBhzqvpbZa35Q5Iz5EqmhYiOGDAYk606Tv74+KGfPjKVuP15rIzgW0I7/niOu9el/sn2bRye0gV+GrePDRDMHjwO1lEdeXH8N+UTO3IoN18kpI3tPxz+fY+n2MGMSGFHAx/83tKeJOl+2i+f1O9v6FfEDBbqrw+lpM8Anav7zHNr7hE78nXUtPNodMbCnITWA7Ma/IHlZ50F9hWge/wzOvSbtqFVFtkS8Of2nssjZwbSFdU+VO8z6tCEc9UA9ACxT5zIUeSrkBB/v1krOpm7bVMrGxEKfI6LcnpB4D8bvn2hDKGqKrJaVAJuDaBEY3F7eXyqnFWlOoFV/8ZLspZiZd7orXLhd4mhHQgbuKbHjJWUzrnm0Dxw/LJLzXCkh7slMxKo8uxZIWZfdKHlfI7uj3LP6ARAuWdF7ZmZ7daOKqKGbz5LxOggTgS39oEioYmrqkCeUDvbxkBYKeHhcLmMN8dMF01ZMb32IpL/cH8R7VHQSI5I0YfL14g9d7P/6cjB1JXXxbozEDbsrPdmL8ph7QW10jio+v7YsqHKQ6xrBbOVtxU0/nFfzUGZwIBLwyUvg49ii+54nv9FyECBpURnQK4Ox6N7lw5fsjdd5l/2SwBcAHMJoyjO1Pifye2dagaOwCVMqdJWAo77pvBe0zdJcTWu5fdzPNfV2p1pc7/JKQ8zhKkwsOELUDhXygPJ5oR8Vpk2lsCen3D3QOQp2zdrSZHjVBstDF/wWO98rrkQ6/7zt/Drip7OHIug1lomNdmRaHRrjmqeodn22sesQQPgzimPOMqC60a5+i/UYh51uZm+ijWkkaI2xjrBO2558DZNZMiuDQlaVAvBy2wLn/bR3FrNzfnO/9oDztYqxZrr7JMIhqmrochbqmQnKowxW29bpqTaJu7kW1VotC72QkYX8OoDDdMDwV1kJRk3mufgJBzf+iwFRJ7XWQwO5ujVglgFgHtycWiMLx5N+6XU+TulLabWjOzoao03fniUW0xvIJNPbk7CQlFZd/RCOPvgQbLjh5ITE8NVJeKt3HGr6JTnFdIzcVOlEtwqbIIX0IM7saC+4N5047MTJ9+Wn11EhyEPIlwsHE5utCeXRjQzlrR+R1Cf/qDzcNbqLXdk3J7gQ39VUrrEkS/VMWjjg+t2oYrqB0tUZClcUF6+LBC3EQ7KnGIwm/qjZX4GKPtjTX1zQKV6nPAb2t/Rza5IqKRf8i2DFEhV/YSifX0YwsiF6TQnp48Gr65TFq0zUe6LGjiY7fq0LSGKL1VnC6ESI2yxvt3XqBx53B3gSlGFeJcPbUbonW1E9E9m4NfuwPh+t5QjRxX34lvBPVxwQd7aeTd+r9dw5CiP1pt8wMZoMdni7GapYdo6KPgeQKcmlFfq4UYhvV0IBgeiR3RnTMBaqDqpZrTRyLdsp4l0IXZTdErfH0sN3dqBG5vRIx3VgCYcHmmkqJ8Hyu3s9K9uBD1d8cZUEx3qYcF5vsqeRpF1GOg8emeWM2OmBlWPdZ6qAXwm3nENFyh+kvXk132PfWAlN0kb7yh4fz2T7VWUY/hEXX5DvxGABC03XRpyOG8t/u3Gh5tZdpsSV9AWaxJN7zwhVglgII1gV28tUViyqn4UMdIh5t+Ea2zo7PO48oba0TwQbiSZOH4YhD578kPF3reuaP7LujPMsjHmaDuId9XEaZBCJhbXJbRg5VCk3KJpryH/+8S3wdhR47pdFcmpZG2p0Bpjp/VbvalgIZMllYX5L31aMPdt1J7r/7wbixt0Mnz2ZvNGTARHPVD+2O1D8SGpWXlVnP2ekgon55YiinADDynyaXtZDXueVqbuTi8z8cHHK325pgqM+mWZwzHeEreMvhZopAScXM14SJHpGwZyRljMlDvcMm9FZ/1e9+r/puOnpXOtc9Iu2fmgBfEP9cGW1Fzb1rGlfJ08pACtq1ZW18bf2cevebzVeHbaA50G9qoUp39JWdPHbYkPCRXjt4gzlq3Cxge28Mky8MoS/+On72kc+ZI2xBtgJytpAQHQ1zrEddMIVyR5urX6yBNu8v5lKC8eLdGKTJtbgIZ3ZyTzSfWmx9f+cvcJe8yM39K/djkp2aUTE/9m2Lj5jg7b8vdRAer7DO3SyLNHs1CAm5x5iAdh2yGJYivArZbCBNY88Tw+w+C1Tbt7wK3zl2rzTHo/D8/gb3c3mYrnEIEipYqPUcdWjnTsSw471O3EUN7Gtg4NOAs9PJrxm03VuZKa5xwXAYCjt7Gs01Km6T2DhOYUMoFcCSu7Hk1p3yP1eG+M3v3Q5luAze6WwBnZIYO0TCucPWK+UJ36KoJ8Y+vpavhLO8g5ed704IjlQdfemrMu//EvPYXTQSGIPPfiagJS9nMqP5IvkxN9pvuJz7h8carPXTKMq8jnTeL0STan6dnLTAqwIswcIwWDR2KwbGddAVN8SYWRB7kfBfBRkSXzvHlIF8D6jo64kUzYk5o/n8oLjKqat0rdXvQ86MkwQGMnnlcasqPPT2+mVtUGb32KuH6cyZQenrRG11TArcAl27+nvOMBDe++EKHf4YdyGf7mznzOz33cFFGEcv329p4qG2hoaQ8ULiMyVz6ENcxhoqGnFIdupcn7GICQWuw3yO3W8S33mzCcMYJ8ywc7U7rmaQf/W5K63Gr4bVTpXOyOp4tbaPyIaatBNpXqlmQUTSZXjxPr19+73PSaT+QnI35YsWn6WpfJjRtK8vlJZoTSgjaRU39AGCkWOZtifJrnefCrqwTKDFmuWUCukEsYcRrMzCoit28wYpP7kSVjMD8WJYQiNc2blMjuqYegmf6SsfC1jqz8XzghMlOX+gn/MKZmgljszrmehEa4V98VreJDxYvHr3j7IeJB9/sBZV41BWT/AZAjuC5XorlIPnZgBAniBEhanp0/0+qZmEWDpu8ige1hUPIyTo6T6gDEcFhWSoduNh8YSu65KgMOGBw7VlNYzNIgwHtq9KP2yyTVysqX5v12sf7D+vQUdR2dRDvCV40rIInXSLWT/yrC6ExOQxBJwIDbeZcl3z1yR5Rj3l8IGpxspapnvBL+fwupA3b6fkFceID9wgiM1ILB0cHVdvo/R4xg8yqKXT8efl0GnGX1/27FUYeUW2L/GNRGGWVGp3i91oaJkb4rybENHre9a2P5viz/yqk8ngWUUS+Kv+fu+9BLFnfLiLXOFcIeBJLhnayCiuDRSqcx0Qu68gVsGYc6EHD500Fkt+gpDj6gvr884n8wZ5o6q7xtL5wA0beXQnffWYkZrs2NGIRgQbsc5NB302SVx+R4ROvmgZaR8wBcji128BMfJ9kcvJ4DC+bQ57kRmv5yxgU4ngZfn0/JNZ8JBwxjTqS+s9kjJFG1unGUGLwMiIuXUD9EFhNIJuyCEAmVZSIGKH4G6v1gRR1LyzQKH2ZqiI1DnHMoDEZspbDjTeaFIAbSvjSq3A+n46y9hhVM8wIpnARSXyzmOD96d9UXvFroSPgGw1dq2vdEqDq9fJN1EbL2WulNmHkFDvxSO9ZT/RX/Bw2gA/BrF90XrJACereVfbV/YXaKfp77Nmx5NjEIUlxojsy7iN7nBHSZigfsbFyVOX1ZTeCCxvqnRSExP4lk5ZeYlRu9caaa743TWNdchRIhEWwadsBIe245C8clpaZ4zrPsk+OwXzxWCvRRumyNSLW5KWaSJyJU95cwheK76gr7228spZ3hmTtLyrfM2QRFqZFMR8/Q6yWfVgwTdfX2Ry4w3+eAO/5VT5nFb5NlzXPvBEAWrNZ6Q3jbH0RF4vcbp+fDngf/ywpoyNQtjrfvcq93AVb1RDWRghvyqgI2BkMr1rwYi8gizZ0G9GmPpMeqPerAQ0dJbzx+KAFM4IBq6iSLpZHUroeyfd9o5o+4fR2EtsZBoJORQEA4SW0CmeXSnblx2e9QkCHIodyqV6+g5ETEpZsLqnd/Na60EKPX/tQpPEcO+COIBPcQdszDzSiHGyQFPly/7KciUh1u+mFfxTCHGv9nn2WqndGgeGjQ/kr02qmTBX7Hc1qiEvgiSz1Tz/sy7Es29wvn6FrDGPP7asXlhOaiHxOctPvTptFA1kHFUk8bME7SsTSnGbFbUrssxrq70LhoSh5OwvQna+w84XdXhZb2sloJ4ZsCg3j+PrjJL08/JBi5zGd6ud/ZxhmcGKLOXPcNunQq5ESW92iJvfsuRrNYtawWwSmNhPYoFj2QqWNF0ffLpGt/ad24RJ8vkb5sXkpyKXmvFG5Vcdzf/44k3PBL/ojJ52+kWGzOArnyp5f969oV3J2c4Li27Nkova9VwRNVKqN0V+gV+mTHitgkXV30aWd3A1RSildEleiNPA+5cp+3+T7X+xfHiRZXQ1s4FA9TxIcnveQs9JSZ5r5qNmgqlW4zMtZ6rYNvgmyVcywKtu8ZxnSbS5vXlBV+NXdIfi3+xzrnJ0TkFL+Un8v1PWOC2PPFCjVPq7qTH7mOpzOYj/b4h0ceT+eHgr97Jqhb1ziVfeANzfN8bFUhPKBi7hJBCukQnB0aGjFTYLJPXL26lQ2b80xrOD5cFWgA8hz3St0e69kwNnD3+nX3gy12FjrjO+ddRvvvfyV3SWbXcxqNHfmsb9u1TV+wHTb9B07/L2sB8WUHJ9eeNomDyysEWZ0deqEhH/oWI2oiEh526gvAK1Nx2kIhNvkYR+tPYHEa9j+nd1VBpQP1uzSjIDO+fDDB7uy029rRjDC5Sk6aKczyz1D5uA9Lu+Rrrapl8JXNL3VRllNQH2K1ZFxOpX8LprttfqQ56MbPM0IttUheXWD/mROOeFqGUbL+kUOVlXLTFX/525g4faLEFO4qWWdmOXMNvVjpIVTWt650HfQjX9oT3Dg5Au6+v1/Ci78La6ZOngYCFPT1AUwxQuZ0yt5xKdNXLaDTISMTeCj16XTryhM36K2mfGRIgot71voWs8tTpL/f1rvcwv3LSDf+/G8THCT7NpfHWcW+lsF/ol8q9Bi6MezNTqp0rpp/kJRiVfNrX/w27cRRTu8RIIqtUblBMkxy4jwAVqCjUJkiPBj2cAoVloG8B2/N5deLdMhDb7xs5nhd3dubJhuj8WbaFRyu1L678DHhhA+rMimNo4C1kGpp0tD/qnCfCFHejpf0LJX43OTr578PY0tnIIrlWyNYyuR/ie6j2xNb1OV6u0dOX/1Dtcd7+ya9W+rY2LmnyQMtk8SMLTon8RAdwOaN2tNg5zVnDKlmVeOxPV2vhHIo9QEPV7jc3f+zVDquiNg1OaHX3cZXJDRY5MJpo+VanAcmqp4oasYLG+wrXUL5vJU0kqk2hGEskhP+Jjigrz1l6QnEwp6n8PMVeJp70Ii6ppeaK9GhF6fJE00ceLyxv08tKiPat4QdxZFgSbQknnEiCLD8Qc1rjazVKM3r3gXnnMeONgdz/yFV1q+haaN+wnF3Fn4uYCI9XsKOuVwDD0LsCO/f0gj5cmxCFcr7sclIcefWjvore+3aSU474cyqDVxH7w1RX3CHsaqsMRX17ZLgjsDXws3kLm2XJdM3Ku383UXqaHqsywzPhx7NFir0Fqjym/w6cxD2U9ypa3dx7Z12w/fi3Jps8sqJ8f8Ah8aZAvkHXvIRyrsxK7rrFaNNdNvjI8+3Emri195DCNa858anj2Qdny6Czshkn4N2+1m+k5S8sunX3Ja7I+JutRzg1mc2e9Yc0Zv9PZn1SwhxIdU9sXwZRTd/J5FoUm0e+PYREeHg3oc2YYzGf2xfJxXExt4pT3RfDRHvMXLUmoXOy63xv5pLuhOEax0dRgSywZ/GH+YBXFgCeTU0hZ8SPEFsn8punp1Kurd1KgXxUZ+la3R5+4ePGR4ZF5UQtOa83+Vj8zh80dfzbhxWCeoJnQ4dkZJM4drzknZOOKx2n3WrvJnzFIS8p0xeic+M3ZRVXIp10tV2DyYKwRxLzulPwzHcLlYTxl4PF7v8l106Azr+6wBFejbq/3P72C/0j78cepY9990/d4eAurn2lqdGKLU8FffnMw7cY7pVeXJRMU73Oxwi2g2vh/+4gX8dvbjfojn/eLVhhYl8GthwCQ50KcZq4z2JeW5eeOnJWFQEnVxDoG459TaC4zXybECEoJ0V5q1tXrQbDMtUxeTV6Pdt1/zJuc7TJoV/9YZFWxUtCf6Ou3Vd/vR/vG0138hJQrHkNeoep5dLe+6umcSquKvMaFpm3EZHDBOvCi0XYyIFHMgX7Cqp3JVXlxJFwQfHSaIUEbI2u1lBVUdlNw4Qa9UsLPEK94Qiln3pyKxQVCeNlx8yd7EegVNQBkFLabKvnietYVB4IPZ1fSor82arbgYec8aSdFMaIluYTYuNx32SxfrjKUdPGq+UNp5YpydoEG3xVLixtmHO9zXxKAnHnPuH2fPGrjx0GcuCDEU+yXUtXh6nfUL+cykws1gJ5vkfYFaFBr9PdCXvVf35OJQxzUMmWjv0W6uGJK11uAGDqSpOwCf6rouSIjPVgw57cJCOQ4b9tkI/Y5WNon9Swe72aZryKo8d+HyHBEdWJKrkary0LIGczA4Irq353Wc0Zga3om7UQiAGCvIl8GGyaqz5zH+1gMP5phWUCpKtttWIyicz09vXg76GxkmiGSMQ06Z9X8BUwqOtauDbPIf4rpK/yYoeAHxJ9soXS9VDe1Aw+awOOxaN8foLrif0TXBvQ55dtRtulRq9emFDBxlQcqKCaD8NeTSE7FOHvcjf/+oKbbtRqz9gbofoc2EzQ3pL6W5JdfJzAWmOk8oeoECe90lVMruwl/ltM015P/zIPazqvdvFmLNVHMIZrwiQ2tIKtGh6PDVH+85ew3caqVt2BsDv5rOcu3G9srQWd7NmgtzCRUXLYknYRSwtH9oUtkqyN3CfP20xQ1faXQl4MEmjQehWR6GmGnkdpYNQYeIG408yAX7uCZmYUic9juOfb+Re28+OVOB+scYK4DaPcBe+5wmji9gymtkMpKo4UKqCz7yxzuN8VIlx9yNozpRJpNaWHtaZVEqP45n2JemTlYBSmNIK1FuSYAUQ1yBLnKxevrjayd+h2i8PjdB3YY6b0nr3JuOXGpPMyh4V2dslpR3DFEvgpsBLqhqLDOWP4yEvIL6f21PpA7/8B")),Vc=Math.log2||(s=>Math.log(s)/Math.LN2),_0=s=>Vc(s)+1|0,jc=_0(fr(Kt).categories.length-1),mi=_0(fr(Kt).combiningClasses.length-1),Ls=_0(fr(Kt).scripts.length-1),J0=_0(fr(Kt).eaw.length-1),Q0=10,Wc=mi+Ls+J0+Q0,Xc=Ls+J0+Q0,Hc=J0+Q0;var qc=(1<<jc)-1,Yc=(1<<mi)-1,Kc=(1<<Ls)-1,kb=(1<<J0)-1,Fb=(1<<Q0)-1;function a0(s){let e=Os.get(s);return fr(Kt).categories[e>>Wc&qc]}function xi(s){let e=Os.get(s);return fr(Kt).combiningClasses[e>>Xc&Yc]}function Ms(s){let e=Os.get(s);return fr(Kt).scripts[e>>Hc&Kc]}function Ds(s){return a0(s)==="Nd"}function Bs(s){let e=a0(s);return e==="Mn"||e==="Me"||e==="Mc"}var Dn=Xt(Is(),1),Ka=Xt(yi(),1),fn=Xt(wi(),1),Nl=Xt(Es(),1),zl=Xt(Qi(),1);function y0(s,e,t,r){Object.defineProperty(s,e,{get:t,set:r,enumerable:!0,configurable:!0})}function Bn(s){return s&&s.__esModule?s.default:s}var w0={};y0(w0,"logErrors",()=>Vl);y0(w0,"registerFormat",()=>Xr);y0(w0,"create",()=>Za);y0(w0,"defaultLanguage",()=>pn);y0(w0,"setDefaultLanguage",()=>Bf);var Vl=!1,oa=[];function Xr(s){oa.push(s)}function Za(s,e){for(let t=0;t<oa.length;t++){let r=oa[t];if(r.probe(s)){let n=new r(new Me(s));return e?n.getFont(e):n}}throw new Error("Unknown font format")}var pn="en";function Bf(s="en"){pn=s}function Ze(s,e,t){if(t.get){let r=t.get;t.get=function(){let n=r.call(this);return Object.defineProperty(this,e,{value:n}),n}}else if(typeof t.value=="function"){let r=t.value;return{get(){let n=new Map;function a(...o){let i=o.length>0?o[0]:"value";if(n.has(i))return n.get(i);let l=r.apply(this,o);return n.set(i,l),l}return Object.defineProperty(this,e,{value:a}),a}}}}var Uf=new A({firstCode:u,entryCount:u,idDelta:D,idRangeOffset:u}),Js=new A({startCharCode:P,endCharCode:P,glyphID:P}),Rf=new A({startUnicodeValue:Ut,additionalCount:j}),Gf=new A({unicodeValue:Ut,glyphID:u}),Nf=new w(Rf,P),zf=new w(Gf,P),Vf=new A({varSelector:Ut,defaultUVS:new C(P,Nf,{type:"parent"}),nonDefaultUVS:new C(P,zf,{type:"parent"})}),jf=new ue(u,{0:{length:u,language:u,codeMap:new we(j,256)},2:{length:u,language:u,subHeaderKeys:new w(u,256),subHeaderCount:s=>Math.max.apply(Math,s.subHeaderKeys),subHeaders:new we(Uf,"subHeaderCount"),glyphIndexArray:new we(u,"subHeaderCount")},4:{length:u,language:u,segCountX2:u,segCount:s=>s.segCountX2>>1,searchRange:u,entrySelector:u,rangeShift:u,endCode:new we(u,"segCount"),reservedPad:new Te(u),startCode:new we(u,"segCount"),idDelta:new we(D,"segCount"),idRangeOffset:new we(u,"segCount"),glyphIndexArray:new we(u,s=>(s.length-s._currentOffset)/2)},6:{length:u,language:u,firstCode:u,entryCount:u,glyphIndices:new we(u,"entryCount")},8:{reserved:new Te(u),length:P,language:u,is32:new we(j,8192),nGroups:P,groups:new we(Js,"nGroups")},10:{reserved:new Te(u),length:P,language:P,firstCode:P,entryCount:P,glyphIndices:new we(u,"numChars")},12:{reserved:new Te(u),length:P,language:P,nGroups:P,groups:new we(Js,"nGroups")},13:{reserved:new Te(u),length:P,language:P,nGroups:P,groups:new we(Js,"nGroups")},14:{length:P,numRecords:P,varSelectors:new we(Vf,"numRecords")}}),Wf=new A({platformID:u,encodingID:u,table:new C(P,jf,{type:"parent",lazy:!0})}),Xf=new A({version:u,numSubtables:u,tables:new w(Wf,"numSubtables")}),Hf=new A({version:Ht,revision:Ht,checkSumAdjustment:P,magicNumber:P,flags:u,unitsPerEm:u,created:new w(Ht,2),modified:new w(Ht,2),xMin:D,yMin:D,xMax:D,yMax:D,macStyle:new tt(u,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:u,fontDirectionHint:D,indexToLocFormat:D,glyphDataFormat:D}),qf=new A({version:Ht,ascent:D,descent:D,lineGap:D,advanceWidthMax:u,minLeftSideBearing:D,minRightSideBearing:D,xMaxExtent:D,caretSlopeRise:D,caretSlopeRun:D,caretOffset:D,reserved:new Te(D,4),metricDataFormat:D,numberOfMetrics:u}),Yf=new A({advance:u,bearing:D}),Kf=new A({metrics:new we(Yf,s=>s.parent.hhea.numberOfMetrics),bearings:new we(D,s=>s.parent.maxp.numGlyphs-s.parent.hhea.numberOfMetrics)}),Zf=new A({version:Ht,numGlyphs:u,maxPoints:u,maxContours:u,maxComponentPoints:u,maxComponentContours:u,maxZones:u,maxTwilightPoints:u,maxStorage:u,maxFunctionDefs:u,maxInstructionDefs:u,maxStackElements:u,maxSizeOfInstructions:u,maxComponentElements:u,maxComponentDepth:u});function jl(s,e,t=0){return s===1&&$i[t]?$i[t]:$f[s][e]}var _f=new Set(["x-mac-roman","x-mac-cyrillic","iso-8859-6","iso-8859-8"]),Jf={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026 \xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026 \u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026 \u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026 \u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026 \xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},Qs=new Map;function Qf(s){let e=Qs.get(s);if(e)return e;let t=Jf[s];if(t){let r=new Map;for(let n=0;n<t.length;n++)r.set(t.charCodeAt(n),128+n);return Qs.set(s,r),r}if(_f.has(s)){let r=new TextDecoder(s),n=new Uint8Array(128);for(let i=0;i<128;i++)n[i]=128+i;let a=new Map,o=r.decode(n);for(let i=0;i<128;i++)a.set(o.charCodeAt(i),128+i);return Qs.set(s,a),a}}var $f=[["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"]],$i={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"},e1=[[],{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"}],el=new A({platformID:u,encodingID:u,languageID:u,nameID:u,length:u,string:new C(u,new ve("length",s=>jl(s.platformID,s.encodingID,s.languageID)),{type:"parent",relativeTo:s=>s.parent.stringOffset,allowNull:!1})}),t1=new A({length:u,tag:new C(u,new ve("length","utf16be"),{type:"parent",relativeTo:s=>s.stringOffset})}),gn=new ue(u,{0:{count:u,stringOffset:u,records:new w(el,"count")},1:{count:u,stringOffset:u,records:new w(el,"count"),langTagCount:u,langTags:new w(t1,"langTagCount")}}),r1=gn,ia=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];gn.process=function(s){var e={};for(let t of this.records){let r=e1[t.platformID][t.languageID];r==null&&this.langTags!=null&&t.languageID>=32768&&(r=this.langTags[t.languageID-32768].tag),r==null&&(r=t.platformID+"-"+t.languageID);let n=t.nameID>=256?"fontFeatures":ia[t.nameID]||t.nameID;e[n]==null&&(e[n]={});let a=e[n];t.nameID>=256&&(a=a[t.nameID]||(a[t.nameID]={})),(typeof t.string=="string"||typeof a[r]!="string")&&(a[r]=t.string)}this.records=e};gn.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let s=[];for(let e in this.records){let t=this.records[e];e!=="fontFeatures"&&(s.push({platformID:3,encodingID:1,languageID:1033,nameID:ia.indexOf(e),length:t.en.length*2,string:t.en}),e==="postscriptName"&&s.push({platformID:1,encodingID:0,languageID:0,nameID:ia.indexOf(e),length:t.en.length,string:t.en}))}this.records=s,this.count=s.length,this.stringOffset=gn.size(this,null,!1)};var Wl=new ue(u,{header:{xAvgCharWidth:D,usWeightClass:u,usWidthClass:u,fsType:new tt(u,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:D,ySubscriptYSize:D,ySubscriptXOffset:D,ySubscriptYOffset:D,ySuperscriptXSize:D,ySuperscriptYSize:D,ySuperscriptXOffset:D,ySuperscriptYOffset:D,yStrikeoutSize:D,yStrikeoutPosition:D,sFamilyClass:D,panose:new w(j,10),ulCharRange:new w(P,4),vendorID:new ve(4),fsSelection:new tt(u,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:u,usLastCharIndex:u},0:{},1:{typoAscender:D,typoDescender:D,typoLineGap:D,winAscent:u,winDescent:u,codePageRange:new w(P,2)},2:{typoAscender:D,typoDescender:D,typoLineGap:D,winAscent:u,winDescent:u,codePageRange:new w(P,2),xHeight:D,capHeight:D,defaultChar:u,breakChar:u,maxContent:u},5:{typoAscender:D,typoDescender:D,typoLineGap:D,winAscent:u,winDescent:u,codePageRange:new w(P,2),xHeight:D,capHeight:D,defaultChar:u,breakChar:u,maxContent:u,usLowerOpticalPointSize:u,usUpperOpticalPointSize:u}}),$s=Wl.versions;$s[3]=$s[4]=$s[2];var n1=Wl,s1=new ue(Be,{header:{italicAngle:Be,underlinePosition:D,underlineThickness:D,isFixedPitch:P,minMemType42:P,maxMemType42:P,minMemType1:P,maxMemType1:P},1:{},2:{numberOfGlyphs:u,glyphNameIndex:new w(u,"numberOfGlyphs"),names:new w(new ve(j))},2.5:{numberOfGlyphs:u,offsets:new w(j,"numberOfGlyphs")},3:{},4:{map:new w(P,s=>s.parent.maxp.numGlyphs)}}),a1=new A({controlValues:new w(D)}),o1=new A({instructions:new w(j)}),_a=new ue("head.indexToLocFormat",{0:{offsets:new w(u)},1:{offsets:new w(P)}});_a.process=function(){if(this.version===0&&!this._processed){for(let s=0;s<this.offsets.length;s++)this.offsets[s]<<=1;this._processed=!0}};_a.preEncode=function(){if(this.version===0&&this._processed!==!1){for(let s=0;s<this.offsets.length;s++)this.offsets[s]>>>=1;this._processed=!1}};var i1=_a,l1=new A({controlValueProgram:new w(j)}),u1=new w(new it),gt=class{getCFFVersion(e){for(;e&&!e.hdrSize;)e=e.parent;return e?e.version:-1}decode(e,t){let n=this.getCFFVersion(t)>=2?e.readUInt32BE():e.readUInt16BE();if(n===0)return[];let a=e.readUInt8(),o;if(a===1)o=j;else if(a===2)o=u;else if(a===3)o=Ut;else if(a===4)o=P;else throw new Error(`Bad offset size in CFFIndex: ${a} ${e.pos}`);let i=[],l=e.pos+(n+1)*a-1,c=o.decode(e);for(let f=0;f<n;f++){let h=o.decode(e);if(this.type!=null){let g=e.pos;e.pos=l+c,t.length=h-c,i.push(this.type.decode(e,t)),e.pos=g}else i.push({offset:l+c,length:h-c});c=h}return e.pos=l+c,i}size(e,t){let r=2;if(e.length===0)return r;let n=this.type||new it,a=1;for(let i=0;i<e.length;i++){let l=e[i];a+=n.size(l,t)}let o;if(a<=255)o=j;else if(a<=65535)o=u;else if(a<=16777215)o=Ut;else if(a<=4294967295)o=P;else throw new Error("Bad offset in CFFIndex");return r+=1+o.size()*(e.length+1),r+=a-1,r}encode(e,t,r){if(e.writeUInt16BE(t.length),t.length===0)return;let n=this.type||new it,a=[],o=1;for(let l of t){let c=n.size(l,r);a.push(c),o+=c}let i;if(o<=255)i=j;else if(o<=65535)i=u;else if(o<=16777215)i=Ut;else if(o<=4294967295)i=P;else throw new Error("Bad offset in CFFIndex");e.writeUInt8(i.size()),o=1,i.encode(e,o);for(let l of a)o+=l,i.encode(e,o);for(let l of t)n.encode(e,l,r)}constructor(e){this.type=e}},i0=15,tl=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],rl={".":10,E:11,"E-":12,"-":14},c0=class{static decode(e,t){if(32<=t&&t<=246)return t-139;if(247<=t&&t<=250)return(t-247)*256+e.readUInt8()+108;if(251<=t&&t<=254)return-(t-251)*256-e.readUInt8()-108;if(t===28)return e.readInt16BE();if(t===29)return e.readInt32BE();if(t===30){let r="";for(;;){let n=e.readUInt8(),a=n>>4;if(a===i0)break;r+=tl[a];let o=n&15;if(o===i0)break;r+=tl[o]}return parseFloat(r)}return null}static size(e){if(e.forceLarge&&(e=32768),(e|0)!==e){let t=""+e;return 1+Math.ceil((t.length+1)/2)}else 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((r|0)!==r){e.writeUInt8(30);let a=""+r;for(let o=0;o<a.length;o+=2){let i=a[o],l=rl[i]||+i;if(o===a.length-1)var n=i0;else{let c=a[o+1];var n=rl[c]||+c}e.writeUInt8(l<<4|n&15)}if(n!==i0)return e.writeUInt8(i0<<4)}else return-107<=r&&r<=107?e.writeUInt8(r+139):108<=r&&r<=1131?(r-=108,e.writeUInt8((r>>8)+247),e.writeUInt8(r&255)):-1131<=r&&r<=-108?(r=-r-108,e.writeUInt8((r>>8)+251),e.writeUInt8(r&255)):-32768<=r&&r<=32767?(e.writeUInt8(28),e.writeInt16BE(r)):(e.writeUInt8(29),e.writeInt32BE(r))}},Gr=class{decodeOperands(e,t,r,n){if(Array.isArray(e))return n.map((a,o)=>this.decodeOperands(e[o],t,r,[a]));if(e.decode!=null)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((a,o)=>this.encodeOperands(e[o],t,r,a)[0]):e.encode!=null?e.encode(t,n,r):typeof n=="number"?[n]:typeof n=="boolean"?[+n]:Array.isArray(n)?n:[n]}decode(e,t){let r=e.pos+t.length,n={},a=[];Object.defineProperties(n,{parent:{value:t},_startOffset:{value:e.pos}});for(let o in this.fields){let i=this.fields[o];n[i[1]]=i[3]}for(;e.pos<r;){let o=e.readUInt8();if(o<28){o===12&&(o=o<<8|e.readUInt8());let i=this.fields[o];if(!i)throw new Error(`Unknown operator ${o}`);let l=this.decodeOperands(i[2],e,n,a);l!=null&&(l instanceof qt?Object.defineProperty(n,i[1],l):n[i[1]]=l),a=[]}else a.push(c0.decode(e,o))}return n}size(e,t,r=!0){let n={parent:t,val:e,pointerSize:0,startOffset:t.startOffset||0},a=0;for(let o in this.fields){let i=this.fields[o],l=e[i[1]];if(l==null||(0,aa.default)(l,i[3]))continue;let c=this.encodeOperands(i[2],null,n,l);for(let h of c)a+=c0.size(h);let f=Array.isArray(i[0])?i[0]:[i[0]];a+=f.length}return r&&(a+=n.pointerSize),a}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 o of this.ops){let i=t[o[1]];if(i==null||(0,aa.default)(i,o[3]))continue;let l=this.encodeOperands(o[2],e,n,i);for(let f of l)c0.encode(e,f);let c=Array.isArray(o[0])?o[0]:[o[0]];for(let f of c)e.writeUInt8(f)}let a=0;for(;a<n.pointers.length;){let o=n.pointers[a++];o.type.encode(e,o.val,o.parent)}}constructor(e=[]){this.ops=e,this.fields={};for(let t of e){let r=Array.isArray(t[0])?t[0][0]<<8|t[0][1]:t[0];this.fields[r]=t}}},dt=class extends C{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 bn(0)];let n=null;return this.offsetType={encode:(a,o)=>n=o},super.encode(e,t,r),[new bn(n)]}constructor(e,t={}){t.type==null&&(t.type="global"),super(null,e,t)}},bn=class{valueOf(){return this.val}constructor(e){this.val=e,this.forceLarge=!0}},la=class{static decode(e,t,r){let n=r.pop();for(;r.length>n;)r.pop()}},ua=new Gr([[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",la,null],[19,"Subrs",new dt(new gt,{type:"local"}),null]]),hn=[".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"],Xl=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],c1=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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"],Hl=[".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"],f1=[".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"],h1=[".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"],ql=new A({reserved:new Te(u),reqFeatureIndex:u,featureCount:u,featureIndexes:new w(u,"featureCount")}),d1=new A({tag:new ve(4),langSys:new C(u,ql,{type:"parent"})}),p1=new A({defaultLangSys:new C(u,ql),count:u,langSysRecords:new w(d1,"count")}),g1=new A({tag:new ve(4),script:new C(u,p1,{type:"parent"})}),Yl=new w(g1,u),b1=new A({version:u,nameID:u}),Kl=new A({featureParams:new C(u,b1),lookupCount:u,lookupListIndexes:new w(u,"lookupCount")}),m1=new A({tag:new ve(4),feature:new C(u,Kl,{type:"parent"})}),Zl=new w(m1,u),x1=new A({markAttachmentType:j,flags:new tt(j,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function mn(s){let e=new A({lookupType:u,flags:x1,subTableCount:u,subTables:new w(new C(u,s),"subTableCount"),markFilteringSet:new Yt(u,t=>t.flags.flags.useMarkFilteringSet)});return new we(new C(u,e),u)}var v1=new A({start:u,end:u,startCoverageIndex:u}),Ae=new ue(u,{1:{glyphCount:u,glyphs:new w(u,"glyphCount")},2:{rangeCount:u,rangeRecords:new w(v1,"rangeCount")}}),y1=new A({start:u,end:u,class:u}),er=new ue(u,{1:{startGlyph:u,glyphCount:u,classValueArray:new w(u,"glyphCount")},2:{classRangeCount:u,classRangeRecord:new w(y1,"classRangeCount")}}),$t=new A({a:u,b:u,deltaFormat:u}),C0=new A({sequenceIndex:u,lookupListIndex:u}),w1=new A({glyphCount:u,lookupCount:u,input:new w(u,s=>s.glyphCount-1),lookupRecords:new w(C0,"lookupCount")}),C1=new w(new C(u,w1),u),S1=new A({glyphCount:u,lookupCount:u,classes:new w(u,s=>s.glyphCount-1),lookupRecords:new w(C0,"lookupCount")}),P1=new w(new C(u,S1),u),_l=new ue(u,{1:{coverage:new C(u,Ae),ruleSetCount:u,ruleSets:new w(new C(u,C1),"ruleSetCount")},2:{coverage:new C(u,Ae),classDef:new C(u,er),classSetCnt:u,classSet:new w(new C(u,P1),"classSetCnt")},3:{glyphCount:u,lookupCount:u,coverages:new w(new C(u,Ae),"glyphCount"),lookupRecords:new w(C0,"lookupCount")}}),A1=new A({backtrackGlyphCount:u,backtrack:new w(u,"backtrackGlyphCount"),inputGlyphCount:u,input:new w(u,s=>s.inputGlyphCount-1),lookaheadGlyphCount:u,lookahead:new w(u,"lookaheadGlyphCount"),lookupCount:u,lookupRecords:new w(C0,"lookupCount")}),nl=new w(new C(u,A1),u),Jl=new ue(u,{1:{coverage:new C(u,Ae),chainCount:u,chainRuleSets:new w(new C(u,nl),"chainCount")},2:{coverage:new C(u,Ae),backtrackClassDef:new C(u,er),inputClassDef:new C(u,er),lookaheadClassDef:new C(u,er),chainCount:u,chainClassSet:new w(new C(u,nl),"chainCount")},3:{backtrackGlyphCount:u,backtrackCoverage:new w(new C(u,Ae),"backtrackGlyphCount"),inputGlyphCount:u,inputCoverage:new w(new C(u,Ae),"inputGlyphCount"),lookaheadGlyphCount:u,lookaheadCoverage:new w(new C(u,Ae),"lookaheadGlyphCount"),lookupCount:u,lookupRecords:new w(C0,"lookupCount")}}),f0=new Tt(16,"BE",14),E1=new A({startCoord:f0,peakCoord:f0,endCoord:f0}),T1=new A({axisCount:u,regionCount:u,variationRegions:new w(new w(E1,"axisCount"),"regionCount")}),k1=new A({shortDeltas:new w(D,s=>s.parent.shortDeltaCount),regionDeltas:new w(Ve,s=>s.parent.regionIndexCount-s.parent.shortDeltaCount),deltas:s=>s.shortDeltas.concat(s.regionDeltas)}),F1=new A({itemCount:u,shortDeltaCount:u,regionIndexCount:u,regionIndexes:new w(u,"regionIndexCount"),deltaSets:new w(k1,"itemCount")}),Un=new A({format:u,variationRegionList:new C(P,T1),variationDataCount:u,itemVariationData:new w(new C(P,F1),"variationDataCount")}),I1=new ue(u,{1:{axisIndex:u,axisIndex:u,filterRangeMinValue:f0,filterRangeMaxValue:f0}}),O1=new A({conditionCount:u,conditionTable:new w(new C(P,I1),"conditionCount")}),L1=new A({featureIndex:u,alternateFeatureTable:new C(P,Kl,{type:"parent"})}),M1=new A({version:Be,substitutionCount:u,substitutions:new w(L1,"substitutionCount")}),D1=new A({conditionSet:new C(P,O1,{type:"parent"}),featureTableSubstitution:new C(P,M1,{type:"parent"})}),Ql=new A({majorVersion:u,minorVersion:u,featureVariationRecordCount:P,featureVariationRecords:new w(D1,"featureVariationRecordCount")}),xn=class{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 n!==-1?n:this.type.encode(e,t,r)}constructor(e,t){this.predefinedOps=e,this.type=t}},ca=class extends fe{decode(e){return j.decode(e)&127}constructor(){super("UInt8")}},$l=new A({first:u,nLeft:j}),B1=new A({first:u,nLeft:u}),U1=new ue(new ca,{0:{nCodes:j,codes:new w(j,"nCodes")},1:{nRanges:j,ranges:new w($l,"nRanges")}}),R1=new xn([Xl,c1],new dt(U1,{lazy:!0})),vn=class extends w{decode(e,t){let r=_e(this.length,e,t),n=0,a=[];for(;n<r;){let o=this.type.decode(e,t);o.offset=n,n+=o.nLeft+1,a.push(o)}return a}},G1=new ue(j,{0:{glyphs:new w(u,s=>s.parent.CharStrings.length-1)},1:{ranges:new vn($l,s=>s.parent.CharStrings.length-1)},2:{ranges:new vn(B1,s=>s.parent.CharStrings.length-1)}}),N1=new xn([Hl,f1,h1],new dt(G1,{lazy:!0})),z1=new A({first:u,fd:j}),V1=new A({first:P,fd:u}),eu=new ue(j,{0:{fds:new w(j,s=>s.parent.CharStrings.length)},3:{nRanges:u,ranges:new w(z1,"nRanges"),sentinel:u},4:{nRanges:P,ranges:new w(V1,"nRanges"),sentinel:P}}),ea=new dt(ua),yn=class{decode(e,t,r){return t.length=r[0],ea.decode(e,t,[r[1]])}size(e,t){return[ua.size(e,t,!1),ea.size(e,t)[0]]}encode(e,t,r){return[ua.size(t,r,!1),ea.encode(e,t,r)[0]]}},tu=new Gr([[18,"Private",new yn,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),j1=new Gr([[[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",N1,Hl],[16,"Encoding",R1,Xl],[17,"CharStrings",new dt(new gt),null],[18,"Private",new yn,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 dt(eu),null],[[12,36],"FDArray",new dt(new gt(tu)),null],[[12,38],"FontName","sid",null]]),W1=new A({length:u,itemVariationStore:Un}),X1=new Gr([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new dt(new gt),null],[[12,37],"FDSelect",new dt(eu),null],[[12,36],"FDArray",new dt(new gt(tu)),null],[24,"vstore",new dt(W1),null],[25,"maxstack","number",193]]),H1=new ue(Yo,{1:{hdrSize:j,offSize:j,nameIndex:new gt(new ve("length")),topDictIndex:new gt(j1),stringIndex:new gt(new ve("length")),globalSubrIndex:new gt},2:{hdrSize:j,length:u,topDict:X1,globalSubrIndex:new gt}}),ru=H1,fa=class s{static decode(e){return new s(e)}decode(){let e=this.stream.pos,t=ru.decode(this.stream);for(let r in t){let n=t[r];this[r]=n}if(this.version<2){if(this.topDictIndex.length!==1)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=this.topDict.ROS!=null,this}string(e){return this.version>=2?null:e<hn.length?hn[e]:this.stringIndex[e-hn.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||this.isCIDFont)return null;let{charset:t}=this.topDict;if(Array.isArray(t))return t[e];if(e===0)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))}break}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 a=r+n>>1;if(e<t[a].first)n=a-1;else if(a<n&&e>=t[a+1].first)r=a+1;else return t[a].fd}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()}},nu=fa,q1=new A({glyphIndex:u,vertOriginY:D}),Y1=new A({majorVersion:u,minorVersion:u,defaultVertOriginY:D,numVertOriginYMetrics:u,metrics:new w(q1,"numVertOriginYMetrics")}),Ur=new A({height:j,width:j,horiBearingX:Ve,horiBearingY:Ve,horiAdvance:j,vertBearingX:Ve,vertBearingY:Ve,vertAdvance:j}),sn=new A({height:j,width:j,bearingX:Ve,bearingY:Ve,advance:j}),sl=new A({glyph:u,xOffset:Ve,yOffset:Ve}),wn=class{},h0=class{},lm=new ue("version",{1:{metrics:sn,data:wn},2:{metrics:sn,data:h0},5:{data:h0},6:{metrics:Ur,data:wn},7:{metrics:Ur,data:h0},8:{metrics:sn,pad:new Te(j),numComponents:u,components:new w(sl,"numComponents")},9:{metrics:Ur,pad:new Te(j),numComponents:u,components:new w(sl,"numComponents")},17:{metrics:sn,dataLen:P,data:new it("dataLen")},18:{metrics:Ur,dataLen:P,data:new it("dataLen")},19:{dataLen:P,data:new it("dataLen")}}),al=new A({ascender:Ve,descender:Ve,widthMax:j,caretSlopeNumerator:Ve,caretSlopeDenominator:Ve,caretOffset:Ve,minOriginSB:Ve,minAdvanceSB:Ve,maxBeforeBL:Ve,minAfterBL:Ve,pad:new Te(Ve,2)}),K1=new A({glyphCode:u,offset:u}),Z1=new ue(u,{header:{imageFormat:u,imageDataOffset:P},1:{offsetArray:new w(P,s=>s.parent.lastGlyphIndex-s.parent.firstGlyphIndex+1)},2:{imageSize:P,bigMetrics:Ur},3:{offsetArray:new w(u,s=>s.parent.lastGlyphIndex-s.parent.firstGlyphIndex+1)},4:{numGlyphs:P,glyphArray:new w(K1,s=>s.numGlyphs+1)},5:{imageSize:P,bigMetrics:Ur,numGlyphs:P,glyphCodeArray:new w(u,"numGlyphs")}}),_1=new A({firstGlyphIndex:u,lastGlyphIndex:u,subtable:new C(P,Z1)}),J1=new A({indexSubTableArray:new C(P,new w(_1,1),{type:"parent"}),indexTablesSize:P,numberOfIndexSubTables:P,colorRef:P,hori:al,vert:al,startGlyphIndex:u,endGlyphIndex:u,ppemX:j,ppemY:j,bitDepth:j,flags:new tt(j,["horizontal","vertical"])}),Q1=new A({version:P,numSizes:P,sizes:new w(J1,"numSizes")}),$1=new A({ppem:u,resolution:u,imageOffsets:new w(new C(P,"void"),s=>s.parent.parent.maxp.numGlyphs+1)}),eh=new A({version:u,flags:new tt(u,["renderOutlines"]),numImgTables:P,imageTables:new w(new C(P,$1),"numImgTables")}),th=new A({gid:u,paletteIndex:u}),rh=new A({gid:u,firstLayerIndex:u,numLayers:u}),nh=new A({version:u,numBaseGlyphRecords:u,baseGlyphRecord:new C(P,new w(rh,"numBaseGlyphRecords")),layerRecords:new C(P,new w(th,"numLayerRecords"),{lazy:!0}),numLayerRecords:u}),sh=new A({blue:j,green:j,red:j,alpha:j}),ah=new ue(u,{header:{numPaletteEntries:u,numPalettes:u,numColorRecords:u,colorRecords:new C(P,new w(sh,"numColorRecords")),colorRecordIndices:new w(u,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new C(P,new w(P,"numPalettes")),offsetPaletteLabelArray:new C(P,new w(u,"numPalettes")),offsetPaletteEntryLabelArray:new C(P,new w(u,"numPaletteEntries"))}}),g0=new ue(u,{1:{coordinate:D},2:{coordinate:D,referenceGlyph:u,baseCoordPoint:u},3:{coordinate:D,deviceTable:new C(u,$t)}}),oh=new A({defaultIndex:u,baseCoordCount:u,baseCoords:new w(new C(u,g0),"baseCoordCount")}),ih=new A({tag:new ve(4),minCoord:new C(u,g0,{type:"parent"}),maxCoord:new C(u,g0,{type:"parent"})}),su=new A({minCoord:new C(u,g0),maxCoord:new C(u,g0),featMinMaxCount:u,featMinMaxRecords:new w(ih,"featMinMaxCount")}),lh=new A({tag:new ve(4),minMax:new C(u,su,{type:"parent"})}),uh=new A({baseValues:new C(u,oh),defaultMinMax:new C(u,su),baseLangSysCount:u,baseLangSysRecords:new w(lh,"baseLangSysCount")}),ch=new A({tag:new ve(4),script:new C(u,uh,{type:"parent"})}),fh=new w(ch,u),hh=new w(new ve(4),u),ol=new A({baseTagList:new C(u,hh),baseScriptList:new C(u,fh)}),dh=new ue(P,{header:{horizAxis:new C(u,ol),vertAxis:new C(u,ol)},65536:{},65537:{itemVariationStore:new C(P,Un)}}),ph=new w(u,u),gh=new A({coverage:new C(u,Ae),glyphCount:u,attachPoints:new w(new C(u,ph),"glyphCount")}),bh=new ue(u,{1:{coordinate:D},2:{caretValuePoint:u},3:{coordinate:D,deviceTable:new C(u,$t)}}),mh=new w(new C(u,bh),u),xh=new A({coverage:new C(u,Ae),ligGlyphCount:u,ligGlyphs:new w(new C(u,mh),"ligGlyphCount")}),il=new A({markSetTableFormat:u,markSetCount:u,coverage:new w(new C(P,Ae),"markSetCount")}),vh=new ue(P,{header:{glyphClassDef:new C(u,er),attachList:new C(u,gh),ligCaretList:new C(u,xh),markAttachClassDef:new C(u,er)},65536:{},65538:{markGlyphSetsDef:new C(u,il)},65539:{markGlyphSetsDef:new C(u,il),itemVariationStore:new C(P,Un)}}),Dr=new tt(u,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),yh={xPlacement:D,yPlacement:D,xAdvance:D,yAdvance:D,xPlaDevice:new C(u,$t,{type:"global",relativeTo:s=>s.rel}),yPlaDevice:new C(u,$t,{type:"global",relativeTo:s=>s.rel}),xAdvDevice:new C(u,$t,{type:"global",relativeTo:s=>s.rel}),yAdvDevice:new C(u,$t,{type:"global",relativeTo:s=>s.rel})},rr=class{buildStruct(e){let t=e;for(;!t[this.key]&&t.parent;)t=t.parent;if(!t[this.key])return;let r={};r.rel=()=>t._startOffset;let n=t[this.key];for(let a in n)n[a]&&(r[a]=yh[a]);return new A(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}},wh=new A({secondGlyph:u,value1:new rr("valueFormat1"),value2:new rr("valueFormat2")}),Ch=new w(wh,u),Sh=new A({value1:new rr("valueFormat1"),value2:new rr("valueFormat2")}),b0=new ue(u,{1:{xCoordinate:D,yCoordinate:D},2:{xCoordinate:D,yCoordinate:D,anchorPoint:u},3:{xCoordinate:D,yCoordinate:D,xDeviceTable:new C(u,$t),yDeviceTable:new C(u,$t)}}),Ph=new A({entryAnchor:new C(u,b0,{type:"parent"}),exitAnchor:new C(u,b0,{type:"parent"})}),Ah=new A({class:u,markAnchor:new C(u,b0,{type:"parent"})}),ta=new w(Ah,u),Eh=new w(new C(u,b0),s=>s.parent.classCount),ll=new w(Eh,u),Th=new w(new C(u,b0),s=>s.parent.parent.classCount),kh=new w(Th,u),Fh=new w(new C(u,kh),u),m0=new ue("lookupType",{1:new ue(u,{1:{coverage:new C(u,Ae),valueFormat:Dr,value:new rr},2:{coverage:new C(u,Ae),valueFormat:Dr,valueCount:u,values:new we(new rr,"valueCount")}}),2:new ue(u,{1:{coverage:new C(u,Ae),valueFormat1:Dr,valueFormat2:Dr,pairSetCount:u,pairSets:new we(new C(u,Ch),"pairSetCount")},2:{coverage:new C(u,Ae),valueFormat1:Dr,valueFormat2:Dr,classDef1:new C(u,er),classDef2:new C(u,er),class1Count:u,class2Count:u,classRecords:new we(new we(Sh,"class2Count"),"class1Count")}}),3:{format:u,coverage:new C(u,Ae),entryExitCount:u,entryExitRecords:new w(Ph,"entryExitCount")},4:{format:u,markCoverage:new C(u,Ae),baseCoverage:new C(u,Ae),classCount:u,markArray:new C(u,ta),baseArray:new C(u,ll)},5:{format:u,markCoverage:new C(u,Ae),ligatureCoverage:new C(u,Ae),classCount:u,markArray:new C(u,ta),ligatureArray:new C(u,Fh)},6:{format:u,mark1Coverage:new C(u,Ae),mark2Coverage:new C(u,Ae),classCount:u,mark1Array:new C(u,ta),mark2Array:new C(u,ll)},7:_l,8:Jl,9:{posFormat:u,lookupType:u,extension:new C(P,null)}});m0.versions[9].extension.type=m0;var Ih=new ue(P,{header:{scriptList:new C(u,Yl),featureList:new C(u,Zl),lookupList:new C(u,new mn(m0))},65536:{},65537:{featureVariations:new C(P,Ql)}}),au=new w(u,u),Oh=au,Lh=new A({glyph:u,compCount:u,components:new w(u,s=>s.compCount-1)}),Mh=new w(new C(u,Lh),u),ha=new ue("lookupType",{1:new ue(u,{1:{coverage:new C(u,Ae),deltaGlyphID:D},2:{coverage:new C(u,Ae),glyphCount:u,substitute:new we(u,"glyphCount")}}),2:{substFormat:u,coverage:new C(u,Ae),count:u,sequences:new we(new C(u,au),"count")},3:{substFormat:u,coverage:new C(u,Ae),count:u,alternateSet:new we(new C(u,Oh),"count")},4:{substFormat:u,coverage:new C(u,Ae),count:u,ligatureSets:new we(new C(u,Mh),"count")},5:_l,6:Jl,7:{substFormat:u,lookupType:u,extension:new C(P,null)},8:{substFormat:u,coverage:new C(u,Ae),backtrackCoverage:new w(new C(u,Ae),"backtrackGlyphCount"),lookaheadGlyphCount:u,lookaheadCoverage:new w(new C(u,Ae),"lookaheadGlyphCount"),glyphCount:u,substitutes:new w(u,"glyphCount")}});ha.versions[7].extension.type=ha;var Dh=new ue(P,{header:{scriptList:new C(u,Yl),featureList:new C(u,Zl),lookupList:new C(u,new mn(ha))},65536:{},65537:{featureVariations:new C(P,Ql)}}),Jt=new w(u,u),Bh=new A({shrinkageEnableGSUB:new C(u,Jt),shrinkageDisableGSUB:new C(u,Jt),shrinkageEnableGPOS:new C(u,Jt),shrinkageDisableGPOS:new C(u,Jt),shrinkageJstfMax:new C(u,new mn(m0)),extensionEnableGSUB:new C(u,Jt),extensionDisableGSUB:new C(u,Jt),extensionEnableGPOS:new C(u,Jt),extensionDisableGPOS:new C(u,Jt),extensionJstfMax:new C(u,new mn(m0))}),ou=new w(new C(u,Bh),u),Uh=new A({tag:new ve(4),jstfLangSys:new C(u,ou)}),Rh=new A({extenderGlyphs:new C(u,new w(u,u)),defaultLangSys:new C(u,ou),langSysCount:u,langSysRecords:new w(Uh,"langSysCount")}),Gh=new A({tag:new ve(4),script:new C(u,Rh,{type:"parent"})}),Nh=new A({version:P,scriptCount:u,scriptList:new w(Gh,"scriptCount")}),da=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 _e(this._size,null,t)}constructor(e){this._size=e}},zh=new A({entry:new da(s=>((s.parent.entryFormat&48)>>4)+1),outerIndex:s=>s.entry>>(s.parent.entryFormat&15)+1,innerIndex:s=>s.entry&(1<<(s.parent.entryFormat&15)+1)-1}),ra=new A({entryFormat:u,mapCount:u,mapData:new w(zh,"mapCount")}),Vh=new A({majorVersion:u,minorVersion:u,itemVariationStore:new C(P,Un),advanceWidthMapping:new C(P,ra),LSBMapping:new C(P,ra),RSBMapping:new C(P,ra)}),jh=new A({format:P,length:P,offset:P}),Wh=new A({reserved:new Te(u,2),cbSignature:P,signature:new it("cbSignature")}),Xh=new A({ulVersion:P,usNumSigs:u,usFlag:u,signatures:new w(jh,"usNumSigs"),signatureBlocks:new w(Wh,"usNumSigs")}),Hh=new A({rangeMaxPPEM:u,rangeGaspBehavior:new tt(u,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])}),qh=new A({version:u,numRanges:u,gaspRanges:new w(Hh,"numRanges")}),Yh=new A({pixelSize:j,maximumWidth:j,widths:new w(j,s=>s.parent.parent.maxp.numGlyphs)}),Kh=new A({version:u,numRecords:D,sizeDeviceRecord:Ht,records:new w(Yh,"numRecords")}),Zh=new A({left:u,right:u,value:D}),ul=new A({firstGlyph:u,nGlyphs:u,offsets:new w(u,"nGlyphs"),max:s=>s.offsets.length&&Math.max.apply(Math,s.offsets)}),_h=new A({off:s=>s._startOffset-s.parent.parent._startOffset,len:s=>((s.parent.leftTable.max-s.off)/s.parent.rowWidth+1)*(s.parent.rowWidth/2),values:new we(D,"len")}),cl=new ue("format",{0:{nPairs:u,searchRange:u,entrySelector:u,rangeShift:u,pairs:new w(Zh,"nPairs")},2:{rowWidth:u,leftTable:new C(u,ul,{type:"parent"}),rightTable:new C(u,ul,{type:"parent"}),array:new C(u,_h,{type:"parent"})},3:{glyphCount:u,kernValueCount:j,leftClassCount:j,rightClassCount:j,flags:j,kernValue:new w(D,"kernValueCount"),leftClass:new w(j,"glyphCount"),rightClass:new w(j,"glyphCount"),kernIndex:new w(j,s=>s.leftClassCount*s.rightClassCount)}}),fl=new ue("version",{0:{subVersion:u,length:u,format:j,coverage:new tt(j,["horizontal","minimum","crossStream","override"]),subtable:cl,padding:new Te(j,s=>s.length-s._currentOffset)},1:{length:P,coverage:new tt(j,[null,null,null,null,null,"variation","crossStream","vertical"]),format:j,tupleIndex:u,subtable:cl,padding:new Te(j,s=>s.length-s._currentOffset)}}),Jh=new ue(u,{0:{nTables:u,tables:new w(fl,"nTables")},1:{reserved:new Te(u),nTables:P,tables:new w(fl,"nTables")}}),Qh=new A({version:u,numGlyphs:u,yPels:new w(j,"numGlyphs")}),$h=new A({version:u,fontNumber:P,pitch:u,xHeight:u,style:u,typeFamily:u,capHeight:u,symbolSet:u,typeface:new ve(16),characterComplement:new ve(8),fileName:new ve(6),strokeWeight:new ve(1),widthType:new ve(1),serifStyle:j,reserved:new Te(j)}),ed=new A({bCharSet:j,xRatio:j,yStartRatio:j,yEndRatio:j}),td=new A({yPelHeight:u,yMax:D,yMin:D}),rd=new A({recs:u,startsz:j,endsz:j,entries:new w(td,"recs")}),nd=new A({version:u,numRecs:u,numRatios:u,ratioRanges:new w(ed,"numRatios"),offsets:new w(u,"numRatios"),groups:new w(rd,"numRecs")}),sd=new A({version:u,ascent:D,descent:D,lineGap:D,advanceHeightMax:D,minTopSideBearing:D,minBottomSideBearing:D,yMaxExtent:D,caretSlopeRise:D,caretSlopeRun:D,caretOffset:D,reserved:new Te(D,4),metricDataFormat:D,numberOfMetrics:u}),ad=new A({advance:u,bearing:D}),od=new A({metrics:new we(ad,s=>s.parent.vhea.numberOfMetrics),bearings:new we(D,s=>s.parent.maxp.numGlyphs-s.parent.vhea.numberOfMetrics)}),hl=new Tt(16,"BE",14),id=new A({fromCoord:hl,toCoord:hl}),ld=new A({pairCount:u,correspondence:new w(id,"pairCount")}),ud=new A({version:Be,axisCount:P,segment:new w(ld,"axisCount")}),pa=class{getItem(e){if(this._items[e]==null){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=[]}},bt=class extends w{decode(e,t){return new pa(this.type,e,t)}constructor(e){super(e,0)}},nr=function(s=u){class e{decode(i,l){return l=l.parent.parent,this.type.decode(i,l)}size(i,l){return l=l.parent.parent,this.type.size(i,l)}encode(i,l,c){return c=c.parent.parent,this.type.encode(i,l,c)}constructor(i){this.type=i}}s=new e(s);let t=new A({unitSize:u,nUnits:u,searchRange:u,entrySelector:u,rangeShift:u}),r=new A({lastGlyph:u,firstGlyph:u,value:s}),n=new A({lastGlyph:u,firstGlyph:u,values:new C(u,new w(s,o=>o.lastGlyph-o.firstGlyph+1),{type:"parent"})}),a=new A({glyph:u,value:s});return new ue(u,{0:{values:new bt(s)},2:{binarySearchHeader:t,segments:new w(r,o=>o.binarySearchHeader.nUnits)},4:{binarySearchHeader:t,segments:new w(n,o=>o.binarySearchHeader.nUnits)},6:{binarySearchHeader:t,segments:new w(a,o=>o.binarySearchHeader.nUnits)},8:{firstGlyph:u,count:u,values:new w(s,"count")}})};function an(s={},e=u){let t=Object.assign({newState:u,flags:u},s),r=new A(t),n=new bt(new w(u,o=>o.nClasses));return new A({nClasses:P,classTable:new C(P,new nr(e)),stateArray:new C(P,n),entryTable:new C(P,new bt(r))})}function cd(s={},e=u){let t=new A({version(){return 8},firstGlyph:u,values:new w(j,u)}),r=Object.assign({newStateOffset:u,newState:i=>(i.newStateOffset-(i.parent.stateArray.base-i.parent._startOffset))/i.parent.nClasses,flags:u},s),n=new A(r),a=new bt(new w(j,i=>i.nClasses));return new A({nClasses:u,classTable:new C(u,t),stateArray:new C(u,a),entryTable:new C(u,new bt(n))})}var fd=new ue("format",{0:{deltas:new w(D,32)},1:{deltas:new w(D,32),mappingData:new nr(u)},2:{standardGlyph:u,controlPoints:new w(u,32)},3:{standardGlyph:u,controlPoints:new w(u,32),mappingData:new nr(u)}}),hd=new A({version:Be,format:u,defaultBaseline:u,subtable:fd}),dd=new A({setting:u,nameIndex:D,name:s=>s.parent.parent.parent.name.records.fontFeatures[s.nameIndex]}),pd=new A({feature:u,nSettings:u,settingTable:new C(P,new w(dd,"nSettings"),{type:"parent"}),featureFlags:new tt(j,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:j,nameIndex:D,name:s=>s.parent.parent.name.records.fontFeatures[s.nameIndex]}),gd=new A({version:Be,featureNameCount:u,reserved1:new Te(u),reserved2:new Te(P),featureNames:new w(pd,"featureNameCount")}),bd=new A({axisTag:new ve(4),minValue:Be,defaultValue:Be,maxValue:Be,flags:u,nameID:u,name:s=>s.parent.parent.name.records.fontFeatures[s.nameID]}),md=new A({nameID:u,name:s=>s.parent.parent.name.records.fontFeatures[s.nameID],flags:u,coord:new w(Be,s=>s.parent.axisCount),postscriptNameID:new Yt(u,s=>s.parent.instanceSize-s._currentOffset>0)}),xd=new A({version:Be,offsetToData:u,countSizePairs:u,axisCount:u,axisSize:u,instanceCount:u,instanceSize:u,axis:new w(bd,"axisCount"),instance:new w(md,"instanceCount")}),vd=new Tt(16,"BE",14),ga=class{static decode(e,t){return t.flags?e.readUInt32BE():e.readUInt16BE()*2}},yd=new A({version:u,reserved:new Te(u),axisCount:u,globalCoordCount:u,globalCoords:new C(P,new w(new w(vd,"axisCount"),"globalCoordCount")),glyphCount:u,flags:u,offsetToData:P,offsets:new w(new C(ga,"void",{relativeTo:s=>s.offsetToData,allowNull:!1}),s=>s.glyphCount+1)}),wd=yd,Cd=new A({length:u,coverage:u,subFeatureFlags:P,stateTable:new cd}),Sd=new A({justClass:P,beforeGrowLimit:Be,beforeShrinkLimit:Be,afterGrowLimit:Be,afterShrinkLimit:Be,growFlags:u,shrinkFlags:u}),Pd=new w(Sd,P),Ad=new ue("actionType",{0:{lowerLimit:Be,upperLimit:Be,order:u,glyphs:new w(u,u)},1:{addGlyph:u},2:{substThreshold:Be,addGlyph:u,substGlyph:u},3:{},4:{variationAxis:P,minimumLimit:Be,noStretchValue:Be,maximumLimit:Be},5:{flags:u,glyph:u}}),Ed=new A({actionClass:u,actionType:u,actionLength:P,actionData:Ad,padding:new Te(j,s=>s.actionLength-s._currentOffset)}),Td=new w(Ed,P),kd=new A({lookupTable:new nr(new C(u,Td))}),dl=new A({classTable:new C(u,Cd,{type:"parent"}),wdcOffset:u,postCompensationTable:new C(u,kd,{type:"parent"}),widthDeltaClusters:new nr(new C(u,Pd,{type:"parent",relativeTo:s=>s.wdcOffset}))}),Fd=new A({version:P,format:u,horizontal:new C(u,dl),vertical:new C(u,dl)}),Id={action:u},Od={markIndex:u,currentIndex:u},Ld={currentInsertIndex:u,markedInsertIndex:u},Md=new A({items:new bt(new C(P,new nr))}),Dd=new ue("type",{0:{stateTable:new an},1:{stateTable:new an(Od),substitutionTable:new C(P,Md)},2:{stateTable:new an(Id),ligatureActions:new C(P,new bt(P)),components:new C(P,new bt(u)),ligatureList:new C(P,new bt(u))},4:{lookupTable:new nr},5:{stateTable:new an(Ld),insertionActions:new C(P,new bt(u))}}),Bd=new A({length:P,coverage:Ut,type:j,subFeatureFlags:P,table:Dd,padding:new Te(j,s=>s.length-s._currentOffset)}),Ud=new A({featureType:u,featureSetting:u,enableFlags:P,disableFlags:P}),Rd=new A({defaultFlags:P,chainLength:P,nFeatureEntries:P,nSubtables:P,features:new w(Ud,"nFeatureEntries"),subtables:new w(Bd,"nSubtables")}),Gd=new A({version:u,unused:new Te(u),nChains:P,chains:new w(Rd,"nChains")}),Nd=new A({left:D,top:D,right:D,bottom:D}),zd=new A({version:Be,format:u,lookupTable:new nr(Nd)}),oe={},Cn=oe;oe.cmap=Xf;oe.head=Hf;oe.hhea=qf;oe.hmtx=Kf;oe.maxp=Zf;oe.name=r1;oe["OS/2"]=n1;oe.post=s1;oe.fpgm=o1;oe.loca=i1;oe.prep=l1;oe["cvt "]=a1;oe.glyf=u1;oe["CFF "]=nu;oe.CFF2=nu;oe.VORG=Y1;oe.EBLC=Q1;oe.CBLC=oe.EBLC;oe.sbix=eh;oe.COLR=nh;oe.CPAL=ah;oe.BASE=dh;oe.GDEF=vh;oe.GPOS=Ih;oe.GSUB=Dh;oe.JSTF=Nh;oe.HVAR=Vh;oe.DSIG=Xh;oe.gasp=qh;oe.hdmx=Kh;oe.kern=Jh;oe.LTSH=Qh;oe.PCLT=$h;oe.VDMX=nd;oe.vhea=sd;oe.vmtx=od;oe.avar=ud;oe.bsln=hd;oe.feat=gd;oe.fvar=xd;oe.gvar=wd;oe.just=Fd;oe.morx=Gd;oe.opbd=zd;var Vd=new A({tag:new ve(4),checkSum:P,offset:new C(P,"void",{type:"global"}),length:P}),Ja=new A({tag:new ve(4),numTables:u,searchRange:u,entrySelector:u,rangeShift:u,tables:new w(Vd,"numTables")});Ja.process=function(){let s={};for(let e of this.tables)s[e.tag]=e;this.tables=s};Ja.preEncode=function(){if(!Array.isArray(this.tables)){let t=[];for(let r in this.tables){let n=this.tables[r];n&&t.push({tag:r,checkSum:0,offset:new Er(Cn[r],n),length:Cn[r].size(n)})}this.tables=t}this.tag="true",this.numTables=this.tables.length;let s=Math.floor(Math.log(this.numTables)/Math.LN2),e=Math.pow(2,s);this.searchRange=e*16,this.entrySelector=Math.log(e)/Math.LN2,this.rangeShift=this.numTables*16-this.searchRange};var iu=Ja;function dn(s,e){let t=0,r=s.length-1;for(;t<=r;){let n=t+r>>1,a=e(s[n]);if(a<0)r=n-1;else if(a>0)t=n+1;else return n}return-1}function Br(s,e){let t=[];for(;s<e;)t.push(s++);return t}var Rn=new TextDecoder("ascii"),pl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u0=new Uint8Array(256);for(let s=0;s<pl.length;s++)u0[pl.charCodeAt(s)]=s;function Qa(s){let e=s.length*.75;s[s.length-1]==="="&&(e--,s[s.length-2]==="="&&e--);let t=new Uint8Array(e),r=0;for(let n=0,a=s.length;n<a;n+=4){let o=u0[s.charCodeAt(n)],i=u0[s.charCodeAt(n+1)],l=u0[s.charCodeAt(n+2)],c=u0[s.charCodeAt(n+3)];t[r++]=o<<2|i>>4,t[r++]=(i&15)<<4|l>>2,t[r++]=(l&3)<<6|c&63}return t}var x0=class{findSubtable(e,t){for(let[r,n]of t)for(let a of e.tables)if(a.platformID===r&&a.encodingID===n)return a.table;return null}lookup(e,t){if(this.encoding)e=this.encoding.get(e)||e;else if(t){let n=this.getVariationSelector(e,t);if(n)return n}let r=this.cmap;switch(r.version){case 0:return r.codeMap.get(e)||0;case 4:{let n=0,a=r.segCount-1;for(;n<=a;){let o=n+a>>1;if(e<r.startCode.get(o))a=o-1;else if(e>r.endCode.get(o))n=o+1;else{let i=r.idRangeOffset.get(o),l;if(i===0)l=e+r.idDelta.get(o);else{let c=i/2+(e-r.startCode.get(o))-(r.segCount-o);l=r.glyphIndexArray.get(c)||0,l!==0&&(l+=r.idDelta.get(o))}return l&65535}}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 n=0,a=r.nGroups-1;for(;n<=a;){let o=n+a>>1,i=r.groups.get(o);if(e<i.startCharCode)a=o-1;else if(e>i.endCharCode)n=o+1;else return r.version===12?i.glyphID+(e-i.startCharCode):i.glyphID}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=dn(r,o=>t-o.varSelector),a=r[n];return n!==-1&&a.defaultUVS&&(n=dn(a.defaultUVS,o=>e<o.startUnicodeValue?-1:e>o.startUnicodeValue+o.additionalCount?1:0)),n!==-1&&a.nonDefaultUVS&&(n=dn(a.nonDefaultUVS,o=>e-o.unicodeValue),n!==-1)?a.nonDefaultUVS[n].glyphID:0}getCharacterSet(){let e=this.cmap;switch(e.version){case 0:return Br(0,e.codeMap.length);case 4:{let t=[],r=e.endCode.toArray();for(let n=0;n<r.length;n++){let a=r[n]+1,o=e.startCode.get(n);t.push(...Br(o,a))}return t}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return Br(e.firstCode,e.firstCode+e.glyphIndices.length);case 12:case 13:{let t=[];for(let r of e.groups.toArray())t.push(...Br(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 n=[];for(let a=0;a<256;a++)t.codeMap.get(a)===e&&n.push(a);return n}case 4:{let n=[];for(let a=0;a<t.segCount;a++){let o=t.endCode.get(a),i=t.startCode.get(a),l=t.idRangeOffset.get(a),c=t.idDelta.get(a);for(var r=i;r<=o;r++){let f=0;if(l===0)f=r+c;else{let h=l/2+(r-i)-(t.segCount-a);f=t.glyphIndexArray.get(h)||0,f!==0&&(f+=c)}f===e&&n.push(r)}}return n}case 12:{let n=[];for(let a of t.groups.toArray())e>=a.glyphID&&e<=a.glyphID+(a.endCharCode-a.startCharCode)&&n.push(a.startCharCode+(e-a.glyphID));return n}case 13:{let n=[];for(let a of t.groups.toArray())e===a.glyphID&&n.push(...Br(a.startCharCode,a.endCharCode+1));return n}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 r=jl(t.platformID,t.encodingID,t.table.language-1),n=Qf(r);n&&(this.cmap=t.table,this.encoding=n)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&this.uvs.version!==14&&(this.uvs=null)}};Xe([Ze],x0.prototype,"getCharacterSet",null);Xe([Ze],x0.prototype,"codePointsForGlyph",null);var ba=class{process(e,t){for(let r=0;r<e.length-1;r++){let n=e[r].id,a=e[r+1].id;t[r].xAdvance+=this.getKerning(n,a)}}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 a=0,o=n.subtable;switch(n.format){case 0:let i=dn(o.pairs,function(h){return e-h.left||t-h.right});i>=0&&(a=o.pairs[i].value);break;case 2:let l=0,c=0;e>=o.leftTable.firstGlyph&&e<o.leftTable.firstGlyph+o.leftTable.nGlyphs?l=o.leftTable.offsets[e-o.leftTable.firstGlyph]:l=o.array.off,t>=o.rightTable.firstGlyph&&t<o.rightTable.firstGlyph+o.rightTable.nGlyphs&&(c=o.rightTable.offsets[t-o.rightTable.firstGlyph]);let f=(l+c-o.array.off)/2;a=o.array.values.get(f);break;case 3:if(e>=o.glyphCount||t>=o.glyphCount)return 0;a=o.kernValue[o.kernIndex[o.leftClass[e]*o.rightClassCount+o.rightClass[t]]];break;default:throw new Error(`Unsupported kerning sub-table format ${n.format}`)}n.coverage.override?r=a:r+=a}return r}constructor(e){this.kern=e.kern}},ma=class{positionGlyphs(e,t){let r=0,n=0;for(let a=0;a<e.length;a++)e[a].isMark?n=a:(r!==n&&this.positionCluster(e,t,r,n),r=n=a);return r!==n&&this.positionCluster(e,t,r,n),t}positionCluster(e,t,r,n){let a=e[r],o=a.cbox.copy();a.codePoints.length>1&&(o.minX+=(a.codePoints.length-1)*o.width/a.codePoints.length);let i=-t[r].xAdvance,l=0,c=this.font.unitsPerEm/16;for(let f=r+1;f<=n;f++){let h=e[f],g=h.cbox,m=t[f],p=this.getCombiningClass(h.codePoints[0]);if(p!=="Not_Reordered"){switch(m.xOffset=m.yOffset=0,p){case"Double_Above":case"Double_Below":m.xOffset+=o.minX-g.width/2-g.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":m.xOffset+=o.minX-g.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":m.xOffset+=o.maxX-g.width-g.minX;break;default:m.xOffset+=o.minX+(o.width-g.width)/2-g.minX}switch(p){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":(p==="Attached_Below_Left"||p==="Attached_Below")&&(o.minY+=c),m.yOffset=-o.minY-g.maxY,o.minY+=g.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":(p==="Attached_Above"||p==="Attached_Above_Right")&&(o.maxY+=c),m.yOffset=o.maxY-g.minY,o.maxY+=g.height;break}m.xAdvance=m.yAdvance=0,m.xOffset+=i,m.yOffset+=l}else i-=m.xAdvance,l-=m.yAdvance}}getCombiningClass(e){let t=xi(e);if((e&-256)===3584){if(t==="Not_Reordered")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(e===3642)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":return"Below";case"CCC23":return"Attached_Above";case"CCC24":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":return"Above";case"CCC21":break;case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":return"Above";case"CCC29":case"CCC32":return"Below";case"CCC103":return"Below_Right";case"CCC107":return"Above_Right";case"CCC118":return"Below";case"CCC122":return"Above";case"CCC129":case"CCC132":return"Below";case"CCC130":return"Above"}return t}constructor(e){this.font=e}},sr=class s{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 s(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}},Nr={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"},xa={};for(let s in Nr){let e=Nr[s];if(Array.isArray(e))for(let t of e)xa[t]=s;else xa[e]=s}function jd(s){return xa[s]}function Wd(s){let e=s.length,t=0;for(;t<e;){let r=s.charCodeAt(t++);if(55296<=r&&r<=56319&&t<e){let a=s.charCodeAt(t);56320<=a&&a<=57343&&(t++,r=((r&1023)<<10)+(a&1023)+65536)}let n=Ms(r);if(n!=="Common"&&n!=="Inherited"&&n!=="Unknown")return Nr[n]}return Nr.Unknown}function Xd(s){for(let e=0;e<s.length;e++){let t=s[e],r=Ms(t);if(r!=="Common"&&r!=="Inherited"&&r!=="Unknown")return Nr[r]}return Nr.Unknown}var Hd={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 lu(s){return Hd[s]?"rtl":"ltr"}var va=class{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 sr,t=0,r=0;for(let n=0;n<this.glyphs.length;n++){let a=this.glyphs[n],o=this.positions[n],i=a.bbox;e.addPoint(i.minX+t+o.xOffset,i.minY+r+o.yOffset),e.addPoint(i.maxX+t+o.xOffset,i.maxY+r+o.yOffset),t+=o.xAdvance,r+=o.yAdvance}return e}constructor(e,t,r,n,a){if(this.glyphs=e,this.positions=null,this.script=r,this.language=n||null,this.direction=a||lu(r),this.features={},Array.isArray(t))for(let o of t)this.features[o]=!0;else typeof t=="object"&&(this.features=t)}},ya=class{constructor(e=0,t=0,r=0,n=0){this.xAdvance=e,this.yAdvance=t,this.xOffset=r,this.yOffset=n}},mr={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}},W=(s,e)=>[mr[s].code,mr[s][e]],Sn={rlig:W("ligatures","requiredLigatures"),clig:W("ligatures","contextualLigatures"),dlig:W("ligatures","rareLigatures"),hlig:W("ligatures","historicalLigatures"),liga:W("ligatures","commonLigatures"),hist:W("ligatures","historicalLigatures"),smcp:W("lowerCase","lowerCaseSmallCaps"),pcap:W("lowerCase","lowerCasePetiteCaps"),frac:W("fractions","diagonalFractions"),dnom:W("fractions","diagonalFractions"),numr:W("fractions","diagonalFractions"),afrc:W("fractions","verticalFractions"),case:W("caseSensitiveLayout","caseSensitiveLayout"),ccmp:W("unicodeDecomposition","canonicalComposition"),cpct:W("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:W("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:W("contextualAlternates","swashAlternates"),cswh:W("contextualAlternates","contextualSwashAlternates"),curs:W("cursiveConnection","cursive"),c2pc:W("upperCase","upperCasePetiteCaps"),c2sc:W("upperCase","upperCaseSmallCaps"),init:W("smartSwash","wordInitialSwashes"),fin2:W("smartSwash","wordFinalSwashes"),medi:W("smartSwash","nonFinalSwashes"),med2:W("smartSwash","nonFinalSwashes"),fin3:W("smartSwash","wordFinalSwashes"),fina:W("smartSwash","wordFinalSwashes"),pkna:W("kanaSpacing","proportionalKana"),half:W("textSpacing","halfWidthText"),halt:W("textSpacing","altHalfWidthText"),hkna:W("alternateKana","alternateHorizKana"),vkna:W("alternateKana","alternateVertKana"),ital:W("italicCJKRoman","CJKItalicRoman"),lnum:W("numberCase","upperCaseNumbers"),onum:W("numberCase","lowerCaseNumbers"),mgrk:W("mathematicalExtras","mathematicalGreek"),calt:W("contextualAlternates","contextualAlternates"),vrt2:W("verticalSubstitution","substituteVerticalForms"),vert:W("verticalSubstitution","substituteVerticalForms"),tnum:W("numberSpacing","monospacedNumbers"),pnum:W("numberSpacing","proportionalNumbers"),sups:W("verticalPosition","superiors"),subs:W("verticalPosition","inferiors"),ordn:W("verticalPosition","ordinals"),pwid:W("textSpacing","proportionalText"),hwid:W("textSpacing","halfWidthText"),qwid:W("textSpacing","quarterWidthText"),twid:W("textSpacing","thirdWidthText"),fwid:W("textSpacing","proportionalText"),palt:W("textSpacing","altProportionalText"),trad:W("characterShape","traditionalCharacters"),smpl:W("characterShape","simplifiedCharacters"),jp78:W("characterShape","JIS1978Characters"),jp83:W("characterShape","JIS1983Characters"),jp90:W("characterShape","JIS1990Characters"),jp04:W("characterShape","JIS2004Characters"),expt:W("characterShape","expertCharacters"),hojo:W("characterShape","hojoCharacters"),nlck:W("characterShape","NLCCharacters"),tnam:W("characterShape","traditionalNamesCharacters"),ruby:W("rubyKana","rubyKana"),titl:W("styleOptions","titlingCaps"),zero:W("typographicExtras","slashedZero"),ss01:W("stylisticAlternatives","stylisticAltOne"),ss02:W("stylisticAlternatives","stylisticAltTwo"),ss03:W("stylisticAlternatives","stylisticAltThree"),ss04:W("stylisticAlternatives","stylisticAltFour"),ss05:W("stylisticAlternatives","stylisticAltFive"),ss06:W("stylisticAlternatives","stylisticAltSix"),ss07:W("stylisticAlternatives","stylisticAltSeven"),ss08:W("stylisticAlternatives","stylisticAltEight"),ss09:W("stylisticAlternatives","stylisticAltNine"),ss10:W("stylisticAlternatives","stylisticAltTen"),ss11:W("stylisticAlternatives","stylisticAltEleven"),ss12:W("stylisticAlternatives","stylisticAltTwelve"),ss13:W("stylisticAlternatives","stylisticAltThirteen"),ss14:W("stylisticAlternatives","stylisticAltFourteen"),ss15:W("stylisticAlternatives","stylisticAltFifteen"),ss16:W("stylisticAlternatives","stylisticAltSixteen"),ss17:W("stylisticAlternatives","stylisticAltSeventeen"),ss18:W("stylisticAlternatives","stylisticAltEighteen"),ss19:W("stylisticAlternatives","stylisticAltNineteen"),ss20:W("stylisticAlternatives","stylisticAltTwenty")};for(let s=1;s<=99;s++)Sn[`cv${`00${s}`.slice(-2)}`]=[mr.characterAlternatives.code,s];var xr={};for(let s in Sn){let e=Sn[s];xr[e[0]]==null&&(xr[e[0]]={}),xr[e[0]][e[1]]=s}function qd(s){let e={};for(let t in s){let r;(r=Sn[t])&&(e[r[0]]==null&&(e[r[0]]={}),e[r[0]][r[1]]=s[t])}return e}function gl(s){let[e,t]=s;if(isNaN(e))var r=mr[e]&&mr[e].code;else var r=e;if(isNaN(t))var n=mr[e]&&mr[e][t];else var n=t;return[r,n]}function Yd(s){let e={};if(Array.isArray(s))for(let t=0;t<s.length;t++){let r,n=gl(s[t]);(r=xr[n[0]]&&xr[n[0]][n[1]])&&(e[r]=!0)}else if(typeof s=="object")for(let t in s){let r=s[t];for(let n in r){let a,o=gl([t,n]);r[n]&&(a=xr[o[0]]&&xr[o[0]][o[1]])&&(e[a]=!0)}}return Object.keys(e)}var vr=class{lookup(e){switch(this.table.version){case 0:return this.table.values.getItem(e);case 2:case 4:{let n=0,a=this.table.binarySearchHeader.nUnits-1;for(;n<=a;){var t=n+a>>1,r=this.table.segments[t];if(r.firstGlyph===65535)return null;if(e<r.firstGlyph)a=t-1;else if(e>r.lastGlyph)n=t+1;else return this.table.version===2?r.value:r.values[e-r.firstGlyph]}return null}case 6:{let n=0,a=this.table.binarySearchHeader.nUnits-1;for(;n<=a;){var t=n+a>>1,r=this.table.segments[t];if(r.glyph===65535)return null;if(e<r.glyph)a=t-1;else if(e>r.glyph)n=t+1;else return r.value}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(this.table.version===2&&r.value===e)t.push(...Br(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}};Xe([Ze],vr.prototype,"glyphsForValue",null);var Kd=0;var bl=0,ml=1,xl=2;var Zd=16384,wa=class{process(e,t,r){let n=Kd,a=t?e.length-1:0,o=t?-1:1;for(;o===1&&a<=e.length||o===-1&&a>=-1;){let i=null,l=ml,c=!0;a===e.length||a===-1?l=bl:(i=e[a],i.id===65535?l=xl:(l=this.lookupTable.lookup(i.id),l==null&&(l=ml)));let h=this.stateTable.stateArray.getItem(n)[l],g=this.stateTable.entryTable.getItem(h);l!==bl&&l!==xl&&(r(i,g,a),c=!(g.flags&Zd)),n=g.newState,c&&(a+=o)}return e}traverse(e,t=0,r=new Set){if(r.has(t))return;r.add(t);let{nClasses:n,stateArray:a,entryTable:o}=this.stateTable,i=a.getItem(t);for(let l=4;l<n;l++){let c=i[l],f=o.getItem(c);for(let h of this.lookupTable.glyphsForValue(l))e.enter&&e.enter(h,f),f.newState!==0&&this.traverse(e,f.newState,r),e.exit&&e.exit(h,f)}}constructor(e){this.stateTable=e,this.lookupTable=new vr(e.classTable)}},_d=32768,Jd=8192,Qd=15,vl=32768,$d=32768,e2=8192,t2=2147483648,r2=1073741824,n2=1073741823;var yl=4194304;var s2=2048,a2=1024,o2=992,i2=31,Pn=class{process(e,t={}){for(let n of this.morx.chains){let a=n.defaultFlags;for(let o of n.features){let i;(i=t[o.featureType])&&(i[o.featureSetting]?(a&=o.disableFlags,a|=o.enableFlags):i[o.featureSetting]===!1&&(a|=~o.disableFlags,a&=~o.enableFlags))}for(let o of n.subtables)o.subFeatureFlags&a&&this.processSubtable(o,e)}let r=e.length-1;for(;r>=0;)e[r].id===65535&&e.splice(r,1),r--;return e}processSubtable(e,t){if(this.subtable=e,this.glyphs=t,this.subtable.type===4){this.processNoncontextualSubstitutions(this.subtable,this.glyphs);return}this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let r=this.getStateMachine(e),n=this.getProcessor(),a=!!(this.subtable.coverage&yl);return r.process(this.glyphs,a,n)}getStateMachine(e){return new wa(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){t.flags&_d&&(this.firstGlyph=r),t.flags&Jd&&(this.lastGlyph=r),l2(this.glyphs,t.flags&Qd,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(e,t,r){let n=this.subtable.table.substitutionTable.items;if(t.markIndex!==65535){let o=n.getItem(t.markIndex),i=new vr(o);e=this.glyphs[this.markedGlyph];var a=i.lookup(e.id);a&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(a,e.codePoints))}if(t.currentIndex!==65535){let o=n.getItem(t.currentIndex),i=new vr(o);e=this.glyphs[r];var a=i.lookup(e.id);a&&(this.glyphs[r]=this.font.getGlyph(a,e.codePoints))}t.flags&vl&&(this.markedGlyph=r)}processLigature(e,t,r){if(t.flags&$d&&this.ligatureStack.push(r),t.flags&e2){let n=this.subtable.table.ligatureActions,a=this.subtable.table.components,o=this.subtable.table.ligatureList,i=t.action,l=!1,c=0,f=[],h=[];for(;!l;){let g=this.ligatureStack.pop();f.unshift(...this.glyphs[g].codePoints);let m=n.getItem(i++);l=!!(m&t2);let p=!!(m&r2),b=(m&n2)<<2>>2;b+=this.glyphs[g].id;let y=a.getItem(b);if(c+=y,l||p){let x=o.getItem(c);this.glyphs[g]=this.font.getGlyph(x,f),h.push(g),c=0,f=[]}else this.glyphs[g]=this.font.getGlyph(65535)}this.ligatureStack.push(...h)}}processNoncontextualSubstitutions(e,t,r){let n=new vr(e.table.lookupTable);for(r=0;r<t.length;r++){let a=t[r];if(a.id!==65535){let o=n.lookup(a.id);o&&(t[r]=this.font.getGlyph(o,a.codePoints))}}}_insertGlyphs(e,t,r,n){let a=[];for(;r--;){let o=this.subtable.table.insertionActions.getItem(t++);a.push(this.font.getGlyph(o))}n||e++,this.glyphs.splice(e,0,...a)}processGlyphInsertion(e,t,r){if(t.flags&vl&&(this.markedIndex=r),t.markedInsertIndex!==65535){let n=(t.flags&i2)>>>5,a=!!(t.flags&a2);this._insertGlyphs(this.markedIndex,t.markedInsertIndex,n,a)}if(t.currentInsertIndex!==65535){let n=(t.flags&o2)>>>5,a=!!(t.flags&s2);this._insertGlyphs(r,t.currentInsertIndex,n,a)}}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(e.type!==2)return;if(!!(e.coverage&yl))throw new Error("Reverse subtable, not supported.");this.subtable=e,this.ligatureStack=[];let r=this.getStateMachine(e),n=this.getProcessor(),a=[],o=[];this.glyphs=[],r.traverse({enter:(i,l)=>{let c=this.glyphs;o.push({glyphs:c.slice(),ligatureStack:this.ligatureStack.slice()});let f=this.font.getGlyph(i);a.push(f),c.push(a[a.length-1]),n(c[c.length-1],l,c.length-1);let h=0,g=0;for(let m=0;m<c.length&&h<=1;m++)c[m].id!==65535&&(h++,g=c[m].id);if(h===1){let m=a.map(b=>b.id),p=this.inputCache[g];p?p.push(m):this.inputCache[g]=[m]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=o.pop()),a.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}};Xe([Ze],Pn.prototype,"getStateMachine",null);function nt(s,e,t,r=!1,n=!1){let a=s.splice(t[0]-(t[1]-1),t[1]);n&&a.reverse();let o=s.splice(e[0],e[1],...a);return r&&o.reverse(),s.splice(t[0]-(e[1]-1),0,...o),s}function l2(s,e,t,r){let n=r-t+1;switch(e){case 0:return s;case 1:return nt(s,[t,1],[r,0]);case 2:return nt(s,[t,0],[r,1]);case 3:return nt(s,[t,1],[r,1]);case 4:return nt(s,[t,2],[r,0]);case 5:return nt(s,[t,2],[r,0],!0,!1);case 6:return nt(s,[t,0],[r,2]);case 7:return nt(s,[t,0],[r,2],!1,!0);case 8:return nt(s,[t,1],[r,2]);case 9:return nt(s,[t,1],[r,2],!1,!0);case 10:return nt(s,[t,2],[r,1]);case 11:return nt(s,[t,2],[r,1],!0,!1);case 12:return nt(s,[t,2],[r,2]);case 13:return nt(s,[t,2],[r,2],!0,!1);case 14:return nt(s,[t,2],[r,2],!1,!0);case 15:return nt(s,[t,2],[r,2],!0,!0);default:throw new Error(`Unknown verb: ${e}`)}}var Ca=class{substitute(e){e.direction==="rtl"&&e.glyphs.reverse(),this.morxProcessor.process(e.glyphs,qd(e.features))}getAvailableFeatures(e,t){return Yd(this.morxProcessor.getSupportedFeatures())}stringsForGlyph(e){let t=this.morxProcessor.generateInputs(e),r=new Set;for(let n of t)this._addStrings(n,0,r,"");return r}_addStrings(e,t,r,n){let a=this.font._cmapProcessor.codePointsForGlyph(e[t]);for(let o of a){let i=n+String.fromCodePoint(o);t<e.length-1?this._addStrings(e,t+1,r,i):r.add(i)}}constructor(e){this.font=e,this.morxProcessor=new Pn(e),this.fallbackPosition=!1}},Sa=class{_addFeatures(e,t){let r=this.stages.length-1,n=this.stages[r];for(let a of e)this.allFeatures[a]==null&&(n.push(a),this.allFeatures[a]=r,t&&(this.globalFeatures[a]=!0))}add(e,t=!0){if(this.stages.length===0&&this.stages.push([]),typeof e=="string"&&(e=[e]),Array.isArray(e))this._addFeatures(e,t);else if(typeof e=="object")this._addFeatures(e.global||[],!0),this._addFeatures(e.local||[],!1);else throw new Error("Unsupported argument to ShapingPlan#add")}addStage(e,t){typeof e=="function"?this.stages.push(e,[]):(this.stages.push([]),this.add(e,t))}setFeatureOverrides(e){if(Array.isArray(e))this.add(e);else if(typeof e=="object"){for(let t in e)if(e[t])this.add(t);else if(this.allFeatures[t]!=null){let r=this.stages[this.allFeatures[t]];r.splice(r.indexOf(t),1),delete this.allFeatures[t],delete this.globalFeatures[t]}}}assignGlobalFeatures(e){for(let t of e)for(let r in this.globalFeatures)t.features[r]=!0}process(e,t,r){for(let n of this.stages)typeof n=="function"?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={}}},u2=["rvrn"],c2=["ccmp","locl","rlig","mark","mkmk"],f2=["frac","numr","dnom"],h2=["calt","clig","liga","rclt","curs","kern"];var d2={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]},Dt=class{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:[...u2,...d2[e.direction]],local:f2})}static planFeatures(e){}static planPostprocessing(e,t){e.add([...c2,...h2]),e.setFeatureOverrides(t)}static assignFeatures(e,t){for(let r=0;r<t.length;r++){let n=t[r];if(n.codePoints[0]===8260){let a=r,o=r+1;for(;a>0&&Ds(t[a-1].codePoints[0]);)t[a-1].features.numr=!0,t[a-1].features.frac=!0,a--;for(;o<t.length&&Ds(t[o].codePoints[0]);)t[o].features.dnom=!0,t[o].features.frac=!0,o++;n.features.frac=!0,r=o-1}}}};rt(Dt,"zeroMarkWidths","AFTER_GPOS");var p2=new Dn.default(Qa("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==")),wl=["isol","fina","fin2","fin3","medi","med2","init"],Pa={Non_Joining:0,Left_Joining:1,Right_Joining:2,Dual_Joining:3,Join_Causing:3,ALAPH:4,"DALATH RISH":5,Transparent:6},Fe="isol",Qt="fina",na="fin2",g2="fin3",on="medi",ln="med2",un="init",me=null,b2=[[[me,me,0],[me,Fe,2],[me,Fe,1],[me,Fe,2],[me,Fe,1],[me,Fe,6]],[[me,me,0],[me,Fe,2],[me,Fe,1],[me,Fe,2],[me,na,5],[me,Fe,6]],[[me,me,0],[me,Fe,2],[un,Qt,1],[un,Qt,3],[un,Qt,4],[un,Qt,6]],[[me,me,0],[me,Fe,2],[on,Qt,1],[on,Qt,3],[on,Qt,4],[on,Qt,6]],[[me,me,0],[me,Fe,2],[ln,Fe,1],[ln,Fe,2],[ln,na,5],[ln,Fe,6]],[[me,me,0],[me,Fe,2],[Fe,Fe,1],[Fe,Fe,2],[Fe,na,5],[Fe,Fe,6]],[[me,me,0],[me,Fe,2],[me,Fe,1],[me,Fe,2],[me,g2,5],[me,Fe,6]]],Lt=class extends Dt{static planFeatures(e){e.add(["ccmp","locl"]);for(let t=0;t<wl.length;t++){let r=wl[t];e.addStage(r,!1)}e.addStage("mset")}static assignFeatures(e,t){super.assignFeatures(e,t);let r=-1,n=0,a=[];for(let i=0;i<t.length;i++){let l,c;var o=t[i];let f=m2(o.codePoints[0]);if(f===Pa.Transparent){a[i]=me;continue}[c,l,n]=b2[n][f],c!==me&&r!==-1&&(a[r]=c),a[i]=l,r=i}for(let i=0;i<t.length;i++){let l;var o=t[i];(l=a[i])&&(o.features[l]=!0)}}};function m2(s){let e=p2.get(s);if(e)return e-1;let t=a0(s);return t==="Mn"||t==="Me"||t==="Cf"?Pa.Transparent:Pa.Non_Joining}var Aa=class{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)}},x2=["DFLT","dflt","latn"],zr=class{findScript(e){if(this.table.scriptList==null)return null;Array.isArray(e)||(e=[e]);for(let t of e)for(let r of this.table.scriptList)if(r.tag===t)return r;return null}selectScript(e,t,r){let n=!1,a;if(!this.script||e!==this.scriptTag){if(a=this.findScript(e),a||(a=this.findScript(x2)),!a)return this.scriptTag;this.scriptTag=a.tag,this.script=a.script,this.language=null,this.languageTag=null,n=!0}if((!r||r!==this.direction)&&(this.direction=r||lu(e)),t&&t.length<4&&(t+=" ".repeat(4-t.length)),!t||t!==this.languageTag){this.language=null;for(let o of this.script.langSysRecords)if(o.tag===t){this.language=o.langSys,this.languageTag=o.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),n=!0}if(n&&(this.features={},this.language))for(let o of this.language.featureIndexes){let i=this.table.featureList[o],l=this.substituteFeatureForVariations(o);this.features[i.tag]=l||i.feature}return this.scriptTag}lookupsForFeatures(e=[],t){let r=[];for(let n of e){let a=this.features[n];if(a)for(let o of a.lookupListIndexes)t&&t.indexOf(o)!==-1||r.push({feature:n,index:o,lookup:this.table.lookupList.get(o)})}return r.sort((n,a)=>n.index-a.index),r}substituteFeatureForVariations(e){if(this.variationsIndex===-1)return null;let r=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions;for(let n of r)if(n.featureIndex===e)return n.alternateFeatureTable;return null}findVariationsIndex(e){let t=this.table.featureVariations;if(!t)return-1;let r=t.featureVariationRecords;for(let n=0;n<r.length;n++){let a=r[n].conditionSet.conditionTable;if(this.variationConditionsMatch(a,e))return n}return-1}variationConditionsMatch(e,t){return e.every(r=>{let n=r.axisIndex<t.length?t[r.axisIndex]:0;return r.filterRangeMinValue<=n&&n<=r.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 Aa(t);for(let{feature:n,lookup:a}of e)for(this.currentFeature=n,this.glyphIterator.reset(a.flags);this.glyphIterator.index<t.length;){if(!(n in this.glyphIterator.cur.features)){this.glyphIterator.next();continue}for(let o of a.subTables)if(this.applyLookup(a.lookupType,o))break;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 a=this.table.lookupList.get(n.lookupListIndex);this.glyphIterator.reset(a.flags,this.glyphIterator.index);for(let o of a.subTables)if(this.applyLookup(a.lookupType,o))break}return this.glyphIterator.reset(t,r),!0}coverageIndex(e,t){switch(t==null&&(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;break}return-1}match(e,t,r,n){let a=this.glyphIterator.index,o=this.glyphIterator.increment(e),i=0;for(;i<t.length&&o&&r(t[i],o);)n&&n.push(this.glyphIterator.index),i++,o=this.glyphIterator.next();return this.glyphIterator.index=a,i<t.length?!1:n||!0}sequenceMatches(e,t){return this.match(e,t,(r,n)=>r===n.id)}sequenceMatchIndices(e,t){return this.match(e,t,(r,n)=>this.currentFeature in n.features?r===n.id:!1,[])}coverageSequenceMatches(e,t){return this.match(e,t,(r,n)=>this.coverageIndex(r,n.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 n of t.classRangeRecord)if(n.start<=e&&e<=n.end)return n.class;break}return 0}classSequenceMatches(e,t,r){return this.match(e,t,(n,a)=>n===this.getClassID(a.id,r))}applyContext(e){let t,r;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),t===-1)return!1;r=e.ruleSets[t];for(let n of r)if(this.sequenceMatches(1,n.input))return this.applyLookupList(n.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1||(t=this.getClassID(this.glyphIterator.cur.id,e.classDef),t===-1))return!1;r=e.classSet[t];for(let n of r)if(this.classSequenceMatches(1,n.classes,e.classDef))return this.applyLookupList(n.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,e.coverages))return this.applyLookupList(e.lookupRecords);break}return!1}applyChainingContext(e){let t;switch(e.version){case 1:if(t=this.coverageIndex(e.coverage),t===-1)return!1;let r=e.chainRuleSets[t];for(let a of r)if(this.sequenceMatches(-a.backtrack.length,a.backtrack)&&this.sequenceMatches(1,a.input)&&this.sequenceMatches(1+a.input.length,a.lookahead))return this.applyLookupList(a.lookupRecords);break;case 2:if(this.coverageIndex(e.coverage)===-1)return!1;t=this.getClassID(this.glyphIterator.cur.id,e.inputClassDef);let n=e.chainClassSet[t];if(!n)return!1;for(let a of n)if(this.classSequenceMatches(-a.backtrack.length,a.backtrack,e.backtrackClassDef)&&this.classSequenceMatches(1,a.input,e.inputClassDef)&&this.classSequenceMatches(1+a.input.length,a.lookahead,e.lookaheadClassDef))return this.applyLookupList(a.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);break}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}},wt=class s{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=zr.prototype.getClassID(e,t.glyphClassDef);this.isBase=r===1,this.isLigature=r===2,this.isMark=r===3,this.markAttachmentType=t.markAttachClassDef?zr.prototype.getClassID(e,t.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(Bs),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new s(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 a=0;a<n.length;a++){let o=n[a];this.features[o]=!0}else typeof n=="object"&&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}},An=class extends Dt{static planFeatures(e){e.add(["ljmo","vjmo","tjmo"],!1)}static assignFeatures(e,t){let r=0,n=0;for(;n<t.length;){let a,i=t[n].codePoints[0],l=Fn(i);switch([a,r]=U2[r][l],a){case Gt:e.font.hasGlyphForCodePoint(i)||(n=fu(t,n,e.font));break;case Ea:n=R2(t,n,e.font);break;case Ta:N2(t,n,e.font);break;case ka:n=z2(t,n,e.font);break}n++}}};rt(An,"zeroMarkWidths","NONE");var Vr=44032,uu=55204,v2=uu-Vr+1,Gn=4352,Nn=4449,tr=4519,y2=19,En=21,v0=28,w2=Gn+y2-1,C2=Nn+En-1,S2=tr+v0-1,Cl=9676,P2=s=>4352<=s&&s<=4447||43360<=s&&s<=43388,A2=s=>4448<=s&&s<=4519||55216<=s&&s<=55238,E2=s=>4520<=s&&s<=4607||55243<=s&&s<=55291,T2=s=>12334<=s&&s<=12335,k2=s=>Vr<=s&&s<=uu,F2=s=>s-Vr<v2&&(s-Vr)%v0===0,I2=s=>Gn<=s&&s<=w2,O2=s=>Nn<=s&&s<=C2,L2=s=>tr+1&&1<=s&&s<=S2,M2=0,D2=1,Tn=2,$a=3,kn=4,cu=5,B2=6;function Fn(s){return P2(s)?D2:A2(s)?Tn:E2(s)?$a:F2(s)?kn:k2(s)?cu:T2(s)?B2:M2}var lt=0,Gt=1,Ea=2,Ta=4,ka=5,U2=[[[lt,0],[lt,1],[lt,0],[lt,0],[Gt,2],[Gt,3],[ka,0]],[[lt,0],[lt,1],[Ea,2],[lt,0],[Gt,2],[Gt,3],[ka,0]],[[lt,0],[lt,1],[lt,0],[Ea,3],[Gt,2],[Gt,3],[Ta,0]],[[lt,0],[lt,1],[lt,0],[lt,0],[Gt,2],[Gt,3],[Ta,0]]];function d0(s,e,t){return new wt(s,s.glyphForCodePoint(e).id,[e],t)}function fu(s,e,t){let r=s[e],a=r.codePoints[0]-Vr,o=tr+a%v0;a=a/v0|0;let i=Gn+a/En|0,l=Nn+a%En;if(!t.hasGlyphForCodePoint(i)||!t.hasGlyphForCodePoint(l)||o!==tr&&!t.hasGlyphForCodePoint(o))return e;let c=d0(t,i,r.features);c.features.ljmo=!0;let f=d0(t,l,r.features);f.features.vjmo=!0;let h=[c,f];if(o>tr){let g=d0(t,o,r.features);g.features.tjmo=!0,h.push(g)}return s.splice(e,1,...h),e+h.length-1}function R2(s,e,t){let r=s[e],n=s[e].codePoints[0],a=Fn(n),o=s[e-1].codePoints[0],i=Fn(o),l,c,f,h;if(i===kn&&a===$a)l=o,h=r;else{a===Tn?(c=s[e-1],f=r):(c=s[e-2],f=s[e-1],h=r);let m=c.codePoints[0],p=f.codePoints[0];I2(m)&&O2(p)&&(l=Vr+((m-Gn)*En+(p-Nn))*v0)}let g=h&&h.codePoints[0]||tr;if(l!=null&&(g===tr||L2(g))){let m=l+(g-tr);if(t.hasGlyphForCodePoint(m)){let p=i===Tn?3:2;return s.splice(e-p+1,p,d0(t,m,r.features)),e-p+1}}return c&&(c.features.ljmo=!0),f&&(f.features.vjmo=!0),h&&(h.features.tjmo=!0),i===kn?(fu(s,e-1,t),e+1):e}function G2(s){switch(Fn(s)){case kn:case cu:return 1;case Tn:return 2;case $a:return 3}}function N2(s,e,t){let r=s[e],n=s[e].codePoints[0];if(t.glyphForCodePoint(n).advanceWidth===0)return;let a=s[e-1].codePoints[0],o=G2(a);return s.splice(e,1),s.splice(e-o,0,r)}function z2(s,e,t){let r=s[e],n=s[e].codePoints[0];if(t.hasGlyphForCodePoint(Cl)){let a=d0(t,Cl,r.features),o=t.glyphForCodePoint(n).advanceWidth===0?e:e+1;s.splice(o,0,a),e++}return e}var hu={};hu=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 zn={};zn=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"]]}');var he={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,SM:256,VD:512,A:1024,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:131072,Symbol:262144},ee={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,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},V2=he.C|he.Ra|he.CM|he.V|he.Placeholder|he.Dotted_Circle,du=he.ZWJ|he.ZWNJ,p0=he.H|he.Coeng,Sl={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:ee.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:ee.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:ee.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:ee.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:ee.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:ee.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:ee.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:ee.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:ee.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:ee.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:ee.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},j2={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},{decompositions:W2}=Bn(zn),pu=new Dn.default(Qa("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")),X2=new Ka.default(Bn(hu)),Ue=class extends Dt{static planFeatures(e){e.addStage(H2),e.addStage(["locl","ccmp"]),e.addStage(Y2),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(K2),e.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),e.unicodeScript=jd(e.script),e.indicConfig=Sl[e.unicodeScript]||Sl.Default,e.isOldSpec=e.indicConfig.hasOldSpec&&e.script[e.script.length-1]!=="2"}static assignFeatures(e,t){for(let r=t.length-1;r>=0;r--){let n=t[r].codePoints[0],a=j2[n]||W2[n];if(a){let o=a.map(i=>{let l=e.font.glyphForCodePoint(i);return new wt(e.font,l.id,[i],t[r].features)});t.splice(r,1,...o)}}}};rt(Ue,"zeroMarkWidths","NONE");function Fa(s){return pu.get(s.codePoints[0])>>8}function gu(s){return 1<<(pu.get(s.codePoints[0])&255)}var Rr=class{constructor(e,t,r,n){this.category=e,this.position=t,this.syllableType=r,this.syllable=n}};function H2(s,e){let t=0,r=0;for(let[n,a,o]of X2.match(e.map(Fa))){if(n>r){++t;for(let i=r;i<n;i++)e[i].shaperInfo=new Rr(he.X,ee.End,"non_indic_cluster",t)}++t;for(let i=n;i<=a;i++)e[i].shaperInfo=new Rr(1<<Fa(e[i]),gu(e[i]),o[0],t);r=a+1}if(r<e.length){++t;for(let n=r;n<e.length;n++)e[n].shaperInfo=new Rr(he.X,ee.End,"non_indic_cluster",t)}}function br(s){return s.shaperInfo.category&V2}function Mt(s){return s.shaperInfo.category&du}function Rt(s){return s.shaperInfo.category&p0}function zt(s,e){for(let r of s)r.features={[e]:!0};return s[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([e],s),s.length===1}function q2(s,e,t){let r=[t,e,t];return zt(r.slice(0,2),"blwf")||zt(r.slice(1,3),"blwf")?ee.Below_C:zt(r.slice(0,2),"pstf")||zt(r.slice(1,3),"pstf")||zt(r.slice(0,2),"pref")||zt(r.slice(1,3),"pref")?ee.Post_C:ee.Base_C}function Y2(s,e,t){let r=t.indicConfig,n=s._layoutEngine.engine.GSUBProcessor.features,a=s.glyphForCodePoint(9676).id,o=s.glyphForCodePoint(r.virama).id;if(o){let i=new wt(s,o,[r.virama]);for(let l=0;l<e.length;l++)e[l].shaperInfo.position===ee.Base_C&&(e[l].shaperInfo.position=q2(s,e[l].copy(),i))}for(let i=0,l=In(e,0);i<e.length;i=l,l=In(e,i)){let{category:c,syllableType:f}=e[i].shaperInfo;if(f==="symbol_cluster"||f==="non_indic_cluster")continue;if(f==="broken_cluster"&&a){let d=new wt(s,a,[9676]);d.shaperInfo=new Rr(1<<Fa(d),gu(d),e[i].shaperInfo.syllableType,e[i].shaperInfo.syllable);let S=i;for(;S<l&&e[S].shaperInfo.category===he.Repha;)S++;e.splice(S++,0,d),l++}let h=l,g=i,m=!1;if(r.rephPos!==ee.Ra_To_Become_Reph&&n.rphf&&i+3<=l&&(r.rephMode==="Implicit"&&!Mt(e[i+2])||r.rephMode==="Explicit"&&e[i+2].shaperInfo.category===he.ZWJ)){let d=[e[i].copy(),e[i+1].copy(),e[i+2].copy()];if(zt(d.slice(0,2),"rphf")||r.rephMode==="Explicit"&&zt(d,"rphf")){for(g+=2;g<l&&Mt(e[g]);)g++;h=i,m=!0}}else if(r.rephMode==="Log_Repha"&&e[i].shaperInfo.category===he.Repha){for(g++;g<l&&Mt(e[g]);)g++;h=i,m=!0}switch(r.basePos){case"Last":{let d=l,S=!1;do{let E=e[--d].shaperInfo;if(br(e[d])){if(E.position!==ee.Below_C&&(E.position!==ee.Post_C||S)){h=d;break}E.position===ee.Below_C&&(S=!0),h=d}else if(i<d&&E.category===he.ZWJ&&e[d-1].shaperInfo.category===he.H)break}while(d>g);break}case"First":h=i;for(let d=h+1;d<l;d++)br(e[d])&&(e[d].shaperInfo.position=ee.Below_C)}m&&h===i&&g-h<=2&&(m=!1);for(let d=i;d<h;d++){let S=e[d].shaperInfo;S.position=Math.min(ee.Pre_C,S.position)}h<l&&(e[h].shaperInfo.position=ee.Base_C);for(let d=h+1;d<l;d++)if(e[d].shaperInfo.category===he.M){for(let S=d+1;S<l;S++)if(br(e[S])){e[S].shaperInfo.position=ee.Final_C;break}break}if(m&&(e[i].shaperInfo.position=ee.Ra_To_Become_Reph),t.isOldSpec){let d=t.unicodeScript!=="Malayalam";for(let S=h+1;S<l;S++)if(e[S].shaperInfo.category===he.H){let E;for(E=l-1;E>S&&!(br(e[E])||d&&e[E].shaperInfo.category===he.H);E--);if(e[E].shaperInfo.category!==he.H&&E>S){let k=e[S];e.splice(S,0,...e.splice(S+1,E-S)),e[E]=k}break}}let p=ee.Start;for(let d=i;d<l;d++){let S=e[d].shaperInfo;if(S.category&(du|he.N|he.RS|he.CM|p0&S.category)){if(S.position=p,S.category===he.H&&S.position===ee.Pre_M){for(let E=d;E>i;E--)if(e[E-1].shaperInfo.position!==ee.Pre_M){S.position=e[E-1].shaperInfo.position;break}}}else S.position!==ee.SMVD&&(p=S.position)}let b=h;for(let d=h+1;d<l;d++)if(br(e[d])){for(let S=b+1;S<d;S++)e[S].shaperInfo.position<ee.SMVD&&(e[S].shaperInfo.position=e[d].shaperInfo.position);b=d}else e[d].shaperInfo.category===he.M&&(b=d);let y=e.slice(i,l);y.sort((d,S)=>d.shaperInfo.position-S.shaperInfo.position),e.splice(i,y.length,...y);for(let d=i;d<l;d++)if(e[d].shaperInfo.position===ee.Base_C){h=d;break}for(let d=i;d<l&&e[d].shaperInfo.position===ee.Ra_To_Become_Reph;d++)e[d].features.rphf=!0;let x=!t.isOldSpec&&r.blwfMode==="Pre_And_Post";for(let d=i;d<h;d++)e[d].features.half=!0,x&&(e[d].features.blwf=!0);for(let d=h+1;d<l;d++)e[d].features.abvf=!0,e[d].features.pstf=!0,e[d].features.blwf=!0;if(t.isOldSpec&&t.unicodeScript==="Devanagari")for(let d=i;d+1<h;d++)e[d].shaperInfo.category===he.Ra&&e[d+1].shaperInfo.category===he.H&&(d+1===h||e[d+2].shaperInfo.category===he.ZWJ)&&(e[d].features.blwf=!0,e[d+1].features.blwf=!0);let v=2;if(n.pref&&h+v<l)for(let d=h+1;d+v-1<l;d++){let S=[e[d].copy(),e[d+1].copy()];if(zt(S,"pref")){for(let E=0;E<v;E++)e[d++].features.pref=!0;if(n.cfar)for(;d<l;d++)e[d].features.cfar=!0;break}}for(let d=i+1;d<l;d++)if(Mt(e[d])){let S=e[d].shaperInfo.category===he.ZWNJ,E=d;do E--,S&&delete e[E].features.half;while(E>i&&!br(e[E]))}}}function K2(s,e,t){let r=t.indicConfig,n=s._layoutEngine.engine.GSUBProcessor.features;for(let a=0,o=In(e,0);a<e.length;a=o,o=In(e,a)){let i=!!n.pref,l=a;for(;l<o;l++)if(e[l].shaperInfo.position>=ee.Base_C){if(i&&l+1<o){for(let c=l+1;c<o;c++)if(e[c].features.pref){if(!(e[c].substituted&&e[c].isLigated&&!e[c].isMultiplied)){for(l=c;l<o&&Rt(e[l]);)l++;e[l].shaperInfo.position=ee.BASE_C,i=!1}break}}if(t.unicodeScript==="Malayalam")for(let c=l+1;c<o;c++){for(;c<o&&Mt(e[c]);)c++;if(c===o||!Rt(e[c]))break;for(c++;c<o&&Mt(e[c]);)c++;c<o&&br(e[c])&&e[c].shaperInfo.position===ee.Below_C&&(l=c,e[l].shaperInfo.position=ee.Base_C)}a<l&&e[l].shaperInfo.position>ee.Base_C&&l--;break}if(l===o&&a<l&&e[l-1].shaperInfo.category===he.ZWJ&&l--,l<o)for(;a<l&&e[l].shaperInfo.category&(he.N|p0);)l--;if(a+1<o&&a<l){let c=l===o?l-2:l-1;if(t.unicodeScript!=="Malayalam"&&t.unicodeScript!=="Tamil"){for(;c>a&&!(e[c].shaperInfo.category&(he.M|p0));)c--;Rt(e[c])&&e[c].shaperInfo.position!==ee.Pre_M?c+1<o&&Mt(e[c+1])&&c++:c=a}if(a<c&&e[c].shaperInfo.position!==ee.Pre_M){for(let f=c;f>a;f--)if(e[f-1].shaperInfo.position===ee.Pre_M){let h=f-1;h<l&&l<=c&&l--;let g=e[h];e.splice(h,0,...e.splice(h+1,c-h)),e[c]=g,c--}}}if(a+1<o&&e[a].shaperInfo.position===ee.Ra_To_Become_Reph&&e[a].shaperInfo.category===he.Repha!==(e[a].isLigated&&!e[a].isMultiplied)){let c,f=r.rephPos,h=!1;if(f!==ee.After_Post){for(c=a+1;c<l&&!Rt(e[c]);)c++;if(c<l&&Rt(e[c])&&(c+1<l&&Mt(e[c+1])&&c++,h=!0),!h&&f===ee.After_Main){for(c=l;c+1<o&&e[c+1].shaperInfo.position<=ee.After_Main;)c++;h=c<o}if(!h&&f===ee.After_Sub){for(c=l;c+1<o&&!(e[c+1].shaperInfo.position&(ee.Post_C|ee.After_Post|ee.SMVD));)c++;h=c<o}}if(!h){for(c=a+1;c<l&&!Rt(e[c]);)c++;c<l&&Rt(e[c])&&(c+1<l&&Mt(e[c+1])&&c++,h=!0)}if(!h){for(c=o-1;c>a&&e[c].shaperInfo.position===ee.SMVD;)c--;if(Rt(e[c]))for(let m=l+1;m<c;m++)e[m].shaperInfo.category===he.M&&c--}let g=e[a];e.splice(a,0,...e.splice(a+1,c-a)),e[c]=g,a<l&&l<=c&&l--}if(i&&l+1<o){for(let c=l+1;c<o;c++)if(e[c].features.pref){if(e[c].isLigated&&!e[c].isMultiplied){let f=l;if(t.unicodeScript!=="Malayalam"&&t.unicodeScript!=="Tamil"){for(;f>a&&!(e[f-1].shaperInfo.category&(he.M|p0));)f--;if(f>a&&e[f-1].shaperInfo.category===he.M){let m=c;for(let p=l+1;p<m;p++)if(e[p].shaperInfo.category===he.M){f--;break}}}f>a&&Rt(e[f-1])&&f<o&&Mt(e[f])&&f++;let h=c,g=e[h];e.splice(f+1,0,...e.splice(f,h-f)),e[f]=g,f<=l&&l<h&&l++}break}}e[a].shaperInfo.position===ee.Pre_M&&(!a||!/Cf|Mn/.test(a0(e[a-1].codePoints[0])))&&(e[a].features.init=!0)}}function In(s,e){if(e>=s.length)return e;let t=s[e].shaperInfo.syllable;for(;++e<s.length&&s[e].shaperInfo.syllable===t;);return e}var{categories:Z2,decompositions:Pl}=Bn(zn),_2=new Dn.default(Qa("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")),J2=new Ka.default(Bn(zn)),ce=class extends Dt{static planFeatures(e){e.addStage(Q2),e.addStage(["locl","ccmp","nukt","akhn"]),e.addStage(El),e.addStage(["rphf"],!1),e.addStage($2),e.addStage(El),e.addStage(["pref"]),e.addStage(ep),e.addStage(["rkrf","abvf","blwf","half","pstf","vatu","cjct"]),e.addStage(tp),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(Pl[n]){let a=Pl[n].map(o=>{let i=e.font.glyphForCodePoint(o);return new wt(e.font,i.id,[o],t[r].features)});t.splice(r,1,...a)}}}};rt(ce,"zeroMarkWidths","BEFORE_GPOS");function Al(s){return _2.get(s.codePoints[0])}var Ia=class{constructor(e,t,r){this.category=e,this.syllableType=t,this.syllable=r}};function Q2(s,e){let t=0;for(let[r,n,a]of J2.match(e.map(Al))){++t;for(let i=r;i<=n;i++)e[i].shaperInfo=new Ia(Z2[Al(e[i])],a[0],t);let o=e[r].shaperInfo.category==="R"?1:Math.min(3,n-r);for(let i=r;i<r+o;i++)e[i].features.rphf=!0}}function El(s,e){for(let t of e)t.substituted=!1}function $2(s,e){for(let t of e)t.substituted&&t.features.rphf&&(t.shaperInfo.category="R")}function ep(s,e){for(let t of e)t.substituted&&(t.shaperInfo.category="VPre")}function tp(s,e){let t=s.glyphForCodePoint(9676).id;for(let r=0,n=Tl(e,0);r<e.length;r=n,n=Tl(e,r)){let a,o,i=e[r].shaperInfo,l=i.syllableType;if(!(l!=="virama_terminated_cluster"&&l!=="standard_cluster"&&l!=="broken_cluster")){if(l==="broken_cluster"&&t){let c=new wt(s,t,[9676]);for(c.shaperInfo=i,a=r;a<n&&e[a].shaperInfo.category==="R";a++);e.splice(++a,0,c),n++}if(i.category==="R"&&n-r>1){for(a=r+1;a<n;a++)if(i=e[a].shaperInfo,kl(i)||cn(e[a])){cn(e[a])&&a--,e.splice(r,0,...e.splice(r+1,a-r),e[a]);break}}for(a=r,o=n;a<n;a++)i=e[a].shaperInfo,kl(i)||cn(e[a])?o=cn(e[a])?a+1:a:(i.category==="VPre"||i.category==="VMPre")&&o<a&&e.splice(o,1,e[a],...e.splice(o,a-o))}}}function Tl(s,e){if(e>=s.length)return e;let t=s[e].shaperInfo.syllable;for(;++e<s.length&&s[e].shaperInfo.syllable===t;);return e}function cn(s){return s.shaperInfo.category==="H"&&!s.isLigated}function kl(s){return s.category==="B"||s.category==="GB"}var rp={arab:Lt,mong:Lt,syrc:Lt,"nko ":Lt,phag:Lt,mand:Lt,mani:Lt,phlp:Lt,hang:An,bng2:Ue,beng:Ue,dev2:Ue,deva:Ue,gjr2:Ue,gujr:Ue,guru:Ue,gur2:Ue,knda:Ue,knd2:Ue,mlm2:Ue,mlym:Ue,ory2:Ue,orya:Ue,taml:Ue,tml2:Ue,telu:Ue,tel2:Ue,khmr:Ue,bali:ce,batk:ce,brah:ce,bugi:ce,buhd:ce,cakm:ce,cham:ce,dupl:ce,egyp:ce,gran:ce,hano:ce,java:ce,kthi:ce,kali:ce,khar:ce,khoj:ce,sind:ce,lepc:ce,limb:ce,mahj:ce,mtei:ce,modi:ce,hmng:ce,rjng:ce,saur:ce,shrd:ce,sidd:ce,sinh:Ue,sund:ce,sylo:ce,tglg:ce,tagb:ce,tale:ce,lana:ce,tavt:ce,takr:ce,tibt:ce,tfng:ce,tirh:ce,latn:Dt,DFLT:Dt};function np(s){Array.isArray(s)||(s=[s]);for(let e of s){let t=rp[e];if(t)return t}return Dt}var Oa=class extends zr{applyLookup(e,t){switch(e){case 1:{let n=this.coverageIndex(t.coverage);if(n===-1)return!1;let a=this.glyphIterator.cur;switch(t.version){case 1:a.id=a.id+t.deltaGlyphID&65535;break;case 2:a.id=t.substitute.get(n);break}return!0}case 2:{let n=this.coverageIndex(t.coverage);if(n!==-1){let a=t.sequences.get(n);if(a.length===0)return this.glyphs.splice(this.glyphIterator.index,1),!0;this.glyphIterator.cur.id=a[0],this.glyphIterator.cur.ligatureComponent=0;let o=this.glyphIterator.cur.features,i=this.glyphIterator.cur,l=a.slice(1).map((c,f)=>{let h=new wt(this.font,c,void 0,o);return h.shaperInfo=i.shaperInfo,h.isLigated=i.isLigated,h.ligatureComponent=f+1,h.substituted=!0,h.isMultiplied=!0,h});return this.glyphs.splice(this.glyphIterator.index+1,0,...l),!0}return!1}case 3:{let n=this.coverageIndex(t.coverage);if(n!==-1){let a=0;return this.glyphIterator.cur.id=t.alternateSet.get(n)[a],!0}return!1}case 4:{let n=this.coverageIndex(t.coverage);if(n===-1)return!1;for(let a of t.ligatureSets.get(n)){let o=this.sequenceMatchIndices(1,a.components);if(!o)continue;let i=this.glyphIterator.cur,l=i.codePoints.slice();for(let b of o)l.push(...this.glyphs[b].codePoints);let c=new wt(this.font,a.glyph,l,i.features);c.shaperInfo=i.shaperInfo,c.isLigated=!0,c.substituted=!0;let f=i.isMark;for(let b=0;b<o.length&&f;b++)f=this.glyphs[o[b]].isMark;c.ligatureID=f?null:this.ligatureID++;let h=i.ligatureID,g=i.codePoints.length,m=g,p=this.glyphIterator.index+1;for(let b of o){if(f)p=b;else for(;p<b;){var r=m-g+Math.min(this.glyphs[p].ligatureComponent||1,g);this.glyphs[p].ligatureID=c.ligatureID,this.glyphs[p].ligatureComponent=r,p++}h=this.glyphs[p].ligatureID,g=this.glyphs[p].codePoints.length,m+=g,p++}if(h&&!f)for(let b=p;b<this.glyphs.length&&this.glyphs[b].ligatureID===h;b++){var r=m-g+Math.min(this.glyphs[b].ligatureComponent||1,g);this.glyphs[b].ligatureComponent=r}for(let b=o.length-1;b>=0;b--)this.glyphs.splice(o[b],1);return this.glyphs[this.glyphIterator.index]=c,!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`)}}},La=class extends zr{applyPositionValue(e,t){let r=this.positions[this.glyphIterator.peekIndex(e)];t.xAdvance!=null&&(r.xAdvance+=t.xAdvance),t.yAdvance!=null&&(r.yAdvance+=t.yAdvance),t.xPlacement!=null&&(r.xOffset+=t.xPlacement),t.yPlacement!=null&&(r.yOffset+=t.yPlacement);let n=this.font._variationProcessor,a=this.font.GDEF&&this.font.GDEF.itemVariationStore;n&&a&&(t.xPlaDevice&&(r.xOffset+=n.getDelta(a,t.xPlaDevice.a,t.xPlaDevice.b)),t.yPlaDevice&&(r.yOffset+=n.getDelta(a,t.yPlaDevice.a,t.yPlaDevice.b)),t.xAdvDevice&&(r.xAdvance+=n.getDelta(a,t.xAdvDevice.a,t.xAdvDevice.b)),t.yAdvDevice&&(r.yAdvance+=n.getDelta(a,t.yAdvDevice.a,t.yAdvDevice.b)))}applyLookup(e,t){switch(e){case 1:{let n=this.coverageIndex(t.coverage);if(n===-1)return!1;switch(t.version){case 1:this.applyPositionValue(0,t.value);break;case 2:this.applyPositionValue(0,t.values.get(n));break}return!0}case 2:{let n=this.glyphIterator.peek();if(!n)return!1;let a=this.coverageIndex(t.coverage);if(a===-1)return!1;switch(t.version){case 1:let o=t.pairSets.get(a);for(let c of o)if(c.secondGlyph===n.id)return this.applyPositionValue(0,c.value1),this.applyPositionValue(1,c.value2),!0;return!1;case 2:let i=this.getClassID(this.glyphIterator.cur.id,t.classDef1),l=this.getClassID(n.id,t.classDef2);if(i===-1||l===-1)return!1;var r=t.classRecords.get(i).get(l);return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0}}case 3:{let n=this.glyphIterator.peekIndex(),a=this.glyphs[n];if(!a)return!1;let o=t.entryExitRecords[this.coverageIndex(t.coverage)];if(!o||!o.exitAnchor)return!1;let i=t.entryExitRecords[this.coverageIndex(t.coverage,a.id)];if(!i||!i.entryAnchor)return!1;let l=this.getAnchor(i.entryAnchor),c=this.getAnchor(o.exitAnchor),f=this.positions[this.glyphIterator.index],h=this.positions[n],g;switch(this.direction){case"ltr":f.xAdvance=c.x+f.xOffset,g=l.x+h.xOffset,h.xAdvance-=g,h.xOffset-=g;break;case"rtl":g=c.x+f.xOffset,f.xAdvance-=g,f.xOffset-=g,h.xAdvance=l.x+h.xOffset;break}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=n,f.yOffset=l.y-c.y):(a.cursiveAttachment=this.glyphIterator.index,f.yOffset=c.y-l.y),!0}case 4:{let n=this.coverageIndex(t.markCoverage);if(n===-1)return!1;let a=this.glyphIterator.index;for(;--a>=0&&(this.glyphs[a].isMark||this.glyphs[a].ligatureComponent>0););if(a<0)return!1;let o=this.coverageIndex(t.baseCoverage,this.glyphs[a].id);if(o===-1)return!1;let i=t.markArray[n],l=t.baseArray[o][i.class];return this.applyAnchor(i,l,a),!0}case 5:{let n=this.coverageIndex(t.markCoverage);if(n===-1)return!1;let a=this.glyphIterator.index;for(;--a>=0&&this.glyphs[a].isMark;);if(a<0)return!1;let o=this.coverageIndex(t.ligatureCoverage,this.glyphs[a].id);if(o===-1)return!1;let i=t.ligatureArray[o],l=this.glyphIterator.cur,c=this.glyphs[a],f=c.ligatureID&&c.ligatureID===l.ligatureID&&l.ligatureComponent>0?Math.min(l.ligatureComponent,c.codePoints.length)-1:c.codePoints.length-1,h=t.markArray[n],g=i[f][h.class];return this.applyAnchor(h,g,a),!0}case 6:{let n=this.coverageIndex(t.mark1Coverage);if(n===-1)return!1;let a=this.glyphIterator.peekIndex(-1),o=this.glyphs[a];if(!o||!o.isMark)return!1;let i=this.glyphIterator.cur,l=!1;if(i.ligatureID===o.ligatureID?i.ligatureID?i.ligatureComponent===o.ligatureComponent&&(l=!0):l=!0:(i.ligatureID&&!i.ligatureComponent||o.ligatureID&&!o.ligatureComponent)&&(l=!0),!l)return!1;let c=this.coverageIndex(t.mark2Coverage,o.id);if(c===-1)return!1;let f=t.mark1Array[n],h=t.mark2Array[c][f.class];return this.applyAnchor(f,h,a),!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),a=this.getAnchor(e.markAnchor),o=this.positions[r],i=this.positions[this.glyphIterator.index];i.xOffset=n.x-a.x,i.yOffset=n.y-a.y,this.glyphIterator.cur.markAttachment=r}getAnchor(e){let t=e.xCoordinate,r=e.yCoordinate,n=this.font._variationProcessor,a=this.font.GDEF&&this.font.GDEF.itemVariationStore;return n&&a&&(e.xDeviceTable&&(t+=n.getDelta(a,e.xDeviceTable.a,e.xDeviceTable.b)),e.yDeviceTable&&(r+=n.getDelta(a,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(t.cursiveAttachment!=null){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(t.markAttachment!=null){let r=t.markAttachment;if(this.positions[e].xOffset+=this.positions[r].xOffset,this.positions[e].yOffset+=this.positions[r].yOffset,this.direction==="ltr")for(let n=r;n<e;n++)this.positions[e].xOffset-=this.positions[n].xAdvance,this.positions[e].yOffset-=this.positions[n].yAdvance;else for(let n=r+1;n<e+1;n++)this.positions[e].xOffset+=this.positions[n].xAdvance,this.positions[e].yOffset+=this.positions[n].yAdvance}}}},Ma=class{setup(e){this.glyphInfos=e.glyphs.map(r=>new wt(this.font,r.id,[...r.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=np(t),this.plan=new Sa(this.font,t,e.direction),this.shaper.plan(this.plan,this.glyphInfos,e.features);for(let r in this.plan.allFeatures)e.features[r]=!0}substitute(e){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),e.glyphs=this.glyphInfos.map(t=>this.font.getGlyph(t.id,t.codePoints)))}position(e){return this.shaper.zeroMarkWidths==="BEFORE_GPOS"&&this.zeroMarkAdvances(e.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,e.positions),this.shaper.zeroMarkWidths==="AFTER_GPOS"&&this.zeroMarkAdvances(e.positions),e.direction==="rtl"&&(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 Oa(e,e.GSUB)),e.GPOS&&(this.GPOSProcessor=new La(e,e.GPOS))}},Da=class{layout(e,t,r,n,a){if(typeof t=="string"&&(a=n,n=r,r=t,t=[]),typeof e=="string"){r==null&&(r=Wd(e));var o=this.font.glyphsForString(e)}else{if(r==null){let c=[];for(let f of e)c.push(...f.codePoints);r=Xd(c)}var o=e}let i=new va(o,t,r,n,a);return o.length===0?(i.positions=[],i):(this.engine&&this.engine.setup&&this.engine.setup(i),this.substitute(i),this.position(i),this.hideDefaultIgnorables(i.glyphs,i.positions),this.engine&&this.engine.cleanup&&this.engine.cleanup(),i)}substitute(e){this.engine&&this.engine.substitute&&this.engine.substitute(e)}position(e){e.positions=e.glyphs.map(r=>new ya(r.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 ma(this.font)),this.unicodeLayoutEngine.positionGlyphs(e.glyphs,e.positions)),(!t||!t.kern)&&e.features.kern!==!1&&this.font.kern&&(this.kernProcessor||(this.kernProcessor=new ba(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(t===0)switch(e>>8){case 0:return e===173;case 3:return e===847;case 6:return e===1564;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||e===65279;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&&r.indexOf("kern")===-1&&r.push("kern"),r}stringsForGlyph(e){let t=new Set,r=this.font._cmapProcessor.codePointsForGlyph(e);for(let n of r)t.add(String.fromCodePoint(n));if(this.engine&&this.engine.stringsForGlyph)for(let n of this.engine.stringsForGlyph(e))t.add(n);return Array.from(t)}constructor(e){this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new Ca(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new Ma(this.font))}},sp={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"},jr=class s{toFunction(){return e=>{this.commands.forEach(t=>e[t.command].apply(e,t.args))}}toSVG(){return this.commands.map(t=>{let r=t.args.map(n=>Math.round(n*100)/100);return`${sp[t.command]}${r.join(" ")}`}).join("")}get cbox(){if(!this._cbox){let e=new sr;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 sr,t=0,r=0,n=v=>Math.pow(1-v,3)*m[x]+3*Math.pow(1-v,2)*v*p[x]+3*(1-v)*Math.pow(v,2)*b[x]+Math.pow(v,3)*y[x];for(let v of this.commands)switch(v.command){case"moveTo":case"lineTo":let[d,S]=v.args;e.addPoint(d,S),t=d,r=S;break;case"quadraticCurveTo":case"bezierCurveTo":if(v.command==="quadraticCurveTo")var[a,o,h,g]=v.args,i=t+2/3*(a-t),l=r+2/3*(o-r),c=h+2/3*(a-h),f=g+2/3*(o-g);else var[i,l,c,f,h,g]=v.args;e.addPoint(h,g);for(var m=[t,r],p=[i,l],b=[c,f],y=[h,g],x=0;x<=1;x++){let E=6*m[x]-12*p[x]+6*b[x],k=-3*m[x]+9*p[x]-9*b[x]+3*y[x];if(v=3*p[x]-3*m[x],k===0){if(E===0)continue;let R=-v/E;0<R&&R<1&&(x===0?e.addPoint(n(R),e.maxY):x===1&&e.addPoint(e.maxX,n(R)));continue}let M=Math.pow(E,2)-4*v*k;if(M<0)continue;let I=(-E+Math.sqrt(M))/(2*k);0<I&&I<1&&(x===0?e.addPoint(n(I),e.maxY):x===1&&e.addPoint(e.maxX,n(I)));let B=(-E-Math.sqrt(M))/(2*k);0<B&&B<1&&(x===0?e.addPoint(n(B),e.maxY):x===1&&e.addPoint(e.maxX,n(B)))}t=h,r=g;break}return this._bbox=Object.freeze(e)}mapPoints(e){let t=new s;for(let r of this.commands){let n=[];for(let a=0;a<r.args.length;a+=2){let[o,i]=e(r.args[a],r.args[a+1]);n.push(o,i)}t[r.command](...n)}return t}transform(e,t,r,n,a,o){return this.mapPoints((i,l)=>{let c=e*i+r*l+a,f=t*i+n*l+o;return[c,f]})}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 s of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])jr.prototype[s]=function(...e){return this._bbox=this._cbox=null,this.commands.push({command:s,args:e}),this};var l0=[".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"],mt=class{_getPath(){return new jr}_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:a}=this._getTableMetrics(this._font.vmtx);else{let o;if((typeof e>"u"||e===null)&&({cbox:e}=this),(o=this._font["OS/2"])&&o.version>0)var n=Math.abs(o.typoAscender-o.typoDescender),a=o.typoAscender-e.maxY;else{let{hhea:i}=this._font;var n=Math.abs(i.ascent-i.descent),a=i.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:a}}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 l0[this.id];case 2:let t=e.glyphNameIndex[this.id];return t<l0.length?l0[t]:e.names[t-l0.length];case 2.5:return l0[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(Bs),this.isLigature=this.codePoints.length>1}};Xe([Ze],mt.prototype,"cbox",null);Xe([Ze],mt.prototype,"bbox",null);Xe([Ze],mt.prototype,"path",null);Xe([Ze],mt.prototype,"advanceWidth",null);Xe([Ze],mt.prototype,"advanceHeight",null);Xe([Ze],mt.prototype,"name",null);var Fl=new A({numberOfContours:D,xMin:D,yMin:D,xMax:D,yMax:D}),ap=1,op=2,ip=4,lp=8,up=16,cp=32,fp=1;var hp=8,Il=32,dp=64,pp=128,gp=256;var yt=class s{copy(){return new s(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}},Ba=class{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}},Wr=class extends mt{_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=Fl.decode(t),n=new sr(r.xMin,r.yMin,r.xMax,r.yMax);return Object.freeze(n)}_parseGlyphCoord(e,t,r,n){if(r){var a=e.readUInt8();n||(a=-a),a+=t}else if(n)var a=t;else var a=t+e.readInt16BE();return a}_decode(){let e=this._font.loca.offsets[this.id],t=this._font.loca.offsets[this.id+1];if(e===t)return null;let r=this._font._getTableStream("glyf");r.pos+=e;let n=r.pos,a=Fl.decode(r);return a.numberOfContours>0?this._decodeSimple(a,r):a.numberOfContours<0&&this._decodeComposite(a,r,n),a}_decodeSimple(e,t){e.points=[];let r=new w(u,e.numberOfContours).decode(t);e.instructions=new w(j,u).decode(t);let n=[],a=r[r.length-1]+1;for(;n.length<a;){var o=t.readUInt8();if(n.push(o),o&lp){let f=t.readUInt8();for(let h=0;h<f;h++)n.push(o)}}for(var i=0;i<n.length;i++){var o=n[i];let h=new yt(!!(o&ap),r.indexOf(i)>=0,0,0);e.points.push(h)}let l=0;for(var i=0;i<n.length;i++){var o=n[i];e.points[i].x=l=this._parseGlyphCoord(t,l,o&op,o&up)}let c=0;for(var i=0;i<n.length;i++){var o=n[i];e.points[i].y=c=this._parseGlyphCoord(t,c,o&ip,o&cp)}if(this._font._variationProcessor){let f=e.points.slice();f.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,f),e.phantomPoints=f.slice(-4)}}_decodeComposite(e,t,r=0){e.components=[];let n=!1,a=Il;for(;a&Il;){a=t.readUInt16BE();let c=t.pos-r,f=t.readUInt16BE();if(n||(n=(a&gp)!==0),a&fp)var o=t.readInt16BE(),i=t.readInt16BE();else var o=t.readInt8(),i=t.readInt8();var l=new Ba(f,o,i);l.pos=c,a&hp?l.scaleX=l.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824:a&dp?(l.scaleX=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824,l.scaleY=(t.readUInt8()<<24|t.readUInt8()<<16)/1073741824):a&pp&&(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 c=[];for(let f=0;f<e.components.length;f++){var l=e.components[f];c.push(new yt(!0,!0,l.dx,l.dy))}c.push(...this._getPhantomPoints(e)),this._font._variationProcessor.transformPoints(this.id,c),e.phantomPoints=c.splice(-4,4);for(let f=0;f<c.length;f++){let h=c[f];e.components[f].dx=h.x,e.components[f].dy=h.y}}return n}_getPhantomPoints(e){let t=this._getCBox(!0);this._metrics==null&&(this._metrics=mt.prototype._getMetrics.call(this,t));let{advanceWidth:r,advanceHeight:n,leftBearing:a,topBearing:o}=this._metrics;return[new yt(!1,!0,e.xMin-a,0),new yt(!1,!0,e.xMin-a+r,0),new yt(!1,!0,0,e.yMax+o),new yt(!1,!0,0,e.yMax+o+n)]}_getContours(){let e=this._decode();if(!e)return[];let t=[];if(e.numberOfContours<0)for(let o of e.components){let i=this._font.getGlyph(o.glyphID)._getContours();for(let l=0;l<i.length;l++){let c=i[l];for(let f=0;f<c.length;f++){let h=c[f],g=h.x*o.scaleX+h.y*o.scale01+o.dx,m=h.y*o.scaleY+h.x*o.scale10+o.dy;t.push(new yt(h.onCurve,h.endContour,g,m))}}}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 o=0;o<t.length;o++){var a=t[o];n.push(a),a.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 jr;for(let n=0;n<e.length;n++){let a=e[n],o=a[0],i=a[a.length-1],l=0;if(o.onCurve){var r=null;l=1}else{i.onCurve?o=i:o=new yt(!1,!1,(o.x+i.x)/2,(o.y+i.y)/2);var r=o}t.moveTo(o.x,o.y);for(let c=l;c<a.length;c++){let f=a[c],h=c===0?o:a[c-1];if(h.onCurve&&f.onCurve)t.lineTo(f.x,f.y);else if(h.onCurve&&!f.onCurve)var r=f;else if(!h.onCurve&&!f.onCurve){let m=(h.x+f.x)/2,p=(h.y+f.y)/2;t.quadraticCurveTo(h.x,h.y,m,p);var r=f}else if(!h.onCurve&&f.onCurve){t.quadraticCurveTo(r.x,r.y,f.x,f.y);var r=null}else throw new Error("Unknown TTF path state")}r&&t.quadraticCurveTo(r.x,r.y,o.x,o.y),t.closePath()}return t}constructor(...e){super(...e),rt(this,"type","TTF")}},Ua=class extends mt{_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 a=new jr,o=[],i=[],l=null,c=0,f=0,h=0,g,m,p=!1;this._usedGsubrs=g={},this._usedSubrs=m={};let b=e.globalSubrIndex||[],y=this.bias(b),x=e.privateDictForGlyph(this.id)||{},v=x.Subrs||[],d=this.bias(v),S=e.topDict.vstore&&e.topDict.vstore.itemVariationStore,E=x.vsindex,k=this._font._variationProcessor;function M(){l==null&&(l=o.shift()+x.nominalWidthX)}function I(){return o.length%2!==0&&M(),c+=o.length>>1,o.length=0}function B(Q,Y){p&&a.closePath(),a.moveTo(Q,Y),p=!0}let R=function(){for(;t.pos<n;){let q=t.readUInt8();if(q<32){let U,O,X,T,N,G,V,ne,le,Ee,ie,de,pe,Se,Ce,ke;switch(q){case 1:case 3:case 18:case 23:I();break;case 4:o.length>1&&M(),h+=o.shift(),B(f,h);break;case 5:for(;o.length>=2;)f+=o.shift(),h+=o.shift(),a.lineTo(f,h);break;case 6:case 7:for(X=q===6;o.length>=1;)X?f+=o.shift():h+=o.shift(),a.lineTo(f,h),X=!X;break;case 8:for(;o.length>0;)T=f+o.shift(),N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V+o.shift(),a.bezierCurveTo(T,N,G,V,f,h);break;case 10:if(U=o.pop()+d,O=v[U],O){m[U]=!0;let te=t.pos,ge=n;t.pos=O.offset,n=O.offset+O.length,R(),t.pos=te,n=ge}break;case 11:if(e.version>=2)break;return;case 14:if(e.version>=2)break;o.length>0&&M(),p&&(a.closePath(),p=!1);break;case 15:if(e.version<2)throw new Error("vsindex operator not supported in CFF v1");E=o.pop();break;case 16:{if(e.version<2)throw new Error("blend operator not supported in CFF v1");if(!k)throw new Error("blend operator in non-variation font");let te=k.getBlendVector(S,E),ge=o.pop(),Qe=ge*te.length,Re=o.length-Qe,ct=Re-ge;for(let $e=0;$e<ge;$e++){let et=o[ct+$e];for(let He=0;He<te.length;He++)et+=te[He]*o[Re++];o[ct+$e]=et}for(;Qe--;)o.pop();break}case 19:case 20:I(),t.pos+=c+7>>3;break;case 21:o.length>2&&M(),f+=o.shift(),h+=o.shift(),B(f,h);break;case 22:o.length>1&&M(),f+=o.shift(),B(f,h);break;case 24:for(;o.length>=8;)T=f+o.shift(),N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V+o.shift(),a.bezierCurveTo(T,N,G,V,f,h);f+=o.shift(),h+=o.shift(),a.lineTo(f,h);break;case 25:for(;o.length>=8;)f+=o.shift(),h+=o.shift(),a.lineTo(f,h);T=f+o.shift(),N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V+o.shift(),a.bezierCurveTo(T,N,G,V,f,h);break;case 26:for(o.length%2&&(f+=o.shift());o.length>=4;)T=f,N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G,h=V+o.shift(),a.bezierCurveTo(T,N,G,V,f,h);break;case 27:for(o.length%2&&(h+=o.shift());o.length>=4;)T=f+o.shift(),N=h,G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V,a.bezierCurveTo(T,N,G,V,f,h);break;case 28:o.push(t.readInt16BE());break;case 29:if(U=o.pop()+y,O=b[U],O){g[U]=!0;let te=t.pos,ge=n;t.pos=O.offset,n=O.offset+O.length,R(),t.pos=te,n=ge}break;case 30:case 31:for(X=q===31;o.length>=4;)X?(T=f+o.shift(),N=h,G=T+o.shift(),V=N+o.shift(),h=V+o.shift(),f=G+(o.length===1?o.shift():0)):(T=f,N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),f=G+o.shift(),h=V+(o.length===1?o.shift():0)),a.bezierCurveTo(T,N,G,V,f,h),X=!X;break;case 12:switch(q=t.readUInt8(),q){case 3:let te=o.pop(),ge=o.pop();o.push(te&&ge?1:0);break;case 4:te=o.pop(),ge=o.pop(),o.push(te||ge?1:0);break;case 5:te=o.pop(),o.push(te?0:1);break;case 9:te=o.pop(),o.push(Math.abs(te));break;case 10:te=o.pop(),ge=o.pop(),o.push(te+ge);break;case 11:te=o.pop(),ge=o.pop(),o.push(te-ge);break;case 12:te=o.pop(),ge=o.pop(),o.push(te/ge);break;case 14:te=o.pop(),o.push(-te);break;case 15:te=o.pop(),ge=o.pop(),o.push(te===ge?1:0);break;case 18:o.pop();break;case 20:let Qe=o.pop(),Re=o.pop();i[Re]=Qe;break;case 21:Re=o.pop(),o.push(i[Re]||0);break;case 22:let ct=o.pop(),$e=o.pop(),et=o.pop(),He=o.pop();o.push(et<=He?ct:$e);break;case 23:o.push(Math.random());break;case 24:te=o.pop(),ge=o.pop(),o.push(te*ge);break;case 26:te=o.pop(),o.push(Math.sqrt(te));break;case 27:te=o.pop(),o.push(te,te);break;case 28:te=o.pop(),ge=o.pop(),o.push(ge,te);break;case 29:Re=o.pop(),Re<0?Re=0:Re>o.length-1&&(Re=o.length-1),o.push(o[Re]);break;case 30:let K=o.pop(),xe=o.pop();if(xe>=0)for(;xe>0;){var Q=o[K-1];for(let se=K-2;se>=0;se--)o[se+1]=o[se];o[0]=Q,xe--}else for(;xe<0;){var Q=o[0];for(let J=0;J<=K;J++)o[J]=o[J+1];o[K-1]=Q,xe++}break;case 34:T=f+o.shift(),N=h,G=T+o.shift(),V=N+o.shift(),ne=G+o.shift(),le=V,Ee=ne+o.shift(),ie=le,de=Ee+o.shift(),pe=ie,Se=de+o.shift(),Ce=pe,f=Se,h=Ce,a.bezierCurveTo(T,N,G,V,ne,le),a.bezierCurveTo(Ee,ie,de,pe,Se,Ce);break;case 35:ke=[];for(let se=0;se<=5;se++)f+=o.shift(),h+=o.shift(),ke.push(f,h);a.bezierCurveTo(...ke.slice(0,6)),a.bezierCurveTo(...ke.slice(6)),o.shift();break;case 36:T=f+o.shift(),N=h+o.shift(),G=T+o.shift(),V=N+o.shift(),ne=G+o.shift(),le=V,Ee=ne+o.shift(),ie=le,de=Ee+o.shift(),pe=ie+o.shift(),Se=de+o.shift(),Ce=pe,f=Se,h=Ce,a.bezierCurveTo(T,N,G,V,ne,le),a.bezierCurveTo(Ee,ie,de,pe,Se,Ce);break;case 37:let be=f,z=h;ke=[];for(let se=0;se<=4;se++)f+=o.shift(),h+=o.shift(),ke.push(f,h);Math.abs(f-be)>Math.abs(h-z)?(f+=o.shift(),h=z):(f=be,h+=o.shift()),ke.push(f,h),a.bezierCurveTo(...ke.slice(0,6)),a.bezierCurveTo(...ke.slice(6));break;default:throw new Error(`Unknown op: 12 ${q}`)}break;default:throw new Error(`Unknown op: ${q}`)}}else if(q<247)o.push(q-139);else if(q<251){var Y=t.readUInt8();o.push((q-247)*256+Y+108)}else if(q<255){var Y=t.readUInt8();o.push(-(q-251)*256-Y-108)}else o.push(t.readInt32BE()/65536)}};return R(),p&&a.closePath(),a}constructor(...e){super(...e),rt(this,"type","CFF")}},bp=new A({originX:u,originY:u,type:new ve(4),data:new it(s=>s.parent.buflen-s._currentOffset)}),Ra=class extends Wr{getImageForSize(e){for(let o=0;o<this._font.sbix.imageTables.length;o++){var t=this._font.sbix.imageTables[o];if(t.ppem>=e)break}let r=t.imageOffsets,n=r[this.id],a=r[this.id+1];return n===a?null:(this._font.stream.pos=n,bp.decode(this._font.stream,{buflen:a-n}))}render(e,t){let r=this.getImageForSize(t);if(r!=null){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),rt(this,"type","SBIX")}},On=class{constructor(e,t){this.glyph=e,this.color=t}},Ga=class extends mt{_getBBox(){let e=new sr;for(let t=0;t<this.layers.length;t++){let n=this.layers[t].glyph.bbox;e.addPoint(n.minX,n.minY),e.addPoint(n.maxX,n.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 f=r+n>>1;var a=t.baseGlyphRecord[f];if(this.id<a.gid)n=f-1;else if(this.id>a.gid)r=f+1;else{var o=a;break}}if(o==null){var i=this._font._getBaseGlyph(this.id),l={red:0,green:0,blue:0,alpha:255};return[new On(i,l)]}let c=[];for(let f=o.firstLayerIndex;f<o.firstLayerIndex+o.numLayers;f++){var a=t.layerRecords[f],l=e.colorRecords[a.paletteIndex],i=this._font._getBaseGlyph(a.gid);c.push(new On(i,l))}return c}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),rt(this,"type","COLR")}},mp=32768,xp=4095,vp=32768,Ol=16384,yp=8192,Ll=4095,Ml=128,Dl=127,wp=128,Cp=64,Sp=63,Na=class{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(var r=0;r<this.font.avar.segment.length;r++){let a=this.font.avar.segment[r];for(let o=0;o<a.correspondence.length;o++){let i=a.correspondence[o];if(o>=1&&t[r]<i.fromCoord){let l=a.correspondence[o-1];t[r]=((t[r]-l.fromCoord)*(i.toCoord-l.toCoord)+Number.EPSILON)/(i.fromCoord-l.fromCoord+Number.EPSILON)+l.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:a}=this.font;if(a.pos=n,a.pos>=a.length)return;let o=a.readUInt16BE(),i=n+a.readUInt16BE();if(o&mp){var l=a.pos;a.pos=i;var c=this.decodePoints();i=a.pos,a.pos=l}let f=t.map(y=>y.copy());o&=xp;for(let y=0;y<o;y++){let x=a.readUInt16BE(),v=a.readUInt16BE();if(v&vp){var h=[];for(let I=0;I<r.axisCount;I++)h.push(a.readInt16BE()/16384)}else{if((v&Ll)>=r.globalCoordCount)throw new Error("Invalid gvar table");var h=r.globalCoords[v&Ll]}if(v&Ol){var g=[];for(let I=0;I<r.axisCount;I++)g.push(a.readInt16BE()/16384);var m=[];for(let I=0;I<r.axisCount;I++)m.push(a.readInt16BE()/16384)}let d=this.tupleFactor(v,h,g,m);if(d===0){i+=x;continue}var l=a.pos;if(a.pos=i,v&yp)var p=this.decodePoints();else var p=c;let E=p.length===0?t.length:p.length,k=this.decodeDeltas(E),M=this.decodeDeltas(E);if(p.length===0)for(let I=0;I<t.length;I++){var b=t[I];b.x+=Math.round(k[I]*d),b.y+=Math.round(M[I]*d)}else{let I=f.map(R=>R.copy()),B=t.map(()=>!1);for(let R=0;R<p.length;R++){let Q=p[R];if(Q<t.length){let Y=I[Q];B[Q]=!0,Y.x+=k[R]*d,Y.y+=M[R]*d}}this.interpolateMissingDeltas(I,f,B);for(let R=0;R<t.length;R++){let Q=I[R].x-f[R].x,Y=I[R].y-f[R].y;t[R].x=Math.round(t[R].x+Q),t[R].y=Math.round(t[R].y+Y)}}i+=x,a.pos=l}}decodePoints(){let e=this.font.stream,t=e.readUInt8();t&Ml&&(t=(t&Dl)<<8|e.readUInt8());let r=new Uint16Array(t),n=0,a=0;for(;n<t;){let o=e.readUInt8(),i=(o&Dl)+1,l=o&Ml?e.readUInt16:e.readUInt8;for(let c=0;c<i&&n<t;c++)a+=l.call(e),r[n++]=a}return r}decodeDeltas(e){let t=this.font.stream,r=0,n=new Int16Array(e);for(;r<e;){let a=t.readUInt8(),o=(a&Sp)+1;if(a&wp)r+=o;else{let i=a&Cp?t.readInt16BE:t.readInt8;for(let l=0;l<o&&r<e;l++)n[r++]=i.call(t)}}return n}tupleFactor(e,t,r,n){let a=this.normalizedCoords,{gvar:o}=this.font,i=1;for(let l=0;l<o.axisCount;l++)if(t[l]!==0){if(a[l]===0)return 0;if((e&Ol)===0){if(a[l]<Math.min(0,t[l])||a[l]>Math.max(0,t[l]))return 0;i=(i*a[l]+Number.EPSILON)/(t[l]+Number.EPSILON)}else{if(a[l]<r[l]||a[l]>n[l])return 0;a[l]<t[l]?i=i*(a[l]-r[l]+Number.EPSILON)/(t[l]-r[l]+Number.EPSILON):i=i*(n[l]-a[l]+Number.EPSILON)/(n[l]-t[l]+Number.EPSILON)}}return i}interpolateMissingDeltas(e,t,r){if(e.length===0)return;let n=0;for(;n<e.length;){let a=n,o=n,i=e[o];for(;!i.endContour;)i=e[++o];for(;n<=o&&!r[n];)n++;if(n>o)continue;let l=n,c=n;for(n++;n<=o;)r[n]&&(this.deltaInterpolate(c+1,n-1,c,n,t,e),c=n),n++;c===l?this.deltaShift(a,o,c,t,e):(this.deltaInterpolate(c+1,o,c,l,t,e),l>0&&this.deltaInterpolate(a,l-1,c,l,t,e)),n=o+1}}deltaInterpolate(e,t,r,n,a,o){if(e>t)return;let i=["x","y"];for(let c=0;c<i.length;c++){let f=i[c];if(a[r][f]>a[n][f]){var l=r;r=n,n=l}let h=a[r][f],g=a[n][f],m=o[r][f],p=o[n][f];if(h!==g||m===p){let b=h===g?0:(p-m)/(g-h);for(let y=e;y<=t;y++){let x=a[y][f];x<=h?x+=m-h:x>=g?x+=p-g:x=m+(x-h)*b,o[y][f]=x}}}}deltaShift(e,t,r,n,a){let o=a[r].x-n[r].x,i=a[r].y-n[r].y;if(!(o===0&&i===0))for(let l=e;l<=t;l++)l!==r&&(a[l].x+=o,a[l].y+=i)}getAdvanceAdjustment(e,t){let r,n;if(t.advanceWidthMapping){let a=e;a>=t.advanceWidthMapping.mapCount&&(a=t.advanceWidthMapping.mapCount-1);let o=t.advanceWidthMapping.entryFormat;({outerIndex:r,innerIndex:n}=t.advanceWidthMapping.mapData[a])}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 a=n.deltaSets[r],o=this.getBlendVector(e,t),i=0;for(let l=0;l<n.regionIndexCount;l++)i+=a.deltas[l]*o[l];return i}getBlendVector(e,t){let r=e.itemVariationData[t];if(this.blendVectors.has(r))return this.blendVectors.get(r);let n=this.normalizedCoords,a=[];for(let o=0;o<r.regionIndexCount;o++){let i=1,l=r.regionIndexes[o],c=e.variationRegionList.variationRegions[l];for(let f=0;f<c.length;f++){let h=c[f],g;h.startCoord>h.peakCoord||h.peakCoord>h.endCoord||h.startCoord<0&&h.endCoord>0&&h.peakCoord!==0||h.peakCoord===0?g=1:n[f]<h.startCoord||n[f]>h.endCoord?g=0:n[f]===h.peakCoord?g=1:n[f]<h.peakCoord?g=(n[f]-h.startCoord+Number.EPSILON)/(h.peakCoord-h.startCoord+Number.EPSILON):g=(h.endCoord-n[f]+Number.EPSILON)/(h.endCoord-h.peakCoord+Number.EPSILON),i*=g}a[o]=i}return this.blendVectors.set(r,a),a}constructor(e,t){this.font=e,this.normalizedCoords=this.normalizeCoords(t),this.blendVectors=new Map}},um=Promise.resolve(),Ln=class{includeGlyph(e){return typeof e=="object"&&(e=e.id),this.mapping[e]==null&&(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)}},Pp=1,Ap=2,Ep=4,Tp=8,kp=16,Fp=32,Mn=class{static size(e){return e>=0&&e<=255?1:2}static encode(e,t){t>=0&&t<=255?e.writeUInt8(t):e.writeInt16BE(t)}},Bl=new A({numberOfContours:D,xMin:D,yMin:D,xMax:D,yMax:D,endPtsOfContours:new w(u,"numberOfContours"),instructions:new w(j,u),flags:new w(j,0),xPoints:new w(Mn,0),yPoints:new w(Mn,0)}),za=class{encodeSimple(e,t=[]){let r=[],n=[],a=[],o=[],i=0,l=0,c=0,f=0,h=0;for(let x=0;x<e.commands.length;x++){let v=e.commands[x];for(let d=0;d<v.args.length;d+=2){let S=v.args[d],E=v.args[d+1],k=0;if(v.command==="quadraticCurveTo"&&d===2){let M=e.commands[x+1];if(M&&M.command==="quadraticCurveTo"){let I=(l+M.args[0])/2,B=(c+M.args[1])/2;if(S===I&&E===B)continue}}v.command==="quadraticCurveTo"&&d===0||(k|=Pp),k=this._encodePoint(S,l,n,k,Ap,kp),k=this._encodePoint(E,c,a,k,Ep,Fp),k===f&&i<255?(o[o.length-1]|=Tp,i++):(i>0&&(o.push(i),i=0),o.push(k),f=k),l=S,c=E,h++}v.command==="closePath"&&r.push(h-1)}e.commands.length>1&&e.commands[e.commands.length-1].command!=="closePath"&&r.push(h-1);let g=e.bbox,m={numberOfContours:r.length,xMin:g.minX,yMin:g.minY,xMax:g.maxX,yMax:g.maxY,endPtsOfContours:r,instructions:t,flags:o,xPoints:n,yPoints:a},p=Bl.size(m),b=4-p%4,y=new Bt(p+b);return Bl.encode(y,m),b!==0&&y.fill(0,b),y.buffer}_encodePoint(e,t,r,n,a,o){let i=e-t;return e===t?n|=o:(-255<=i&&i<=255&&(n|=a,i<0?i=-i:n|=o),r.push(i)),n}},Va=class extends Ln{_addGlyph(e){let t=this.font.getGlyph(e),r=t._decode(),n=this.font.loca.offsets[e],a=this.font.loca.offsets[e+1],o=this.font._getTableStream("glyf");o.pos+=n;let i=o.readBuffer(a-n);if(r&&r.numberOfContours<0){i=new Uint8Array(i);let l=new DataView(i.buffer);for(let c of r.components)e=this.includeGlyph(c.glyphID),l.setUint16(c.pos,e)}else r&&this.font._variationProcessor&&(i=this.glyphEncoder.encodeSimple(t.path,r.instructions));return this.glyf.push(i),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:t.advanceWidth,bearing:t._getMetrics().leftBearing}),this.offset+=i.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=(0,fn.default)(this.font.maxp);t.numGlyphs=this.glyf.length,this.loca.offsets.push(this.offset);let r=(0,fn.default)(this.font.head);r.indexToLocFormat=this.loca.version;let n=(0,fn.default)(this.font.hhea);return n.numberOfMetrics=this.hmtx.metrics.length,iu.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 za}},ja=class extends Ln{subsetCharstrings(){this.charstrings=[];let e={};for(let t of this.glyphs){this.charstrings.push(this.cff.getCharString(t));let r=this.font.getGlyph(t),n=r.path;for(let a in r._usedGsubrs)e[a]=!0}this.gsubrs=this.subsetSubrs(this.cff.globalSubrIndex,e)}subsetSubrs(e,t){let r=[];for(let n=0;n<e.length;n++){let a=e[n];t[n]?(this.cff.stream.pos=a.offset,r.push(this.cff.stream.readBuffer(a.length))):r.push(new Uint8Array([11]))}return r}subsetFontdict(e){e.FDArray=[],e.FDSelect={version:0,fds:[]};let t={},r=[],n={};for(let a of this.glyphs){let o=this.cff.fdForGlyph(a);if(o==null)continue;t[o]||(e.FDArray.push(Object.assign({},this.cff.topDict.FDArray[o])),r.push({}),n[o]=e.FDArray.length-1),t[o]=!0,e.FDSelect.fds.push(n[o]);let i=this.font.getGlyph(a),l=i.path;for(let c in i._usedSubrs)r[n[o]][c]=!0}for(let a=0;a<e.FDArray.length;a++){let o=e.FDArray[a];delete o.FontName,o.Private&&o.Private.Subrs&&(o.Private=Object.assign({},o.Private),o.Private.Subrs=this.subsetSubrs(o.Private.Subrs,r[a]))}}createCIDFontdict(e){let t={};for(let n of this.glyphs){let a=this.font.getGlyph(n),o=a.path;for(let i in a._usedSubrs)t[i]=!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),hn.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 n of["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"])t[n]=this.addString(this.cff.string(t[n]));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 ru.toBuffer(r)}constructor(e){if(super(e),this.cff=this.font["CFF "],!this.cff)throw new Error("Not a CFF Font")}},Je=class s{static probe(e){let t=Rn.decode(e.slice(0,4));return t==="true"||t==="OTTO"||t==="\0\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(t){Vl&&(console.error(`Error decoding table ${e.tag}`),console.error(t.stack))}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=iu.decode(this.stream,{_startOffset:0})}_decodeTable(e){let t=this.stream.pos,r=this._getTableStream(e.tag),n=Cn[e.tag].decode(r,this,e.length);return this.stream.pos=t,n}getName(e,t=this.defaultLanguage||pn){let r=this.name&&this.name.records[e];return r&&(r[t]||r[this.defaultLanguage]||r[pn]||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 sr(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new x0(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,a=-1,o=-1;for(;n<=r;){let i=0,l=0;if(n<r){if(i=e.charCodeAt(n++),55296<=i&&i<=56319&&n<r){let c=e.charCodeAt(n);56320<=c&&c<=57343&&(n++,i=((i&1023)<<10)+(c&1023)+65536)}l=65024<=i&&i<=65039||917760<=i&&i<=917999?1:0}else n++;o===0&&l===1?t.push(this.getGlyph(this._cmapProcessor.lookup(a,i),[a,i])):o===0&&l===0&&t.push(this.glyphForCodePoint(a)),a=i,o=l}return t}get _layoutEngine(){return new Da(this)}layout(e,t,r,n,a){return this._layoutEngine.layout(e,t,r,n,a)}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 Wr(e,t,this):(this.directory.tables["CFF "]||this.directory.tables.CFF2)&&(this._glyphs[e]=new Ua(e,t,this))),this._glyphs[e]||null}getGlyph(e,t=[]){return this._glyphs[e]||(this.directory.tables.sbix?this._glyphs[e]=new Ra(e,t,this):this.directory.tables.COLR&&this.directory.tables.CPAL?this._glyphs[e]=new Ga(e,t,this):this._getBaseGlyph(e,t)),this._glyphs[e]||null}createSubset(){return this.directory.tables["CFF "]?new ja(this):new Va(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 n=0;n<this.fvar.axis.length;n++){let a=this.fvar.axis[n];r[a.axisTag.trim()]=t.coord[n]}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(typeof e=="string"&&(e=this.namedVariations[e]),typeof e!="object")throw new Error("Variation settings must be either a variation name or settings object.");let t=this.fvar.axis.map((a,o)=>{let i=a.axisTag.trim();return i in e?Math.max(a.minValue,Math.min(a.maxValue,e[i])):a.defaultValue}),r=new Me(this.stream.buffer);r.pos=this._directoryPos;let n=new s(r,t);return n._tables=this._tables,n}get _variationProcessor(){if(!this.fvar)return null;let e=this.variationCoords;return!e&&!this.CFF2?null:(e||(e=this.fvar.axis.map(t=>t.defaultValue)),new Na(this,e))}getFont(e){return this.getVariation(e)}constructor(e,t=null){rt(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 r in this.directory.tables){let n=this.directory.tables[r];Cn[r]&&n.length>0&&Object.defineProperty(this,r,{get:this._getTable.bind(this,n)})}}};Xe([Ze],Je.prototype,"bbox",null);Xe([Ze],Je.prototype,"_cmapProcessor",null);Xe([Ze],Je.prototype,"characterSet",null);Xe([Ze],Je.prototype,"_layoutEngine",null);Xe([Ze],Je.prototype,"variationAxes",null);Xe([Ze],Je.prototype,"namedVariations",null);Xe([Ze],Je.prototype,"_variationProcessor",null);var Ip=new A({tag:new ve(4),offset:new C(P,"void",{type:"global"}),compLength:P,length:P,origChecksum:P}),bu=new A({tag:new ve(4),flavor:P,length:P,numTables:u,reserved:new Te(u),totalSfntSize:P,majorVersion:u,minorVersion:u,metaOffset:P,metaLength:P,metaOrigLength:P,privOffset:P,privLength:P,tables:new w(Ip,"numTables")});bu.process=function(){let s={};for(let e of this.tables)s[e.tag]=e;this.tables=s};var Op=bu,Wa=class extends Je{static probe(e){return Rn.decode(e.slice(0,4))==="wOFF"}_decodeDirectory(){this.directory=Op.decode(this.stream,{_startOffset:0})}_getTableStream(e){let t=this.directory.tables[e];if(t)if(this.stream.pos=t.offset,t.compLength<t.length){this.stream.pos+=2;let r=new Uint8Array(t.length),n=(0,Nl.default)(this.stream.readBuffer(t.compLength-2),r);return new Me(n)}else return this.stream;return null}constructor(...e){super(...e),rt(this,"type","WOFF")}},Xa=class extends Wr{_decode(){return this._font._transformedGlyphs[this.id]}_getCBox(){return this.path.bbox}constructor(...e){super(...e),rt(this,"type","WOFF2")}},Ul={decode(s){let e=0,t=[0,1,2,3,4];for(let r=0;r<t.length;r++){let n=t[r],a=s.readUInt8();if(e&3758096384)throw new Error("Overflow");if(e=e<<7|a&127,(a&128)===0)return e}throw new Error("Bad base 128 number")}},Lp=["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"],Mp=new A({flags:j,customTag:new Yt(new ve(4),s=>(s.flags&63)===63),tag:s=>s.customTag||Lp[s.flags&63],length:Ul,transformVersion:s=>s.flags>>>6&3,transformed:s=>s.tag==="glyf"||s.tag==="loca"?s.transformVersion===0:s.transformVersion!==0,transformLength:new Yt(Ul,s=>s.transformed)}),mu=new A({tag:new ve(4),flavor:P,length:P,numTables:u,reserved:new Te(u),totalSfntSize:P,totalCompressedSize:P,majorVersion:u,minorVersion:u,metaOffset:P,metaLength:P,metaOrigLength:P,privOffset:P,privLength:P,tables:new w(Mp,"numTables")});mu.process=function(){let s={};for(let e=0;e<this.tables.length;e++){let t=this.tables[e];s[t.tag]=t}return this.tables=s};var Dp=mu,Ha=class extends Je{static probe(e){return Rn.decode(e.slice(0,4))==="wOF2"}_decodeDirectory(){this.directory=Dp.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),t=0;for(let n in this.directory.tables){let a=this.directory.tables[n];a.offset=t,t+=a.transformLength!=null?a.transformLength:a.length}let r=(0,zl.default)(e,t);if(!r)throw new Error("Error decoding compressed data in WOFF2");this.stream=new Me(r),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 Xa(e,t,this)):super._getBaseGlyph(e,t)}_transformGlyfTable(){this._decompress(),this.stream.pos=this.directory.tables.glyf.offset;let e=Bp.decode(this.stream),t=[];for(let n=0;n<e.numGlyphs;n++){let a={},o=e.nContours.readInt16BE();if(a.numberOfContours=o,o>0){let i=[],l=0;for(let c=0;c<o;c++){let f=sa(e.nPoints);l+=f,i.push(l)}a.points=Np(e.flags,e.glyphs,l);for(let c=0;c<o;c++)a.points[i[c]-1].endContour=!0;var r=sa(e.glyphs)}else if(o<0&&Wr.prototype._decodeComposite.call({_font:this},a,e.composites))var r=sa(e.glyphs);t.push(a)}this._transformedGlyphs=t}constructor(...e){super(...e),rt(this,"type","WOFF2")}},Nt=class{decode(e,t){return new Me(this._buf.decode(e,t))}constructor(e){this.length=e,this._buf=new it(e)}},Bp=new A({version:P,numGlyphs:u,indexFormat:u,nContourStreamSize:P,nPointsStreamSize:P,flagStreamSize:P,glyphStreamSize:P,compositeStreamSize:P,bboxStreamSize:P,instructionStreamSize:P,nContours:new Nt("nContourStreamSize"),nPoints:new Nt("nPointsStreamSize"),flags:new Nt("flagStreamSize"),glyphs:new Nt("glyphStreamSize"),composites:new Nt("compositeStreamSize"),bboxes:new Nt("bboxStreamSize"),instructions:new Nt("instructionStreamSize")}),Up=253,Rp=254,Gp=255,Rl=253;function sa(s){let e=s.readUInt8();return e===Up?s.readUInt16BE():e===Gp?s.readUInt8()+Rl:e===Rp?s.readUInt8()+Rl*2:e}function Ot(s,e){return s&1?e:-e}function Np(s,e,t){let r,n=r=0,a=[];for(let l=0;l<t;l++){let c=0,f=0,h=s.readUInt8(),g=!(h>>7);if(h&=127,h<10)c=0,f=Ot(h,((h&14)<<7)+e.readUInt8());else if(h<20)c=Ot(h,((h-10&14)<<7)+e.readUInt8()),f=0;else if(h<84){var o=h-20,i=e.readUInt8();c=Ot(h,1+(o&48)+(i>>4)),f=Ot(h>>1,1+((o&12)<<2)+(i&15))}else if(h<120){var o=h-84;c=Ot(h,1+(o/12<<8)+e.readUInt8()),f=Ot(h>>1,1+(o%12>>2<<8)+e.readUInt8())}else if(h<124){var i=e.readUInt8();let p=e.readUInt8();c=Ot(h,(i<<4)+(p>>4)),f=Ot(h>>1,((p&15)<<8)+e.readUInt8())}else c=Ot(h,e.readUInt16BE()),f=Ot(h>>1,e.readUInt16BE());n+=c,r+=f,a.push(new yt(g,!1,n,r))}return a}var zp=new ue(P,{65536:{numFonts:P,offsets:new w(P,"numFonts")},131072:{numFonts:P,offsets:new w(P,"numFonts"),dsigTag:P,dsigLength:P,dsigOffset:P}}),qa=class{static probe(e){return Rn.decode(e.slice(0,4))==="ttcf"}getFont(e){for(let t of this.header.offsets){let r=new Me(this.stream.buffer);r.pos=t;let n=new Je(r);if(n.postscriptName===e||n.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&n.postscriptName.every((a,o)=>e[o]===a))return n}return null}get fonts(){let e=[];for(let t of this.header.offsets){let r=new Me(this.stream.buffer);r.pos=t,e.push(new Je(r))}return e}constructor(e){if(rt(this,"type","TTC"),this.stream=e,e.readString(4)!=="ttcf")throw new Error("Not a TrueType collection");this.header=zp.decode(e)}},Vp=new ve(j),cm=new A({len:P,buf:new it("len")}),jp=new A({id:u,nameOffset:D,attr:j,dataOffset:Ut,handle:P}),Wp=new A({name:new ve(4),maxTypeIndex:u,refList:new C(u,new w(jp,s=>s.maxTypeIndex+1),{type:"parent"})}),Xp=new A({length:u,types:new w(Wp,s=>s.length+1)}),Hp=new A({reserved:new Te(j,24),typeList:new C(u,Xp),nameListOffset:new C(u,"void")}),Gl=new A({dataOffset:P,map:new C(P,Hp),dataLength:P,mapLength:P}),Ya=class{static probe(e){let t=new Me(e);try{var r=Gl.decode(t)}catch{return!1}for(let n of r.map.typeList.types)if(n.name==="sfnt")return!0;return!1}getFont(e){if(!this.sfnt)return null;for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,n=new Me(this.stream.buffer.slice(r)),a=new Je(n);if(a.postscriptName===e||a.postscriptName instanceof Uint8Array&&e instanceof Uint8Array&&a.postscriptName.every((o,i)=>e[i]===o))return a}return null}get fonts(){let e=[];for(let t of this.sfnt.refList){let r=this.header.dataOffset+t.dataOffset+4,n=new Me(this.stream.buffer.slice(r));e.push(new Je(n))}return e}constructor(e){rt(this,"type","DFont"),this.stream=e,this.header=Gl.decode(this.stream);for(let t of this.header.map.typeList.types){for(let r of t.refList)r.nameOffset>=0?(this.stream.pos=r.nameOffset+this.header.map.nameListOffset,r.name=Vp.decode(this.stream)):r.name=null;t.name==="sfnt"&&(this.sfnt=t)}}};Xr(Je);Xr(Wa);Xr(Ha);Xr(qa);Xr(Ya);L();var Yp=typeof Z<"u"&&/^(debug|trace)$/i.test(Z.env?.LOG_LEVEL??"");function Hr(...s){Yp&&console.debug(...s)}L();L();var eo=-2;var De=4096,Kp="SLUGGIS2";function Zp(s){let e=[],t=[],r=0,n=0;for(let a of s){let o=a.command||a.type,i=a.args||[];if(o==="moveTo")t.length>0&&e.push(t),r=i.length>=2?i[0]:a.x??0,n=i.length>=2?i[1]:a.y??0,t=[{x:r,y:n}];else if(o==="lineTo"){let l=i.length>=2?i[0]:a.x??0,c=i.length>=2?i[1]:a.y??0;r=l,n=c,t.push({x:r,y:n})}else if(o==="quadraticCurveTo"){let l=i.length>=4?i[0]:a.cpx??a.x1??0,c=i.length>=4?i[1]:a.cpy??a.y1??0,f=i.length>=4?i[2]:a.x??0,h=i.length>=4?i[3]:a.y??0,g=4,m=r,p=n;for(let b=1;b<=g;b++){let y=b/g,x=1-y,v=x*x*m+2*x*y*l+y*y*f,d=x*x*p+2*x*y*c+y*y*h;t.push({x:v,y:d})}r=f,n=h}else if(o==="bezierCurveTo"){let l=i.length>=6?i[0]:a.cp1x??0,c=i.length>=6?i[1]:a.cp1y??0,f=i.length>=6?i[2]:a.cp2x??0,h=i.length>=6?i[3]:a.cp2y??0,g=i.length>=6?i[4]:a.x??0,m=i.length>=6?i[5]:a.y??0,p=6,b=r,y=n;for(let x=1;x<=p;x++){let v=x/p,d=1-v,S=d*d,E=S*d,k=v*v,M=k*v,I=E*b+3*S*v*l+3*d*k*f+M*g,B=E*y+3*S*v*c+3*d*k*h+M*m;t.push({x:I,y:B})}r=g,n=m}}return t.length>0&&e.push(t),e}function _p(s){if(s.length<3)return s;let e=[];for(let n of s)if(e.length===0)e.push(n);else{let a=e[e.length-1];Math.hypot(n.x-a.x,n.y-a.y)>.01&&e.push(n)}if(e.length>=3){let n=e[0],a=e[e.length-1];Math.hypot(n.x-a.x,n.y-a.y)<.01&&e.pop()}if(e.length<3)return e;let t=[],r=e.length;for(let n=0;n<r;n++){let a=e[(n-1+r)%r],o=e[n],i=e[(n+1)%r],l=o.x-a.x,c=o.y-a.y,f=Math.hypot(l,c),h=i.x-o.x,g=i.y-o.y,m=Math.hypot(h,g);if(f<1e-5||m<1e-5)continue;let p=l*g-c*h;Math.abs(p)/(f*m)<1e-4||t.push(o)}return t}function Jp(s){let e=0,t=s.length;if(t<3)return 0;for(let r=0;r<t;r++){let n=s[r],a=s[(r+1)%t];e+=n.x*a.y-a.x*n.y}return e*.5}function Qp(s,e){let t=!1,r=e.length;for(let n=0,a=r-1;n<r;a=n++){let o=e[n],i=e[a];o.y>s.y!=i.y>s.y&&s.x<(i.x-o.x)*(s.y-o.y)/(i.y-o.y)+o.x&&(t=!t)}return t}function $p(s,e){let t=s.length;if(t<3)return s;let r=[];for(let n=0;n<t;n++){let a=s[(n-1+t)%t],o=s[n],i=s[(n+1)%t],l=o.x-a.x,c=o.y-a.y,f=Math.sqrt(l*l+c*c),h=i.x-o.x,g=i.y-o.y,m=Math.sqrt(h*h+g*g);if(f<1e-6||m<1e-6){r.push({x:o.x,y:o.y});continue}let p=l/f,b=c/f,y=h/m,x=g/m,v=-b,d=p,S=-x,E=y,k=v+S,M=d+E,I=Math.sqrt(k*k+M*M),B=v,R=d;I>1e-6?(B=k/I,R=M/I):(B=p,R=b);let Q=p*y+b*x,Y=Math.sqrt(Math.max(0,(1+Q)*.5)),q=e;Y>.05&&(q=e/Y),q=Math.min(q,e*4),r.push({x:o.x+B*q,y:o.y+R*q})}return r}function e3(s,e){let t=1/0,r=-1/0,n=1/0,a=-1/0;for(let f of s)f.x<t&&(t=f.x),f.x>r&&(r=f.x),f.y<n&&(n=f.y),f.y>a&&(a=f.y);let o=1/0,i=-1/0,l=1/0,c=-1/0;for(let f of e)f.x<o&&(o=f.x),f.x>i&&(i=f.x),f.y<l&&(l=f.y),f.y>c&&(c=f.y);return t>=o&&r<=i&&n>=l&&a<=c}function t3(s,e){if(!s||!s.commands||s.commands.length===0)return s;let r=Zp(s.commands).map(_p).filter(l=>l.length>=3),n=r.length;if(n===0)return s;let a=new Array(n).fill(0);for(let l=0;l<n;l++){let c=r[l],f=c[0];for(let h=0;h<n;h++)l!==h&&e3(c,r[h])&&Qp(f,r[h])&&a[l]++}for(let l=0;l<n;l++){let c=r[l],f=Jp(c),h=a[l]%2===0;(h&&f>0||!h&&f<0)&&c.reverse()}let o=r.map(l=>$p(l,e)),i=[];for(let l of o)if(l.length!==0){i.push({command:"moveTo",args:[l[0].x,l[0].y]});for(let c=1;c<l.length;c++)i.push({command:"lineTo",args:[l[c].x,l[c].y]});i.push({command:"closePath",args:[]})}return{commands:i}}var S0=new WeakMap;function vu(s){return S0.get(s)?.source??null}function xu(s,e){let t=Math.floor(e.bandOffsets.length/2),r=e.bandOffsets.slice();for(let n=1;n<r.length;n+=2)r[n]+=t;s._raw.bandOffsets=r,s._raw.curvesList=e.curves,s._raw.curveOffsets=e.curveOffsets}function Vn(s,e){let t=e._raw;if(!t)return;let r=Math.ceil(t.curvesList.length/4),n=Math.max(1,Math.ceil(r/De)),a=new Float32Array(De*n*4);a.fill(-1),a.set(t.curvesList);let o=s.createTexture({label:"SlugGeneratedCurvesTexture",size:[De,n],format:"rgba32float",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});s.queue.writeTexture({texture:o},a,{bytesPerRow:De*16},[De,n]);let i=Math.floor(t.bandOffsets.length/2)+Math.floor(t.curveOffsets.length/2),l=Math.max(1,Math.ceil(i/De)),c=new Uint32Array(De*l*2);c.set(t.bandOffsets,0),c.set(t.curveOffsets,t.bandOffsets.length);let f=s.createTexture({label:"SlugGeneratedBandsTexture",size:[De,l],format:"rg32uint",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});s.queue.writeTexture({texture:f},c,{bytesPerRow:De*8},[De,l]),e.curvesTex=o,e.bandsTex=f;let h=S0.get(e);h&&(h.device=s)}function r3(s){return s>=32&&s<=126||s>=160&&s<=255||s>=256&&s<=591||s>=8192&&s<=8303||s>=8352&&s<=8399||s>=8448&&s<=8527||s>=8592&&s<=8703||s>=8704&&s<=8959||s>=9728&&s<=10175}var ar=class s{bandCount=16;fullRange=!1;whitelist=null;strokeWidth;constructor(e={}){this.bandCount=e.bandCount!==void 0?e.bandCount:16,this.fullRange=e.fullRange!==void 0?e.fullRange:!1,this.whitelist=e.whitelist||null,this.strokeWidth=e.strokeWidth}generate(e,t){if(!t)throw new Error("[SlugGenerator] Cannot generate slug font: font is null or undefined");let r={source:t,strokeWidth:this.strokeWidth,bandCount:this.bandCount,curves:[],bandOffsets:[],curveOffsets:[],device:null},n=Array.isArray(t.characterSet)?t.characterSet:Array.from(t.characterSet||[]),a=new Set(n),o=[-1];if(this.fullRange)for(let l of n)l!==-1&&o.push(l);else if(this.whitelist)for(let l of this.whitelist)a.has(l)&&o.push(l);else for(let l of n)l!==-1&&r3(l)&&o.push(l);let i=this.buildOutput(t);S0.set(i,r);for(let l of o)s.addCodePoint(i,r,l);return xu(i,r),e&&Vn(e,i),i}static ensureGlyphs(e,t){let r=S0.get(e);if(!r||typeof r.source.getGlyph!="function")return!1;let n=e;n.glyphs??=new Map;let a=!1;for(let o of t){if(n.glyphs.has(o))continue;let i=null;try{i=r.source.getGlyph(o)}catch{i=null}let c=(i?s.buildGlyph(r,i,eo,o):null)??s.emptyRecord(eo,o,0);n.glyphs.set(o,c),n._raw.codePoints.push(c),a=!0}return a&&s.commit(n,r),a}static ensureCodePoints(e,t){let r=S0.get(e);if(!r)return!1;let n=e,a=!1;for(let o of t)n.codePoints.has(o)||s.addCodePoint(n,r,o)&&(a=!0);return a&&s.commit(n,r),a}static commit(e,t){xu(e,t),e.curvesTex&&t.device&&Vn(t.device,e)}static addCodePoint(e,t,r){let n=t.source,a=null;try{r===-1?a=typeof n.getGlyph=="function"?n.getGlyph(0):n.glyphForCodePoint?.(0)??null:a=n.glyphForCodePoint?.(r)??null}catch{return!1}if(!a||r!==-1&&a.id===0)return!1;e.glyphs??=new Map;let o=typeof a.id=="number"?a.id:void 0,i=o!==void 0?e.glyphs.get(o):void 0;if(i){let c={...i,codePoint:r};return e.codePoints.set(r,c),e._raw.codePoints.push(c),!0}let l=s.buildGlyph(t,a,r,o);return l?(e.codePoints.set(r,l),o!==void 0&&e.glyphs.set(o,l),e._raw.codePoints.push(l),!0):!1}static emptyRecord(e,t,r){return{codePoint:e,glyphId:t,width:0,height:0,advanceWidth:r,bearingX:0,bearingY:0,bandCount:0,bandDimX:0,bandDimY:0,bandsTexCoordX:0,bandsTexCoordY:0}}static buildGlyph(e,t,r,n){let a,o,i=0;try{a=t.path,o=t.bbox;try{i=Math.floor(t.advanceWidth||0)}catch{i=0}}catch{return null}if(!o||o.minX===o.maxX||o.minY===o.maxY||o.minX===1/0||o.minY===1/0||!a||!a.commands||a.commands.length===0)return{codePoint:r,glyphId:n,width:0,height:0,advanceWidth:i,bearingX:0,bearingY:0,bandCount:0,bandDimX:0,bandDimY:0,bandsTexCoordX:0,bandsTexCoordY:0};let l=e.strokeWidth?e.strokeWidth/2:0,c=e.strokeWidth&&e.strokeWidth>0?t3(a,l):a,f=o.minX-l,h=o.minY-l,g=o.maxX+l,m=o.maxY+l,p=[],b=0,y=0,x=!1,v=0,d=0;for(let U=0;U<c.commands.length;U++){let O=c.commands[U],X=O.command||O.type,T=O.args||[];if(X==="moveTo"){x=!0;let N=T.length>=2?T[0]:O.x,G=T.length>=2?T[1]:O.y;b=N-f,y=G-h,v=b,d=y}else if(X==="lineTo"){let N=T.length>=2?T[0]:O.x,G=T.length>=2?T[1]:O.y,V=N-f,ne=G-h,le={first:x,x1:b,y1:y,x3:V,y3:ne,x2:(b+V)/2,y2:(y+ne)/2};p.push(le),x=!1,b=V,y=ne}else if(X==="quadraticCurveTo"){let N=T.length>=4?T[0]:O.cpx??O.x1,G=T.length>=4?T[1]:O.cpy??O.y1,V=T.length>=4?T[2]:O.x,ne=T.length>=4?T[3]:O.y,le=V-f,Ee=ne-h,ie={first:x,x1:b,y1:y,x2:N-f,y2:G-h,x3:le,y3:Ee};p.push(ie),x=!1,b=le,y=Ee}else if(X==="bezierCurveTo"){let N=T.length>=6?T[0]:O.cp1x,G=T.length>=6?T[1]:O.cp1y,V=T.length>=6?T[2]:O.cp2x,ne=T.length>=6?T[3]:O.cp2y,le=T.length>=6?T[4]:O.x,Ee=T.length>=6?T[5]:O.y,ie=le-f,de=Ee-h,pe=4,Se=b,Ce=y;for(let ke=1;ke<=pe;ke++){let te=ke/pe,ge=1-te,Qe=ge*ge,Re=Qe*ge,ct=te*te,$e=ct*te,et=Re*b+3*Qe*te*(N-f)+3*ge*ct*(V-f)+$e*ie,He=Re*y+3*Qe*te*(G-h)+3*ge*ct*(ne-h)+$e*de,K={first:x&&ke===1,x1:Se,y1:Ce,x2:(Se+et)/2,y2:(Ce+He)/2,x3:et,y3:He};p.push(K),Se=et,Ce=He}x=!1,b=ie,y=de}else if(X==="closePath"){if(b!==v||y!==d){let N={first:x,x1:b,y1:y,x3:v,y3:d,x2:(b+v)/2,y2:(y+d)/2};p.push(N),x=!1}b=v,y=d}}if(!p||p.length===0)return null;for(let U of p)(U.x2===U.x1&&U.y2===U.y1||U.x2===U.x3&&U.y2===U.y3)&&(U.x2=(U.x1+U.x3)/2,U.y2=(U.y1+U.y3)/2);let S=Math.floor(e.bandOffsets.length/2);for(let U of p){if(U.first&&e.curves.length%4!==0){let N=4-e.curves.length%4;for(let G=0;G<N;G++)e.curves.push(-1)}let T=Math.floor(e.curves.length/4)%De===De-1;if(T){let N=8-e.curves.length%4;for(let G=0;G<N;G++)e.curves.push(-1)}U.first||T?(U.texelIndex=Math.floor(e.curves.length/4),e.curves.push(U.x1,U.y1)):U.texelIndex=Math.floor((Math.floor(e.curves.length/2)-1)/2),e.curves.push(U.x2,U.y2),e.curves.push(U.x3,U.y3)}let E=1+(g-f),k=1+(m-h),M=e.bandCount;(E<M||k<M)&&(M=Math.floor(Math.min(E,k)/2),M<1&&(M=1));let I=Math.ceil(k/M),B=0,R=I;p.sort((U,O)=>Math.max(O.x1,O.x2,O.x3)-Math.max(U.x1,U.x2,U.x3));for(let U=0;U<M;U++){let O=Math.floor(e.curveOffsets.length/2),X=0;for(let T of p){if(T.y1===T.y2&&T.y2===T.y3)continue;let N=Math.min(T.y1,T.y2,T.y3),G=Math.max(T.y1,T.y2,T.y3);if(N>R||G<B)continue;let V=T.texelIndex??0,ne=V%De,le=Math.floor(V/De);e.curveOffsets.push(ne,le),X++}e.bandOffsets.push(X,O),B+=I,R+=I}let Q=Math.ceil(E/M),Y=0,q=Q;p.sort((U,O)=>Math.max(O.y1,O.y2,O.y3)-Math.max(U.y1,U.y2,U.y3));for(let U=0;U<M;U++){let O=Math.floor(e.curveOffsets.length/2),X=0;for(let T of p){if(T.x1===T.x2&&T.x2===T.x3)continue;let N=Math.min(T.x1,T.x2,T.x3),G=Math.max(T.x1,T.x2,T.x3);if(N>q||G<Y)continue;let V=T.texelIndex??0,ne=V%De,le=Math.floor(V/De);e.curveOffsets.push(ne,le),X++}e.bandOffsets.push(X,O),Y+=Q,q+=Q}return{codePoint:r,glyphId:n,width:Math.floor(g-f),height:Math.floor(m-h),advanceWidth:Math.floor(t.advanceWidth||0),bearingX:Math.floor(f),bearingY:Math.floor(m),bandCount:M,bandDimX:Q,bandDimY:I,bandsTexCoordX:S%De,bandsTexCoordY:Math.floor(S/De)}}buildOutput(e){let t={ascender:e.ascent||0,descender:e.descent||0,lineGap:e.lineGap||0,unitsPerEm:e.unitsPerEm||0};return{codePoints:new Map,glyphs:new Map,curvesTex:null,bandsTex:null,...t,_raw:{codePoints:[],curvesList:[],bandOffsets:[],curveOffsets:[],metrics:t}}}exportSluggish(e){let{codePoints:t,curvesList:r,bandOffsets:n,curveOffsets:a}=e._raw,o=Math.ceil(r.length/4),i=Math.ceil(o/De),l=new Float32Array(De*i*4);l.fill(0),l.set(r);let c=Math.floor(n.length/2)+Math.floor(a.length/2),f=Math.ceil(c/De),h=new Uint32Array(De*f*2);h.set(n,0),h.set(a,n.length);let g=l.byteLength,m=h.byteLength,p=e._raw.metrics,b=12+t.length*44+8+g+8+m+16,y=new ArrayBuffer(b),x=new DataView(y),v=0;for(let d=0;d<8;d++)x.setUint8(v++,Kp.charCodeAt(d));x.setUint32(v,t.length,!0),v+=4;for(let d of t)x.setInt32(v,d.codePoint,!0),v+=4,x.setUint32(v,d.width,!0),v+=4,x.setUint32(v,d.height,!0),v+=4,x.setUint32(v,d.advanceWidth,!0),v+=4,x.setInt32(v,d.bearingX,!0),v+=4,x.setInt32(v,d.bearingY,!0),v+=4,x.setUint32(v,d.bandCount,!0),v+=4,x.setUint32(v,d.bandDimX,!0),v+=4,x.setUint32(v,d.bandDimY,!0),v+=4,x.setUint16(v,d.bandsTexCoordX,!0),v+=2,x.setUint16(v,d.bandsTexCoordY,!0),v+=2,x.setUint32(v,d.glyphId??0,!0),v+=4;return x.setUint16(v,De,!0),v+=2,x.setUint16(v,i,!0),v+=2,x.setUint32(v,g,!0),v+=4,new Uint8Array(y).set(new Uint8Array(l.buffer),v),v+=g,x.setUint16(v,De,!0),v+=2,x.setUint16(v,f,!0),v+=2,x.setUint32(v,m,!0),v+=4,new Uint8Array(y).set(new Uint8Array(h.buffer),v),v+=m,x.setInt32(v,p.ascender||0,!0),v+=4,x.setInt32(v,p.descender||0,!0),v+=4,x.setInt32(v,p.lineGap||0,!0),v+=4,x.setInt32(v,p.unitsPerEm||0,!0),v+=4,y}};function yu(s){if(!s)return 400;if(s==="bold")return 700;if(s==="normal")return 400;if(typeof s=="number")return s;let e=parseInt(s,10);return isNaN(e)?400:e}function n3(s,e,t,r){let n=yu(e),a=t?`-stroke-${t}`:"",o=r&&Object.keys(r).length>0?`-axes-${Object.entries(r).sort(([i],[l])=>i.localeCompare(l)).map(([i,l])=>`${i}_${l}`).join("_")}`:"";return`${s}-${n}${a}${o}`}function s3(s){let e=Za(s),t;return e&&typeof e.fonts<"u"&&Array.isArray(e.fonts)&&(e.fonts.length??0)>0?t=e.fonts[0]:e&&typeof e.getFont=="function"&&typeof e.getGlyph!="function"?t=e.fonts?.[0]||e:t=e,t}async function a3(s,e){let t,r=!!globalThis.__IS_HEADLESS_RENDERER__||typeof window>"u"||typeof globalThis.document>"u",n=e.startsWith("http://")||e.startsWith("https://");if(r&&!n){let a=await import("./shims/fs-promises.mjs"),o=await import("./shims/path.mjs"),i=[];Z.env.FONTS_DIR&&i.push(o.resolve(Z.env.FONTS_DIR)),Z.env.FRAMEFIELDS_FONTS_DIR&&i.push(o.resolve(Z.env.FRAMEFIELDS_FONTS_DIR));let l=Z.cwd();for(let p=0;p<5;p++){i.push(o.resolve(l,"assets/fonts"));let b=o.dirname(l);if(b===l)break;l=b}let c=[],f=p=>{c.includes(p)||c.push(p)};if(e&&!e.startsWith("//api/")){let p=e;if(e.startsWith("file://"))try{p=new URL(e).pathname}catch{p=e.replace(/^file:\/\//,"")}f(p),f(o.resolve(Z.cwd(),p));for(let b of i)f(o.resolve(b,o.basename(p)))}let h=s.replace(/['"]/g,"").trim(),g=[h,h.replace(/ /g,""),h.replace(/ /g,"_")];for(let p of i)for(let b of g)f(o.resolve(p,`${b}.ttf`)),f(o.resolve(p,`${b}.otf`));for(let p of i)f(o.resolve(p,"Inter.ttf")),f(o.resolve(p,"Inter.otf"));let m=null;for(let p of c)try{if(m=await a.readFile(p),m&&m.length>0)break}catch{}if(!m)throw new Error(`Could not resolve font file for "${s}" (${e})`);t=m.buffer.slice(m.byteOffset,m.byteOffset+m.byteLength)}else{let a=await fetch(e);if(!a.ok)throw new Error(`Failed to fetch font from ${e}: ${a.statusText}`);t=await a.arrayBuffer()}return t}function jn(s,e){e.curvesTex||Vn(s,e)}var to=Symbol.for("gatewai.slugFontCache.cache"),ro=Symbol.for("gatewai.slugFontCache.parsed"),no=Symbol.for("gatewai.slugFontCache.promises"),P0=Symbol.for("gatewai.slugFontCache.failed"),ut=globalThis;ut[to]=ut[to]||new Map;ut[ro]=ut[ro]||new Map;ut[no]=ut[no]||new Map;ut[P0]=ut[P0]||new Map;var or=class s{static get cache(){return ut[to]}static get parsedFontCache(){return ut[ro]}static setParsed(e,t){s.parsedFontCache.set(e,t),s.failedFonts.delete(e)}static getParsed(e){return s.parsedFontCache.get(e)||null}static families(){return[...s.parsedFontCache.keys()]}static getAllParsed(){return Array.from(s.parsedFontCache.values())}static getFirstParsed(){let e=s.parsedFontCache.values().next();return e.done?null:e.value}static hasPending(){return s.loadingPromises.size>0}static listeners=new Set;static get loadingPromises(){return ut[no]}static get failedFonts(){return ut[P0]instanceof Set&&(ut[P0]=new Map),ut[P0]}static emojiFontPath=null;static emojiFontUrl=null;static emojiTextureCache=new Map;static emojiFontBuffer=null;static emojiFontLoadPromise=null;static emojiFontFaceLoadPromise=null;static cmapOffset=0;static cblcOffset=0;static cbdtOffset=0;static setEmojiFont(e,t){if(s.parseTableDirectory(e),!s.cblcOffset||!s.cbdtOffset)throw s.emojiFontBuffer=null,new Error(`Emoji font ${t?`"${t}" `:""}has no CBDT/CBLC color bitmaps. Use a bitmap color emoji font such as Noto Color Emoji.`);s.emojiFontPath=t??null,s.emojiFontLoadPromise=null;for(let r of s.emojiTextureCache.values())r.destroy();s.emojiTextureCache.clear()}static hasEmojiFont(){return!!(s.emojiFontBuffer||s.emojiFontPath||s.emojiFontUrl)}static parseTableDirectory(e){s.emojiFontBuffer=e,s.cmapOffset=0,s.cblcOffset=0,s.cbdtOffset=0;let t=new DataView(e.buffer,e.byteOffset,e.byteLength),r=t.getUint16(4),n=12;for(let a=0;a<r;a++){let o=String.fromCharCode(t.getUint8(n),t.getUint8(n+1),t.getUint8(n+2),t.getUint8(n+3));o==="cmap"?s.cmapOffset=t.getUint32(n+8):o==="CBLC"?s.cblcOffset=t.getUint32(n+8):o==="CBDT"&&(s.cbdtOffset=t.getUint32(n+8)),n+=16}}static async loadEmojiFontBinary(){if(!s.emojiFontBuffer){if(s.emojiFontLoadPromise){await s.emojiFontLoadPromise;return}s.emojiFontLoadPromise=(async()=>{try{if((!!globalThis.__IS_HEADLESS_RENDERER__||typeof window>"u"||typeof globalThis.document>"u")&&s.emojiFontPath){let o=await(await import("./shims/fs-promises.mjs")).readFile(s.emojiFontPath),i=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);s.parseTableDirectory(i);return}let t=s.emojiFontUrl;if(!t){console.warn("[SlugFontCache] No emoji font path or URL configured.");return}let r=await fetch(t);if(!r.ok)throw new Error(`Failed to fetch emoji font from ${t}: ${r.statusText}`);let n=await r.arrayBuffer();s.parseTableDirectory(new Uint8Array(n))}catch(e){console.error("[SlugFontCache] Failed to load emoji font binary:",e)}})(),await s.emojiFontLoadPromise}}static async getEmojiPngBuffer(e){s.emojiFontBuffer||(s.emojiFontPath||s.emojiFontUrl)&&await s.loadEmojiFontBinary();let t=s.emojiFontBuffer;if(!t)return null;let r=new DataView(t.buffer,t.byteOffset,t.byteLength),n=s.cmapOffset;if(!n)return null;let a=r.getUint16(n+2),o=0;for(let U=0;U<a;U++){let O=n+4+U*8,X=r.getUint32(O+4);if(r.getUint16(n+X)===12){o=n+X;break}}if(!o)return null;let i=r.getUint32(o+12),l=0;for(let U=0;U<i;U++){let O=o+16+U*12,X=r.getUint32(O),T=r.getUint32(O+4),N=r.getUint32(O+8);if(e>=X&&e<=T){l=N+(e-X);break}}if(!l)return null;let c=s.cblcOffset,f=s.cbdtOffset;if(!c||!f)return null;let h=r.getUint32(c+8),g=r.getUint32(c+16),m=c+h,p=null;for(let U=0;U<g;U++){let O=m+U*8,X=r.getUint16(O),T=r.getUint16(O+2),N=r.getUint32(O+4);if(l>=X&&l<=T){p={firstGlyph:X,lastGlyph:T,subTableOffset:h+N};break}}if(!p)return null;let b=c+p.subTableOffset,y=r.getUint16(b),x=r.getUint16(b+2),v=r.getUint32(b+4);if(y!==1||x!==17)return null;let d=l-p.firstGlyph,S=b+8,E=r.getUint32(S+d*4);if(r.getUint32(S+(d+1)*4)-E<=0)return null;let I=f+v+E,B=r.getUint8(I),R=r.getUint8(I+1),Q=r.getUint32(I+5),Y=I+9;return{buffer:new Uint8Array(t.buffer,t.byteOffset+Y,Q),width:R,height:B}}static async preloadEmoji(e,t,r){let n=`${t}-${r}`,a=s.emojiTextureCache.get(n);if(a)return a;let o=!!globalThis.__IS_HEADLESS_RENDERER__||typeof window>"u"||typeof globalThis.document>"u",i=t.codePointAt(0);if(!i)throw new Error("No codepoint");let l=4,c=Math.max(16,Math.ceil(r*1.5*l)),f=s.hasEmojiFont()?await s.getEmojiPngBuffer(i):null;if(o){if(!f)throw new Error(s.hasEmojiFont()?`Emoji glyph not found in font for ${t}`:`No emoji font is set for ${t}; register one with FontManager.registerEmojiFont()`);let h=(await import("./sharp-O7VCPA7A.mjs")).default,{data:g,info:m}=await h(Buffer.from(f.buffer)).ensureAlpha().resize(c,c,{fit:"contain",background:{r:0,g:0,b:0,alpha:0},kernel:"lanczos3"}).raw().toBuffer({resolveWithObject:!0}),p=Xo(new Uint8Array(g));a=e.createTexture({label:`Emoji-${t}`,size:[m.width,m.height],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST}),e.queue.writeTexture({texture:a},p,{bytesPerRow:m.width*4},[m.width,m.height])}else if(f){let h=await createImageBitmap(new Blob([f.buffer],{type:"image/png"})),g=new OffscreenCanvas(c,c),m=g.getContext("2d");if(m){let p=Math.min(c/h.width,c/h.height),b=h.width*p,y=h.height*p;m.imageSmoothingQuality="high",m.drawImage(h,(c-b)/2,(c-y)/2,b,y)}h.close(),a=e.createTexture({label:`Emoji-${t}`,size:[c,c],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT}),e.queue.copyExternalImageToTexture({source:g},{texture:a,premultipliedAlpha:!0},[c,c])}else{let h=Math.ceil(c/4)*4,g=new OffscreenCanvas(h,h),m=g.getContext("2d");m&&(m.font=`${r*l}px "Apple Color Emoji", "Segoe UI Emoji", sans-serif`,m.textBaseline="middle",m.textAlign="center",m.fillText(t,h/2,h/2)),a=e.createTexture({label:`Emoji-${t}`,size:[h,h],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT}),e.queue.copyExternalImageToTexture({source:g},{texture:a,premultipliedAlpha:!0},[h,h])}return s.emojiTextureCache.set(n,a),a}static getFont(e,t,r,n,a,o){let i={...o??{}},l=s.parsedFontCache.get(e);if(l?.variationAxes&&"opsz"in l.variationAxes&&a!==void 0&&i.opsz===void 0){let g=l.variationAxes.opsz,m=g?.min??14,p=g?.max??32;i.opsz=Math.min(p,Math.max(m,a))}let c=n3(e,t,n,i),f=s.cache.get(c);if(f)return r&&jn(r,f),f;if(l){let g=yu(t),m=l,p=!1;if(l.variationAxes&&Object.keys(l.variationAxes).length>0)try{if(typeof l.getVariation=="function"){let b={wght:g,...i},y=l.getVariation(b);y&&(typeof y.getGlyph=="function"||typeof y.glyphForCodePoint=="function")&&(m=y,p=!0)}}catch(b){console.warn(`[SlugFontCache] Failed to get variation for ${e} with weight ${g}:`,b)}if(m&&(typeof m.getGlyph=="function"||typeof m.glyphForCodePoint=="function"))try{let y=new ar({fullRange:!1,strokeWidth:n}).generate(r??null,m);return y.hasTrueWeight=p,y.weight=g,y.fontFamily=e,y.variableAxes=o,s.cache.set(c,y),y}catch(b){console.warn(`[SlugFontCache] Failed to generate variation font for ${e}:`,b)}}let h=s.cache.get(e);return h&&(h.fontFamily=e,r&&jn(r,h)),h}static registerFont(e,t){t.fontFamily=e,s.cache.set(e,t)}static ensureTextures(e,t){jn(e,t)}static addListener(e){return s.listeners.add(e),()=>{s.listeners.delete(e)}}static isFailed(e){let t=s.failedFonts.get(e);return t?Date.now()-t>5e3?(s.failedFonts.delete(e),!1):!0:!1}static clearFailed(e){e?s.failedFonts.delete(e):s.failedFonts.clear()}static async preloadSlugFont(e,t,r,n,a){if(s.isFailed(t))throw new Error(`Font "${t}" recently failed to load.`);let o,i=s.cache.get(t),l=null;if(typeof window<"u"){let c=window;c.renderer_delayRenderHandles=c.renderer_delayRenderHandles||[],a?l=`${a}-font-${Math.random()}`:l=Math.random(),c.renderer_delayRenderHandles.push(l)}try{if(i)o=i;else{let c=s.loadingPromises.get(t);c?o=await c:(c=(async()=>{try{let f=s.parsedFontCache.get(t),h=performance.now(),g=f??s3(new Uint8Array(await a3(t,r))),m=performance.now();s.parsedFontCache.set(t,g);let b=new ar({fullRange:!1,whitelist:n||null}).generate(e,g),y=performance.now();return Hr(`[SlugFontCache] Preloaded and parsed font "${t}":
|
|
4
4
|
- fontkit parse: ${(m-h).toFixed(2)}ms
|
|
5
5
|
- slug generation: ${(y-m).toFixed(2)}ms
|
|
6
6
|
- total: ${(y-h).toFixed(2)}ms`),b.fontFamily=t,s.cache.set(t,b),s.listeners.forEach(x=>{try{x(t)}catch(v){console.error("[SlugFontCache] Error in listener:",v)}}),b}catch(f){throw s.failedFonts.set(t,Date.now()),f}finally{s.loadingPromises.delete(t)}})(),s.loadingPromises.set(t,c),o=await c)}}finally{if(l!==null&&typeof window<"u"){let c=window;if(c.renderer_delayRenderHandles){let f=c.renderer_delayRenderHandles.indexOf(l);f>-1&&c.renderer_delayRenderHandles.splice(f,1)}}}if(e){let c=!!o.curvesTex;jn(e,o),!c&&o.curvesTex&&s.listeners.forEach(f=>{try{f(t)}catch(h){console.error("[SlugFontCache] Error in listener:",h)}})}return o}static async preloadEmojiFontFace(e){if(!(typeof window>"u"||typeof caches>"u"||typeof FontFace>"u")){if(s.emojiFontUrl=e,s.emojiFontFaceLoadPromise){await s.emojiFontFaceLoadPromise;return}s.emojiFontFaceLoadPromise=(async()=>{try{let r=await caches.open("gatewai-emoji-font"),n=await r.match(e);if(!n){let l=await fetch(e);if(!l.ok)throw new Error(`Failed to fetch emoji font from ${e}: ${l.statusText}`);await r.put(e,l.clone()),n=l}let a=await n.arrayBuffer();s.parseTableDirectory(new Uint8Array(a));let i=await new FontFace("FramefieldsEmoji",a).load();document.fonts.add(i),await document.fonts.ready,Hr("[SlugFontCache] Emoji font preloaded and registered via Cache API."),s.listeners.forEach(l=>{try{l("FramefieldsEmoji")}catch(c){console.error("[SlugFontCache] Error in listener:",c)}})}catch(t){throw console.warn("[SlugFontCache] Failed to preload emoji font face:",t),s.emojiFontFaceLoadPromise=null,t}})(),await s.emojiFontFaceLoadPromise}}static destroy(){for(let e of s.cache.values())e.curvesTex?.destroy(),e.bandsTex?.destroy();s.cache.clear(),s.failedFonts.clear();for(let e of s.emojiTextureCache.values())e.destroy();s.emojiTextureCache.clear(),s.emojiFontBuffer=null,s.emojiFontLoadPromise=null,s.emojiFontFaceLoadPromise=null}};L();function so(s,e){let t=1-e,r=e*e,n=t*t,a=n*t,o=r*e;return{x:a*s.p0.x+3*n*e*s.p1.x+3*t*r*s.p2.x+o*s.p3.x,y:a*s.p0.y+3*n*e*s.p1.y+3*t*r*s.p2.y+o*s.p3.y}}function Wn(s,e){let t=1-e;return{x:3*t*t*(s.p1.x-s.p0.x)+6*t*e*(s.p2.x-s.p1.x)+3*e*e*(s.p3.x-s.p2.x),y:3*t*t*(s.p1.y-s.p0.y)+6*t*e*(s.p2.y-s.p1.y)+3*e*e*(s.p3.y-s.p2.y)}}function o3(s,e=100){let t=[{distance:0,t:0}],r=0,n=s.p0;for(let a=1;a<=e;a++){let o=a/e,i=so(s,o),l=i.x-n.x,c=i.y-n.y,f=Math.hypot(l,c);r+=f,t.push({distance:r,t:o}),n=i}return{lut:t,totalLength:r}}function wu(s,e,t){if(e<=0)return 0;if(e>=t)return 1;let r=0,n=s.length-1;for(;r<=n;){let f=r+n>>1;s[f].distance<e?r=f+1:n=f-1}let a=Math.max(1,Math.min(r,s.length-1)),o=s[a-1],i=s[a],l=i.distance-o.distance;if(l<=1e-6)return o.t;let c=(e-o.distance)/l;return o.t+c*(i.t-o.t)}function Pm(s,e,t,r){let n=wu(e,r,t),a=so(s,n),o=Wn(s,n),i=Math.hypot(o.x,o.y),l=i>1e-6?-o.y/i:0,c=i>1e-6?o.x/i:1,f=Math.atan2(o.y,o.x)*180/Math.PI;return{position:a,tangentAngleDeg:f,normal:{x:l,y:c}}}function Cu(s,e=50){if(s.length===0)return{totalLength:0,entries:[{distance:0,segmentIndex:0,t:0}],segments:[]};let t=[],r=[],n=0;for(let a=0;a<s.length;a++){let o=s[a],{lut:i,totalLength:l}=o3(o,e);t.push({segmentIndex:a,startDistance:n,length:l,lut:i});for(let c=0;c<i.length;c++)r.push({distance:n+i[c].distance,segmentIndex:a,t:i[c].t});n+=l}return{totalLength:n,entries:r,segments:t}}function Su(s,e,t){if(s.length===0)return{position:{x:0,y:0},tangentAngleDeg:0,normal:{x:0,y:1}};let r=e.totalLength;if(t<=0){let m=s[0],p=Wn(m,0),b=Math.hypot(p.x,p.y),y=b>1e-6?p.x/b:1,x=b>1e-6?p.y/b:0,v={x:m.p0.x+y*t,y:m.p0.y+x*t},d=b>1e-6?-p.y/b:0,S=b>1e-6?p.x/b:1;return{position:v,tangentAngleDeg:Math.atan2(p.y,p.x)*180/Math.PI,normal:{x:d,y:S}}}if(t>=r){let m=s[s.length-1],p=Wn(m,1),b=Math.hypot(p.x,p.y),y=b>1e-6?p.x/b:1,x=b>1e-6?p.y/b:0,v=t-r,d={x:m.p3.x+y*v,y:m.p3.y+x*v},S=b>1e-6?-p.y/b:0,E=b>1e-6?p.x/b:1;return{position:d,tangentAngleDeg:Math.atan2(p.y,p.x)*180/Math.PI,normal:{x:S,y:E}}}let n=0,a=0;if(e.segments&&e.segments.length>0){let m=0,p=e.segments.length-1;for(;m<=p;){let v=m+p>>1,d=e.segments[v];if(t<d.startDistance)p=v-1;else if(t>d.startDistance+d.length)m=v+1;else{m=v;break}}let b=Math.max(0,Math.min(m,e.segments.length-1)),y=e.segments[b];n=y.segmentIndex;let x=t-y.startDistance;a=wu(y.lut,x,y.length)}else{let m=0,p=e.entries.length-1;for(;m<=p;){let S=m+p>>1;e.entries[S].distance<t?m=S+1:p=S-1}let b=Math.max(1,Math.min(m,e.entries.length-1)),y=e.entries[b-1],x=e.entries[b],v=x.distance-y.distance,d=v>1e-6?(t-y.distance)/v:0;n=x.segmentIndex,a=y.segmentIndex===x.segmentIndex?y.t+d*(x.t-y.t):x.t}let o=s[n]??s[0],i=so(o,a),l=Wn(o,a),c=Math.hypot(l.x,l.y),f=c>1e-6?-l.y/c:0,h=c>1e-6?l.x/c:1,g=Math.atan2(l.y,l.x)*180/Math.PI;return{position:i,tangentAngleDeg:g,normal:{x:f,y:h}}}function i3(s,e,t,r,n=0,a=360){let o=n*Math.PI/180,l=a*Math.PI/180-o,c=Math.max(1,Math.ceil(Math.abs(l)/(Math.PI/2))),f=l/c,h=[];for(let g=0;g<c;g++){let m=o+g*f,p=m+f,b=f/2,y=4/3*Math.tan(b/2),x=Math.cos(m),v=Math.sin(m),d=Math.cos(p),S=Math.sin(p),E={x:s+t*x,y:e+r*v},k={x:E.x-y*t*v,y:E.y+y*r*x},M={x:s+t*d,y:e+r*S},I={x:M.x+y*t*S,y:M.y-y*r*d};h.push({p0:E,p1:k,p2:I,p3:M})}return h}function l3(s,e,t,r,n,a=0){let o=a*Math.PI/180,i=n<.1&&n*t>=.25?n*t:Math.max(.5,n),l=Math.max(1,Math.round(i*2)),c=t/l,f=[];for(let h=0;h<l;h++){let g=h/l*(2*Math.PI*i)+o,m=(h+1)/l*(2*Math.PI*i)+o,p=s+h*c,b=s+(h+1)*c,y=e+r*Math.sin(g),x=e+r*Math.sin(m),v=r*Math.cos(g)*(Math.PI/3),d=r*Math.cos(m)*(Math.PI/3),S={x:p,y},E={x:p+c/3,y:y+v},k={x:b-c/3,y:x-d},M={x:b,y:x};f.push({p0:S,p1:E,p2:k,p3:M})}return f}function u3(s,e,t,r,n,a,o,i,l){if(s===i&&e===l)return[];let c=Math.abs(t),f=Math.abs(r);if(c===0||f===0)return[{p0:{x:s,y:e},p1:{x:s+(i-s)/3,y:e+(l-e)/3},p2:{x:s+2*(i-s)/3,y:e+2*(l-e)/3},p3:{x:i,y:l}}];let h=n*Math.PI/180,g=Math.cos(h),m=Math.sin(h),p=(s-i)/2,b=(e-l)/2,y=g*p+m*b,x=-m*p+g*b,v=y*y/(c*c)+x*x/(f*f);v>1&&(c*=Math.sqrt(v),f*=Math.sqrt(v));let d=c*c*f*f-c*c*x*x-f*f*y*y,S=c*c*x*x+f*f*y*y,E=(a!==o?1:-1)*Math.sqrt(Math.max(0,d/S)),k=E*c*x/f,M=-E*f*y/c,I=g*k-m*M+(s+i)/2,B=m*k+g*M+(e+l)/2,R=(G,V,ne,le)=>Math.atan2(G*le-V*ne,G*ne+V*le),Q=R(1,0,(y-k)/c,(x-M)/f),Y=R((y-k)/c,(x-M)/f,(-y-k)/c,(-x-M)/f);!o&&Y>0&&(Y-=2*Math.PI),o&&Y<0&&(Y+=2*Math.PI);let q=Math.max(1,Math.ceil(Math.abs(Y)/(Math.PI/2))),U=Y/q,O=4/3*Math.tan(U/4),X=G=>({x:I+c*Math.cos(G)*g-f*Math.sin(G)*m,y:B+c*Math.cos(G)*m+f*Math.sin(G)*g}),T=G=>({x:-c*Math.sin(G)*g-f*Math.cos(G)*m,y:-c*Math.sin(G)*m+f*Math.cos(G)*g}),N=[];for(let G=0;G<q;G++){let V=Q+G*U,ne=V+U,le=X(V),Ee=X(ne),ie=T(V),de=T(ne);N.push({p0:le,p1:{x:le.x+O*ie.x,y:le.y+O*ie.y},p2:{x:Ee.x-O*de.x,y:Ee.y-O*de.y},p3:Ee})}return N[N.length-1].p3={x:i,y:l},N}function c3(s){let e=[],t=s.match(/[a-df-z]|[-+]?(?:\d*\.\d+|\d+)(?:[eE][-+]?\d+)?/gi);if(!t||t.length===0)return e;let r=0,n=0,a=0,o=0,i=0,l=0,c="",f=0,h=()=>f>=t.length?0:Number.parseFloat(t[f++]);for(;f<t.length;){let g=t[f++],m=/^[a-df-z]$/i.test(g),p=m?g:c;switch(m||f--,p){case"M":{r=h(),n=h(),a=r,o=n,c="L";break}case"m":{r+=h(),n+=h(),a=r,o=n,c="l";break}case"L":{let b=h(),y=h();e.push({p0:{x:r,y:n},p1:{x:r+(b-r)/3,y:n+(y-n)/3},p2:{x:r+2*(b-r)/3,y:n+2*(y-n)/3},p3:{x:b,y}}),r=b,n=y,c="L";break}case"l":{let b=h(),y=h(),x=r+b,v=n+y;e.push({p0:{x:r,y:n},p1:{x:r+b/3,y:n+y/3},p2:{x:r+2*b/3,y:n+2*y/3},p3:{x,y:v}}),r=x,n=v,c="l";break}case"H":{let b=h();e.push({p0:{x:r,y:n},p1:{x:r+(b-r)/3,y:n},p2:{x:r+2*(b-r)/3,y:n},p3:{x:b,y:n}}),r=b,c="H";break}case"h":{let b=h(),y=r+b;e.push({p0:{x:r,y:n},p1:{x:r+b/3,y:n},p2:{x:r+2*b/3,y:n},p3:{x:y,y:n}}),r=y,c="h";break}case"V":{let b=h();e.push({p0:{x:r,y:n},p1:{x:r,y:n+(b-n)/3},p2:{x:r,y:n+2*(b-n)/3},p3:{x:r,y:b}}),n=b,c="V";break}case"v":{let b=h(),y=n+b;e.push({p0:{x:r,y:n},p1:{x:r,y:n+b/3},p2:{x:r,y:n+2*b/3},p3:{x:r,y}}),n=y,c="v";break}case"C":{let b=h(),y=h(),x=h(),v=h(),d=h(),S=h();e.push({p0:{x:r,y:n},p1:{x:b,y},p2:{x,y:v},p3:{x:d,y:S}}),i=x,l=v,r=d,n=S,c="C";break}case"c":{let b=h(),y=h(),x=h(),v=h(),d=h(),S=h(),E=r+b,k=n+y,M=r+x,I=n+v,B=r+d,R=n+S;e.push({p0:{x:r,y:n},p1:{x:E,y:k},p2:{x:M,y:I},p3:{x:B,y:R}}),i=M,l=I,r=B,n=R,c="c";break}case"S":case"s":{let b=p==="s",y=h(),x=h(),v=h(),d=h(),S=b?r+y:y,E=b?n+x:x,k=b?r+v:v,M=b?n+d:d,I=r,B=n;/^[cs]$/i.test(c)&&(I=2*r-i,B=2*n-l),e.push({p0:{x:r,y:n},p1:{x:I,y:B},p2:{x:S,y:E},p3:{x:k,y:M}}),i=S,l=E,r=k,n=M,c=p;break}case"Q":case"q":{let b=p==="q",y=h(),x=h(),v=h(),d=h(),S=b?r+y:y,E=b?n+x:x,k=b?r+v:v,M=b?n+d:d,I=r+2/3*(S-r),B=n+2/3*(E-n),R=k+2/3*(S-k),Q=M+2/3*(E-M);e.push({p0:{x:r,y:n},p1:{x:I,y:B},p2:{x:R,y:Q},p3:{x:k,y:M}}),i=S,l=E,r=k,n=M,c=p;break}case"A":case"a":{let b=h(),y=h(),x=h(),v=h()!==0,d=h()!==0,S=h(),E=h();p==="a"&&(S+=r,E+=n),e.push(...u3(r,n,b,y,x,v,d,S,E)),r=S,n=E,i=S,l=E,c=p;break}case"Z":case"z":{(r!==a||n!==o)&&(e.push({p0:{x:r,y:n},p1:{x:r+(a-r)/3,y:n+(o-n)/3},p2:{x:r+2*(a-r)/3,y:n+2*(o-n)/3},p3:{x:a,y:o}}),r=a,n=o),c=p;break}default:break}}return e}function Pu(s){switch(s.type){case"bezier":return s.segments;case"svg":return c3(s.d);case"ellipse":return i3(s.cx,s.cy,s.rx,s.ry,s.startAngleDeg??0,s.endAngleDeg??360);case"wave":return l3(s.startX,s.startY,s.length,s.amplitude,s.frequency,s.phaseDeg??0)}}L();L();var A0=class{buffers=[];index=0;size;usage;constructor(e,t){this.size=e,this.usage=t}getBuffer(e,t){let r=Math.max(this.size,t.byteLength);if(this.index>=this.buffers.length){let a=e.createBuffer({size:r,usage:this.usage});this.buffers.push(a)}let n=this.buffers[this.index];if(n.size<r){let a=n;e.queue.onSubmittedWorkDone().then(()=>{try{a.destroy()}catch{}}),n=e.createBuffer({size:r,usage:this.usage}),this.buffers[this.index]=n}return this.index++,e.queue.writeBuffer(n,0,t),n}reset(){this.index=0}destroy(){for(let e of this.buffers)e.destroy();this.buffers=[]}};L();var Xn=class{cache=new WeakMap;getBindGroup(e,t,r){let n=this.cache.get(r);return n||(n=e.createBindGroup({layout:t,entries:[{binding:0,resource:{buffer:r}}]}),this.cache.set(r,n)),n}destroy(){this.cache=new WeakMap}};L();var f3=`
|
|
@@ -324,5 +324,5 @@ var<private> pos : array<vec2<f32>, 6> = array<vec2<f32>, 6>(
|
|
|
324
324
|
return shaded;
|
|
325
325
|
}
|
|
326
326
|
`;var ao=class{device;pipeline;uniformLayout;textureLayout;uniformPool;instancePool;uniformBindGroupCache=new Xn;uniformData=new Float32Array(16);captured=null;constructor(e,t){this.device=e,this.uniformPool=new A0(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.instancePool=new A0(131072,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=e.createShaderModule({label:"slug.wgsl",code:Au});this.uniformLayout=e.createBindGroupLayout({label:"SlugUniformLayout",entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),this.textureLayout=e.createBindGroupLayout({label:"SlugTextureLayout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"unfilterable-float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"uint"}}]}),this.pipeline=e.createRenderPipeline({label:"SlugPipeline",layout:e.createPipelineLayout({bindGroupLayouts:[this.uniformLayout,this.textureLayout]}),vertex:{module:r,entryPoint:"vs",buffers:[{arrayStride:96,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"float32x4"},{shaderLocation:4,offset:64,format:"float32x4"},{shaderLocation:5,offset:80,format:"float32x4"}]}]},fragment:{module:r,entryPoint:"fs",targets:[{format:t,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"}}}]},primitive:{topology:"triangle-list"}})}resetPools(){this.uniformPool.reset(),this.instancePool.reset()}beginCapture(){this.captured=[]}endCapture(){let e=this.captured??[];return this.captured=null,e}draw(e,t,r,n,a,o,i,l,c){if(a===0||!r.curvesTex||!r.bandsTex)return;let f=c?.opacity??1;if(this.captured){let h=t.getCurrent();c?.transform&&(h=h.multiply(c.transform)),this.captured.push({font:r,instances:n.slice(0,a*24),instanceCount:a,opacity:f,slant:c?.customParam??0,transform:[h.a,h.b,h.c,h.d,h.e,h.f]});return}t.packIntoBuffer(this.uniformData,f,i,l,c?.transform,c?.customParam),this.encode(e,r,n,a)}drawBatches(e,t,r,n){for(let a of t){let[o,i,l,c,f,h]=a.transform;this.uniformData.set([o,i,0,0,l,c,0,0,f,h,1,0,a.opacity,r,n,a.slant]),this.encode(e,a.font,a.instances,a.instanceCount)}}encode(e,t,r,n){if(!t.curvesTex||!t.bandsTex)return;let a=this.uniformPool.getBuffer(this.device,this.uniformData),o=this.instancePool.getBuffer(this.device,r),i=this.device.createBindGroup({layout:this.textureLayout,entries:[{binding:0,resource:t.curvesTex.createView()},{binding:1,resource:t.bandsTex.createView()}]});e.setPipeline(this.pipeline);let l=this.uniformBindGroupCache.getBindGroup(this.device,this.uniformLayout,a);e.setBindGroup(0,l),e.setBindGroup(1,i),e.setVertexBuffer(0,o),e.draw(6,n)}destroy(){this.uniformPool.destroy(),this.instancePool.destroy(),this.uniformBindGroupCache.destroy()}};L();L();L();L();function h3(){var s=(function(e){var t={R:"13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73",EN:"1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9",ES:"17,2,6dp+1,f+1,av,16vr,mx+1,4o,2",ET:"z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj",AN:"16o+5,2j+9,2+1,35,ed,1ff2+9,87+u",CS:"18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b",B:"a,3,f+2,2v,690",S:"9,2,k",WS:"c,k,4f4,1vk+a,u,1j,335",ON:"x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i",BN:"0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1",NSM:"lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n",AL:"16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d",LRO:"6ct",RLO:"6cu",LRE:"6cq",RLE:"6cr",PDF:"6cs",LRI:"6ee",RLI:"6ef",FSI:"6eg",PDI:"6eh"},r={},n={};r.L=1,n[1]="L",Object.keys(t).forEach(function(K,xe){r[K]=1<<xe+1,n[r[K]]=K}),Object.freeze(r);var a=r.LRI|r.RLI|r.FSI,o=r.L|r.R|r.AL,i=r.B|r.S|r.WS|r.ON|r.FSI|r.LRI|r.RLI|r.PDI,l=r.BN|r.RLE|r.LRE|r.RLO|r.LRO|r.PDF,c=r.S|r.WS|r.B|a|r.PDI|l,f=null;function h(){if(!f){f=new Map;var K=function(be){if(t.hasOwnProperty(be)){var z=0;t[be].split(",").forEach(function(se){var J=se.split("+"),ae=J[0],re=J[1];ae=parseInt(ae,36),re=re?parseInt(re,36):0,f.set(z+=ae,r[be]);for(var Le=0;Le<re;Le++)f.set(++z,r[be])})}};for(var xe in t)K(xe)}}function g(K){return h(),f.get(K.codePointAt(0))||r.L}function m(K){return n[g(K)]}var p={pairs:"14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function b(K,xe){var be=36,z=0,se=new Map,J=xe&&new Map,ae;return K.split(",").forEach(function re(Le){if(Le.indexOf("+")!==-1)for(var Ne=+Le;Ne--;)re(ae);else{ae=Le;var ye=Le.split(">"),Oe=ye[0],ft=ye[1];Oe=String.fromCodePoint(z+=parseInt(Oe,be)),ft=String.fromCodePoint(z+=parseInt(ft,be)),se.set(Oe,ft),xe&&J.set(ft,Oe)}}),{map:se,reverseMap:J}}var y,x,v;function d(){if(!y){var K=b(p.pairs,!0),xe=K.map,be=K.reverseMap;y=xe,x=be,v=b(p.canonical,!1).map}}function S(K){return d(),y.get(K)||null}function E(K){return d(),x.get(K)||null}function k(K){return d(),v.get(K)||null}var M=r.L,I=r.R,B=r.EN,R=r.ES,Q=r.ET,Y=r.AN,q=r.CS,U=r.B,O=r.S,X=r.ON,T=r.BN,N=r.NSM,G=r.AL,V=r.LRO,ne=r.RLO,le=r.LRE,Ee=r.RLE,ie=r.PDF,de=r.LRI,pe=r.RLI,Se=r.FSI,Ce=r.PDI;function ke(K,xe){for(var be=125,z=new Uint32Array(K.length),se=0;se<K.length;se++)z[se]=g(K[se]);var J=new Map;function ae(at,vt){var ot=z[at];z[at]=vt,J.set(ot,J.get(ot)-1),ot&i&&J.set(i,J.get(i)-1),J.set(vt,(J.get(vt)||0)+1),vt&i&&J.set(i,(J.get(i)||0)+1)}for(var re=new Uint8Array(K.length),Le=new Map,Ne=[],ye=null,Oe=0;Oe<K.length;Oe++)ye||Ne.push(ye={start:Oe,end:K.length-1,level:xe==="rtl"?1:xe==="ltr"?0:jo(Oe,!1)}),z[Oe]&U&&(ye.end=Oe,ye=null);for(var ft=Ee|le|ne|V|a|Ce|ie|U,Ct=function(at){return at+(at&1?1:2)},St=function(at){return at+(at&1?2:1)},Pt=0;Pt<Ne.length;Pt++){ye=Ne[Pt];var Pe=[{_level:ye.level,_override:0,_isolate:0}],Ie=void 0,st=0,Vt=0,Hn=0;J.clear();for(var Ye=ye.start;Ye<=ye.end;Ye++){var Ke=z[Ye];if(Ie=Pe[Pe.length-1],J.set(Ke,(J.get(Ke)||0)+1),Ke&i&&J.set(i,(J.get(i)||0)+1),Ke&ft)if(Ke&(Ee|le)){re[Ye]=Ie._level;var bo=(Ke===Ee?St:Ct)(Ie._level);bo<=be&&!st&&!Vt?Pe.push({_level:bo,_override:0,_isolate:0}):st||Vt++}else if(Ke&(ne|V)){re[Ye]=Ie._level;var mo=(Ke===ne?St:Ct)(Ie._level);mo<=be&&!st&&!Vt?Pe.push({_level:mo,_override:Ke&ne?I:M,_isolate:0}):st||Vt++}else if(Ke&a){Ke&Se&&(Ke=jo(Ye+1,!0)===1?pe:de),re[Ye]=Ie._level,Ie._override&&ae(Ye,Ie._override);var xo=(Ke===pe?St:Ct)(Ie._level);xo<=be&&st===0&&Vt===0?(Hn++,Pe.push({_level:xo,_override:0,_isolate:1,_isolInitIndex:Ye})):st++}else if(Ke&Ce){if(st>0)st--;else if(Hn>0){for(Vt=0;!Pe[Pe.length-1]._isolate;)Pe.pop();var qn=Pe[Pe.length-1]._isolInitIndex;qn!=null&&(Le.set(qn,Ye),Le.set(Ye,qn)),Pe.pop(),Hn--}Ie=Pe[Pe.length-1],re[Ye]=Ie._level,Ie._override&&ae(Ye,Ie._override)}else Ke&ie?(st===0&&(Vt>0?Vt--:!Ie._isolate&&Pe.length>1&&(Pe.pop(),Ie=Pe[Pe.length-1])),re[Ye]=Ie._level):Ke&U&&(re[Ye]=ye.level);else re[Ye]=Ie._level,Ie._override&&Ke!==T&&ae(Ye,Ie._override)}for(var yr=[],At=null,ir=ye.start;ir<=ye.end;ir++){var Yn=z[ir];if(!(Yn&l)){var vo=re[ir],yo=Yn&a,Ku=Yn===Ce;At&&vo===At._level?(At._end=ir,At._endsWithIsolInit=yo):yr.push(At={_start:ir,_end:ir,_level:vo,_startsWithPDI:Ku,_endsWithIsolInit:yo})}}for(var Kn=[],L0=0;L0<yr.length;L0++){var M0=yr[L0];if(!M0._startsWithPDI||M0._startsWithPDI&&!Le.has(M0._start)){for(var Zn=[At=M0],wo=void 0;At&&At._endsWithIsolInit&&(wo=Le.get(At._end))!=null;)for(var D0=L0+1;D0<yr.length;D0++)if(yr[D0]._start===wo){Zn.push(At=yr[D0]);break}for(var wr=[],_n=0;_n<Zn.length;_n++)for(var Co=Zn[_n],Jn=Co._start;Jn<=Co._end;Jn++)wr.push(Jn);for(var Zu=re[wr[0]],So=ye.level,B0=wr[0]-1;B0>=0;B0--)if(!(z[B0]&l)){So=re[B0];break}var Qn=wr[wr.length-1],_u=re[Qn],Po=ye.level;if(!(z[Qn]&a)){for(var U0=Qn+1;U0<=ye.end;U0++)if(!(z[U0]&l)){Po=re[U0];break}}Kn.push({_seqIndices:wr,_sosType:Math.max(So,Zu)%2?I:M,_eosType:Math.max(Po,_u)%2?I:M})}}for(var $n=0;$n<Kn.length;$n++){var es=Kn[$n],$=es._seqIndices,Yr=es._sosType,Ju=es._eosType,Cr=re[$[0]]&1?I:M;if(J.get(N))for(var R0=0;R0<$.length;R0++){var Ao=$[R0];if(z[Ao]&N){for(var ts=Yr,G0=R0-1;G0>=0;G0--)if(!(z[$[G0]]&l)){ts=z[$[G0]];break}ae(Ao,ts&(a|Ce)?X:ts)}}if(J.get(B))for(var N0=0;N0<$.length;N0++){var Eo=$[N0];if(z[Eo]&B)for(var z0=N0-1;z0>=-1;z0--){var To=z0===-1?Yr:z[$[z0]];if(To&o){To===G&&ae(Eo,Y);break}}}if(J.get(G))for(var rs=0;rs<$.length;rs++){var ko=$[rs];z[ko]&G&&ae(ko,I)}if(J.get(R)||J.get(q))for(var Kr=1;Kr<$.length-1;Kr++){var ns=$[Kr];if(z[ns]&(R|q)){for(var Sr=0,ss=0,as=Kr-1;as>=0&&(Sr=z[$[as]],!!(Sr&l));as--);for(var os=Kr+1;os<$.length&&(ss=z[$[os]],!!(ss&l));os++);Sr===ss&&(z[ns]===R?Sr===B:Sr&(B|Y))&&ae(ns,Sr)}}if(J.get(B))for(var Et=0;Et<$.length;Et++){var Qu=$[Et];if(z[Qu]&B){for(var V0=Et-1;V0>=0&&z[$[V0]]&(Q|l);V0--)ae($[V0],B);for(Et++;Et<$.length&&z[$[Et]]&(Q|l|B);Et++)z[$[Et]]!==B&&ae($[Et],B)}}if(J.get(Q)||J.get(R)||J.get(q))for(var Zr=0;Zr<$.length;Zr++){var Fo=$[Zr];if(z[Fo]&(Q|R|q)){ae(Fo,X);for(var j0=Zr-1;j0>=0&&z[$[j0]]&l;j0--)ae($[j0],X);for(var W0=Zr+1;W0<$.length&&z[$[W0]]&l;W0++)ae($[W0],X)}}if(J.get(B))for(var is=0,Io=Yr;is<$.length;is++){var Oo=$[is],ls=z[Oo];ls&B?Io===M&&ae(Oo,M):ls&o&&(Io=ls)}if(J.get(i)){var _r=I|B|Y,Lo=_r|M,X0=[];{for(var Pr=[],Ar=0;Ar<$.length;Ar++)if(z[$[Ar]]&i){var Jr=K[$[Ar]],Mo=void 0;if(S(Jr)!==null)if(Pr.length<63)Pr.push({char:Jr,seqIndex:Ar});else break;else if((Mo=E(Jr))!==null)for(var Qr=Pr.length-1;Qr>=0;Qr--){var us=Pr[Qr].char;if(us===Mo||us===E(k(Jr))||S(k(us))===Jr){X0.push([Pr[Qr].seqIndex,Ar]),Pr.length=Qr;break}}}X0.sort(function(at,vt){return at[0]-vt[0]})}for(var cs=0;cs<X0.length;cs++){for(var Do=X0[cs],H0=Do[0],fs=Do[1],Bo=!1,xt=0,hs=H0+1;hs<fs;hs++){var Uo=$[hs];if(z[Uo]&Lo){Bo=!0;var Ro=z[Uo]&_r?I:M;if(Ro===Cr){xt=Ro;break}}}if(Bo&&!xt){xt=Yr;for(var ds=H0-1;ds>=0;ds--){var Go=$[ds];if(z[Go]&Lo){var No=z[Go]&_r?I:M;No!==Cr?xt=No:xt=Cr;break}}}if(xt){if(z[$[H0]]=z[$[fs]]=xt,xt!==Cr){for(var $r=H0+1;$r<$.length;$r++)if(!(z[$[$r]]&l)){g(K[$[$r]])&N&&(z[$[$r]]=xt);break}}if(xt!==Cr){for(var e0=fs+1;e0<$.length;e0++)if(!(z[$[e0]]&l)){g(K[$[e0]])&N&&(z[$[e0]]=xt);break}}}}for(var jt=0;jt<$.length;jt++)if(z[$[jt]]&i){for(var zo=jt,ps=jt,gs=Yr,t0=jt-1;t0>=0;t0--)if(z[$[t0]]&l)zo=t0;else{gs=z[$[t0]]&_r?I:M;break}for(var Vo=Ju,r0=jt+1;r0<$.length;r0++)if(z[$[r0]]&(i|l))ps=r0;else{Vo=z[$[r0]]&_r?I:M;break}for(var bs=zo;bs<=ps;bs++)z[$[bs]]=gs===Vo?gs:Cr;jt=ps}}}for(var ht=ye.start;ht<=ye.end;ht++){var $u=re[ht],q0=z[ht];if($u&1?q0&(M|B|Y)&&re[ht]++:q0&I?re[ht]++:q0&(Y|B)&&(re[ht]+=2),q0&l&&(re[ht]=ht===0?ye.level:re[ht-1]),ht===ye.end||g(K[ht])&(O|U))for(var Y0=ht;Y0>=0&&g(K[Y0])&c;Y0--)re[Y0]=ye.level}}return{levels:re,paragraphs:Ne};function jo(at,vt){for(var ot=at;ot<K.length;ot++){var Wt=z[ot];if(Wt&(I|G))return 1;if(Wt&(U|M)||vt&&Wt===Ce)return 0;if(Wt&a){var Wo=ec(ot);ot=Wo===-1?K.length:Wo}}return 0}function ec(at){for(var vt=1,ot=at+1;ot<K.length;ot++){var Wt=z[ot];if(Wt&U)break;if(Wt&Ce){if(--vt===0)return ot}else Wt&a&&vt++}return-1}}var te="14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1",ge;function Qe(){if(!ge){var K=b(te,!0),xe=K.map,be=K.reverseMap;be.forEach(function(z,se){xe.set(se,z)}),ge=xe}}function Re(K){return Qe(),ge.get(K)||null}function ct(K,xe,be,z){var se=K.length;be=Math.max(0,be==null?0:+be),z=Math.min(se-1,z==null?se-1:+z);for(var J=new Map,ae=be;ae<=z;ae++)if(xe[ae]&1){var re=Re(K[ae]);re!==null&&J.set(ae,re)}return J}function $e(K,xe,be,z){var se=K.length;be=Math.max(0,be==null?0:+be),z=Math.min(se-1,z==null?se-1:+z);var J=[];return xe.paragraphs.forEach(function(ae){var re=Math.max(be,ae.start),Le=Math.min(z,ae.end);if(re<Le){for(var Ne=xe.levels.slice(re,Le+1),ye=Le;ye>=re&&g(K[ye])&c;ye--)Ne[ye]=ae.level;for(var Oe=ae.level,ft=1/0,Ct=0;Ct<Ne.length;Ct++){var St=Ne[Ct];St>Oe&&(Oe=St),St<ft&&(ft=St|1)}for(var Pt=Oe;Pt>=ft;Pt--)for(var Pe=0;Pe<Ne.length;Pe++)if(Ne[Pe]>=Pt){for(var Ie=Pe;Pe+1<Ne.length&&Ne[Pe+1]>=Pt;)Pe++;Pe>Ie&&J.push([Ie+re,Pe+re])}}}),J}function et(K,xe,be,z){var se=He(K,xe,be,z),J=[].concat(K);return se.forEach(function(ae,re){J[re]=(xe.levels[ae]&1?Re(K[ae]):null)||K[ae]}),J.join("")}function He(K,xe,be,z){for(var se=$e(K,xe,be,z),J=[],ae=0;ae<K.length;ae++)J[ae]=ae;return se.forEach(function(re){for(var Le=re[0],Ne=re[1],ye=J.slice(Le,Ne+1),Oe=ye.length;Oe--;)J[Ne-Oe]=ye[Oe]}),J}return e.closingToOpeningBracket=E,e.getBidiCharType=g,e.getBidiCharTypeName=m,e.getCanonicalBracket=k,e.getEmbeddingLevels=ke,e.getMirroredCharacter=Re,e.getMirroredCharactersMap=ct,e.getReorderSegments=$e,e.getReorderedIndices=He,e.getReorderedString=et,e.openingToClosingBracket=S,Object.defineProperty(e,"__esModule",{value:!0}),e})({});return s}var Eu=h3;function d3(s){return Uu(s).map(e=>e.text).filter(e=>ms(e)!=="text")}var p3=/[-ࣿיִ-﷿ﹰ-\u{10800}-\u{10FFF}\u{1E800}-\u{1EFFF}]/u,g3=/[-ࣿﭐ-﷿ﹰ-᠀-\u{10D00}-\u{10D3F}\u{10F30}-\u{10F6F}]/u,Tu=/^\s+$/,ku=null;function Bu(){return ku??=Eu(),ku}var b3={L:"a",R:"\u05D0",AL:"\u0627",EN:"0",AN:"\u0660",ES:"+",ET:"#",CS:",",NSM:"\u0300",BN:"\u200B",WS:" ",ON:"!"};function m3(s,e){let t=Bu(),r=s;if(/[\uD800-\uDBFF]/.test(s)){let a="";for(let o of s){if(o.length===1){a+=o;continue}let i=b3[t.getBidiCharTypeName(o)]??"!";a+=i+i}r=a}let n=t.getEmbeddingLevels(r,e==="auto"?void 0:e);return{levels:n.levels,baseLevel:n.paragraphs[0]?.level??(e==="rtl"?1:0)}}var Fu=typeof Intl<"u"&&typeof Intl.Segmenter=="function"?new Intl.Segmenter(void 0,{granularity:"grapheme"}):null;function Uu(s){let e=[];if(Fu){for(let r of Fu.segment(s))e.push({text:r.segment,start:r.index});return e}let t=0;for(let r of s)e.push({text:r,start:t}),t+=r.length;return e}var Iu=new WeakMap,x3=1;function Ru(s){let e=Iu.get(s);return e===void 0&&(e=x3++,Iu.set(s,e)),e}function Gu(s){return Ru(s)}var v3=2048,E0=new Map;function Nu(s){let e=vu(s)??Vu.get(s);return e||(s.fontFamily?globalThis[Symbol.for("gatewai.slugFontCache.parsed")]?.get(s.fontFamily)??null:null)}function Ou(s,e){if(s.codePoints.has(e))return!0;let t=Nu(s);if(typeof t?.hasGlyphForCodePoint=="function")return t.hasGlyphForCodePoint(e);if(!t)return!1;let r=t.characterSet;return Array.isArray(r)?r.includes(e):new Set(r).has(e)}function zu(s){return s.codePoints.get(-1)??s.glyphs?.get(0)}function y3(s,e){let t=s.codePoints.get(e);return!t&&ar.ensureCodePoints(s,[e])&&(t=s.codePoints.get(e)),t??zu(s)}function io(s){return s===173||s>=8203&&s<=8207||s>=8234&&s<=8238||s>=8288&&s<=8303||s>=65024&&s<=65039||s===65279}function w3(s){for(let e of s)if(!io(e.codePointAt(0)??0))return!1;return s.length>0}function Lu(s,e){let t=[],r=0;for(let n of e){let a=n.codePointAt(0)??0;if(io(a)){r+=n.length;continue}let o=y3(s,a);o&&t.push({cp:o,offset:r,end:r+n.length,xAdvance:o.advanceWidth,xOffset:0,yOffset:0}),r+=n.length}return t}var Mu=/[\uFE00-\uFE0F\u{E0100}-\u{E01EF}]/u,C3=/^\p{M}$/u;function S3(s,e,t,r){let n=s;if(typeof s.layout!="function")return null;let a=e;if(typeof n.glyphsForString=="function"){let p=n.glyphsForString(e),b=Array.from(e),y=[],x=0;for(let v of p){for(;x<b.length&&Mu.test(b[x]);)x++;let d=[];for(x<b.length&&d.push(b[x++].codePointAt(0)??0);x<b.length&&Mu.test(b[x]);)d.push(b[x++].codePointAt(0)??0);let S=Object.assign(Object.create(Object.getPrototypeOf(v)),v,{codePoints:d,isMark:d.length>0&&d.every(E=>C3.test(String.fromCodePoint(E))),isLigature:d.length>1});y.push(S)}a=y}let o=n._layoutEngine?.engine,i=null,l=o?.cleanup;o&&typeof l=="function"&&(o.cleanup=function(){return i=this.glyphInfos?this.glyphInfos.slice():null,l.call(this)});let c;try{c=s.layout(a,r?{}:{liga:!1,clig:!1},void 0,void 0,t?"rtl":"ltr")}catch{return null}finally{o&&l&&(delete o.cleanup,o.cleanup!==l&&(o.cleanup=l))}let f=c.glyphs.slice(),h=c.positions.slice();t&&(f.reverse(),h.reverse());let g=i,m=g&&g.length===f.length?g.map(p=>p.codePoints??[]):f.map(p=>p.codePoints??[]);return{glyphs:f,codePoints:m,positions:h}}function P3(s,e,t,r){let n=Nu(s);if(!n||typeof n.layout!="function")return Lu(s,e);let a=`${Ru(s)}|${t?1:0}|${r?1:0}|${e}`,o=E0.get(a);if(o)return o;let i=S3(n,e,t,r);if(!i)return Lu(s,e);let{glyphs:l,codePoints:c,positions:f}=i,h=[],g=[];{let x=0;for(let v of e)h.push(v.codePointAt(0)??0),g.push(x),x+=v.length;g.push(x)}let m=new Set;for(let x of l)m.add(x.id);ar.ensureGlyphs(s,m);let p=[],b=0,y=0;for(let x=0;x<l.length;x++){let v=l[x],d=c[x],S=f[x],E=d.length,k=y,M=0;if(E>0){k=Math.min(b,h.length-1);for(let B=b;B<Math.min(h.length,b+8);B++)if(h[B]===d[0]){k=B;break}M=Math.min(E,h.length-k),b=Math.max(b,k+M),y=k}let I=s.glyphs?.get(v.id)??(E>0?s.codePoints.get(d[0]):void 0)??zu(s);I&&p.push({cp:I,offset:g[Math.max(0,k)]??0,end:g[Math.max(0,k)+Math.max(1,M)]??e.length,xAdvance:S.xAdvance,xOffset:S.xOffset,yOffset:S.yOffset})}if(E0.size>=v3){let x=E0.keys().next().value;x!==void 0&&E0.delete(x)}return E0.set(a,p),p}function T0(s,e={}){let t=e.direction??"auto",r=e.ligatures??!0,n="",a=[];for(let S of s){n+=S.text;for(let E=0;E<S.text.length;E++)a.push(S.style)}if(n.length===0)return{clusters:[],baseLevel:t==="rtl"?1:0};let i=t==="rtl"||p3.test(n)?m3(n,t):null,l=i?.levels??null,c=S=>l?l[S]:0,f=i?.baseLevel??0,h=n;if(l){let S=Bu(),E="";for(let k=0;k<n.length;k++){let M=n[k];E+=l[k]&1?S.getMirroredCharacter(M)??M:M}h=E}let g=Uu(n),m=new Int32Array(n.length);for(let S=0;S<g.length;S++){let{start:E,text:k}=g[S];for(let M=0;M<k.length;M++)m[E+M]=S}let p=g.map(S=>{if(e.emoji===!1)return!1;let E=ms(S.text);return E==="emoji"||E==="either"&&!Ou(a[S.start].font,S.text.codePointAt(0)??0)});if(e.fallback)for(let S=0;S<g.length;S++){if(p[S])continue;let{start:E,text:k}=g[S],M=k.codePointAt(0)??0;if(io(M)||Tu.test(k)||M<32)continue;let I=a[E];if(Ou(I.font,M))continue;let B=e.fallback(I,M);if(B)for(let R=0;R<k.length;R++)a[E+R]=B}let b=g.map(()=>[]),y=new Int32Array(g.length);for(let S=0;S<g.length;S++)y[S]=S;let x=0,v=S=>{if(S<=x)return;let E=a[x],k=h.slice(x,S),M=(c(x)&1)===1;for(let I of P3(E.font,k,M,r)){let B=x+I.offset,R=m[Math.min(B,n.length-1)],Q=m[Math.min(x+I.end-1,n.length-1)];b[R].push(I);for(let Y=R+1;Y<=Q;Y++)y[Y]=y[R]}};for(let S=0;S<g.length;S++){let E=g[S].start;if(p[S]){v(E),x=E+g[S].text.length;continue}if(E>x){let k=E-1;(a[E].font!==a[k].font||a[E].fontSize!==a[k].fontSize||c(E)!==c(k))&&(v(E),x=E)}}v(n.length);let d=[];for(let S=0;S<g.length;){let E=S+1;for(;E<g.length&&y[E]===S;)E++;let k=g[S].start,M=E<g.length?g[E].start:n.length,I=n.slice(k,M),B=a[k],R=c(k),Q=(R&1)===1,Y=B.fontSize/B.font.unitsPerEm,q=p[S],U=Tu.test(I);if(w3(I)){S=E;continue}let O=[];for(let ne=S;ne<E;ne++)O.push(...b[ne]);let X=Q?O.slice().reverse():O,T=g3.test(I)?0:B.letterSpacing,N=0,G=[];if(q)N=B.fontSize;else{let ne=Q?T:0;for(let le of X)G.push({cp:le.cp,dx:ne+N+le.xOffset*Y,dy:-le.yOffset*Y}),N+=le.xAdvance*Y}let V=Q?T:0;d.push({text:I,start:k,style:B,isSpace:U,isEmoji:q,level:R,glyphs:G,advance:N+T,spacing:T,inkStart:V,inkEnd:V+N}),S=E}return{clusters:d,baseLevel:f}}var Vu=new WeakMap,Du=new WeakMap,oo=class extends Map{constructor(t){super();this.source=t}source;get(t){let r=super.get(t);if(!r){let n=0;try{n=this.source.getGlyph?.(t)?.advanceWidth??0}catch{n=0}r={codePoint:-2,glyphId:t,width:0,height:0,advanceWidth:n,bearingX:0,bearingY:0,bandCount:0,bandDimX:0,bandDimY:0,bandsTexCoordX:0,bandsTexCoordY:0},super.set(t,r)}return r}has(t){return this.get(t)!==void 0}};function A3(s){let e=Du.get(s);if(!e){let t=new oo(s);e={codePoints:new Map([[-1,t.get(0)]]),glyphs:t,curvesTex:null,bandsTex:null,ascender:s.ascent||0,descender:s.descent||0,lineGap:s.lineGap||0,unitsPerEm:s.unitsPerEm||1e3},Du.set(s,e),Vu.set(e,s)}return e}function Wm(s,e,t={}){let r=A3(s),n=t.letterSpacing??0,a=T0([{text:e,style:{font:r,fontSize:r.unitsPerEm,letterSpacing:n}}],{direction:t.direction,ligatures:t.ligatures??n===0,emoji:!1}),o=k0(a.clusters,a.baseLevel),i=[],l=0;for(let{cluster:c,x:f}of o.clusters){l=f+c.advance;for(let h of c.glyphs)h.cp.glyphId!==void 0&&i.push({glyphId:h.cp.glyphId,x:f+h.dx,y:-h.dy})}return{glyphs:i,width:l,baseLevel:a.baseLevel}}function lo(s,e){let t=[],r=[],n=0,a=0;for(;a<s.length;){let o=s[a].isSpace,i=a,l=0;for(;i<s.length&&s[i].isSpace===o;)l+=s[i].advance,i++;let c=s.slice(a,i);if(a=i,o){if(r.length===0&&t.length>0)continue;r.push(...c),n+=l;continue}let f=c[c.length-1].spacing,h=f>0?l-f:l;n>0&&n+h>e&&(t.push(r),r=[],n=0),r.push(...c),n+=l}return t.push(r),t}function k0(s,e){let t=s.length,r=new Array(t),n=0,a=Number.POSITIVE_INFINITY,o=t;for(;o>0&&s[o-1].isSpace;)o--;for(let p=0;p<t;p++){let b=p>=o?e:s[p].level;r[p]=b,b>n&&(n=b),b&1&&b<a&&(a=b)}let i=Array.from({length:t},(p,b)=>b);for(let p=n;p>=a&&p>0;p--){let b=0;for(;b<t;){if(r[i[b]]<p){b++;continue}let y=b;for(;y<t&&r[i[y]]>=p;)y++;let x=i.slice(b,y).reverse();for(let v=0;v<x.length;v++)i[b+v]=x[v];b=y}}let l=[],c=0,f=Number.POSITIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(let p of i){let b=s[p];l.push({cluster:b,x:c}),b.isSpace||(f=Math.min(f,c+b.inkStart),h=Math.max(h,c+b.inkEnd)),c+=b.advance}f>h&&(f=0,h=0);let g=0;for(let p=0;p<t&&s[p].isSpace;p++)g+=s[p].advance;let m=(e&1)===1;return{clusters:l,inkLeft:f,inkRight:h,indentLeft:m?0:g,indentRight:m?g:0}}function uo(s,e){let t=(e&1)===1;return s==="start"?t?"right":"left":s==="end"?t?"left":"right":s}function co(s,e,t){let r=s.inkLeft-s.indentLeft,n=s.inkRight+s.indentRight;return e==="center"?(t-(n-r))/2-r:e==="right"?t-n:-r}function E3(s,e,t){for(let r of or.families())if(r!==s.fontFamily&&or.getParsed(r)?.hasGlyphForCodePoint?.(t))return or.getFont(r,s.weight,null,void 0,e)}var ju=(s,e)=>{let t=E3(s.font,s.fontSize,e);if(t)return{...s,font:t,..."fontScale"in s&&{fontScale:s.fontSize/t.unitsPerEm}}},qr=new Map,T3=256;function Wu(s,e){if(qr.size>=T3){let t=qr.keys().next().value;t&&qr.delete(t)}return qr.set(s,e),e}function F0(s){return s&&typeof s=="object"&&"get"in s&&typeof s.get=="function"?s.get():s}function fo(s,e){let t=new Map,r=0,n=0;for(let a=0;a<s.length;a++){let o=!1;for(let i of s[a]){i.isEmoji||(i.isSpace?o&&(r++,o=!1):o=!0);let l=e==="line"?a:e==="word"?r:n;t.set(i,{charIndex:n,wordIndex:r,unitIndex:l}),(i.isEmoji||i.glyphs.length>0)&&n++}o&&r++}return{indices:t,words:r,chars:n}}function ho(s,e){return s!=="char"&&e===0}var po=class s{static layout(e,t,r,n,a,o,i="left",l="word",c,f,h,g="auto"){let m=Gu(t);if(h&&h.length>0){let q=h.map(X=>`${typeof X.text=="string"?X.text:""}:${X.fontFamily??""}:${X.fontWeight??""}:${X.fontSize??""}:${X.fill??""}:${X.baselineShift??""}:${X.letterSpacing??""}`).join(";"),U=`${e}|${m}|${r}|${n}|${a}|${o}|${i}|${l}|${c??""}|${g}|${q}`,O=qr.get(U);return O||Wu(U,s.layoutSpans(h,t,r,n,a,o,i,l,c,g))}if(f)return s.layoutOnPath(e,t,r,n,f,l,g);let p=`${e}|${m}|${r}|${n}|${a}|${o}|${i}|${l}|${c??""}|${g}`,b=qr.get(p);if(b)return b;let y={font:t,fontSize:r,letterSpacing:n},x=ho(l,n),v=[],d=0;for(let q of e.split(`
|
|
327
|
-
`)){let U=T0([{text:q,style:y}],{direction:g,ligatures:x,fallback:ju});for(let O of lo(U.clusters,o))v.push({clusters:O,baseLevel:U.baseLevel,textOffset:d});d+=q.length+1}let{indices:S,words:E,chars:k}=fo(v.map(q=>q.clusters),l),M=[],I=[],B=!1,R=t.ascender*(r/t.unitsPerEm),Q=c??o;for(let q=0;q<v.length;q++){let{clusters:U,baseLevel:O,textOffset:X}=v[q],T=k0(U,O),N=co(T,uo(i,O),Q),G=new Map;for(let V of T.clusters)G.set(V.cluster,V.x+N);O&1&&(B=!0);for(let V of U){let ne=G.get(V)??0,le=S.get(V),Ee=(V.level&1)===1;if(Ee&&(B=!0),V.isEmoji){I.push({char:V.text,x:ne+V.inkStart,y:R-r,size:r,lineIndex:q});continue}for(let ie of V.glyphs)M.push({char:V.text,cp:ie.cp,x:ne+ie.dx,y:R+ie.dy,lineIndex:q,wordIndex:le.wordIndex,charIndex:le.charIndex,unitIndex:le.unitIndex,isSpace:V.isSpace,textIndex:X+V.start,rtl:Ee,clusterAdvance:V.advance-V.spacing,clusterX:ne,baseRtl:(O&1)===1,...V.style.font!==t&&{font:V.style.font,fontFamily:V.style.font.fontFamily,fontScale:r/V.style.font.unitsPerEm}})}R+=a}let Y=R-a+-t.descender*(r/t.unitsPerEm);return Wu(p,{glyphs:M,emojis:I,totalHeight:Y,linesCount:v.length,wordsCount:E,charsCount:k,hasRtl:B||void 0})}static measure(e,t,r,n,a,o,i,l="auto"){let c=o??Number.MAX_SAFE_INTEGER,f=s.layout(e,t,r,n,a,c,"left","word",void 0,void 0,i,l),h=r/t.unitsPerEm,g=0,m=new Map;for(let p of f.glyphs){if(p.isSpace)continue;let b=p.fontScale??h,y=p.x+p.cp.advanceWidth*b,x=m.get(p.lineIndex)??0;y>x&&m.set(p.lineIndex,y)}for(let p of f.emojis){let b=p.x+p.size,y=m.get(p.lineIndex)??0;b>y&&m.set(p.lineIndex,b)}for(let p of m.values())p>g&&(g=p);return{width:Math.ceil(g),height:Math.ceil(f.totalHeight),layout:f}}static layoutSpans(e,t,r,n,a,o,i="left",l="word",c,f="auto"){let h=[[]],g=ho(l,n);for(let B=0;B<e.length;B++){let R=e[B],Q=String(F0(R.text)??""),Y=F0(R.fontSize),q=typeof Y=="number"?Y:Y!==void 0?Number(Y):r,U=t;if(R.fontFamily||R.fontWeight!==void 0){let G=R.fontFamily??t.fontFamily??"Inter",V=or.getFont(G,R.fontWeight,null,void 0,q);V&&(U=V)}let O=F0(R.fill),X=F0(R.opacity),T={font:U,fontSize:q,fontScale:q/U.unitsPerEm,letterSpacing:R.letterSpacing??n,baselineShift:R.baselineShift??0,fill:O!==void 0?String(O):void 0,opacity:X!==void 0?Number(X):void 0,mark:R.mark,spanIndex:B};T.letterSpacing!==0&&(g=!1);let N=Q.split(`
|
|
327
|
+
`)){let U=T0([{text:q,style:y}],{direction:g,ligatures:x,fallback:ju});for(let O of lo(U.clusters,o))v.push({clusters:O,baseLevel:U.baseLevel,textOffset:d});d+=q.length+1}let{indices:S,words:E,chars:k}=fo(v.map(q=>q.clusters),l),M=[],I=[],B=!1,R=t.ascender*(r/t.unitsPerEm),Q=c??o;for(let q=0;q<v.length;q++){let{clusters:U,baseLevel:O,textOffset:X}=v[q],T=k0(U,O),N=co(T,uo(i,O),Q),G=new Map;for(let V of T.clusters)G.set(V.cluster,V.x+N);O&1&&(B=!0);for(let V of U){let ne=G.get(V)??0,le=S.get(V),Ee=(V.level&1)===1;if(Ee&&(B=!0),V.isEmoji){I.push({char:V.text,x:ne+V.inkStart,y:R-r,size:r,lineIndex:q});continue}for(let ie of V.glyphs)M.push({char:V.text,cp:ie.cp,x:ne+ie.dx,y:R+ie.dy,lineIndex:q,wordIndex:le.wordIndex,charIndex:le.charIndex,unitIndex:le.unitIndex,isSpace:V.isSpace,textIndex:X+V.start,rtl:Ee,clusterAdvance:V.advance-V.spacing,clusterX:ne,baseRtl:(O&1)===1,...V.style.font!==t&&{font:V.style.font,fontFamily:V.style.font.fontFamily,fontScale:r/V.style.font.unitsPerEm}})}R+=a}let Y=R-a+-t.descender*(r/t.unitsPerEm);return Wu(p,{glyphs:M,emojis:I,totalHeight:Y,linesCount:v.length,wordsCount:E,charsCount:k,hasRtl:B||void 0})}static measure(e,t,r,n,a,o,i,l="auto"){let c=o??Number.MAX_SAFE_INTEGER,f=s.layout(e,t,r,n,a,c,"left","word",void 0,void 0,i,l),h=r/t.unitsPerEm,g=0,m=new Map;for(let p of f.glyphs){if(p.isSpace)continue;let b=p.fontScale??h,y=p.x+p.cp.advanceWidth*b,x=m.get(p.lineIndex)??0;y>x&&m.set(p.lineIndex,y)}for(let p of f.emojis){let b=p.x+p.size,y=m.get(p.lineIndex)??0;b>y&&m.set(p.lineIndex,b)}for(let p of m.values())p>g&&(g=p);return{width:Math.ceil(g),height:Math.ceil(f.totalHeight),layout:f}}static layoutSpans(e,t,r,n,a,o,i="left",l="word",c,f="auto"){let h=[[]],g=ho(l,n);for(let B=0;B<e.length;B++){let R=e[B],Q=String(F0(R.text)??""),Y=F0(R.fontSize),q=typeof Y=="number"?Y:Y!==void 0?Number(Y):r,U=t;if(R.fontFamily||R.fontWeight!==void 0){let G=R.fontFamily??t.fontFamily??"Inter",V=or.getFont(G,R.fontWeight,null,void 0,q,t.variableAxes);V&&(U=V)}let O=F0(R.fill),X=F0(R.opacity),T={font:U,fontSize:q,fontScale:q/U.unitsPerEm,letterSpacing:R.letterSpacing??n,baselineShift:R.baselineShift??0,fill:O!==void 0?String(O):void 0,opacity:X!==void 0?Number(X):void 0,mark:R.mark,spanIndex:B};T.letterSpacing!==0&&(g=!1);let N=Q.split(`
|
|
328
328
|
`);for(let G=0;G<N.length;G++)G>0&&h.push([]),N[G]&&h[h.length-1].push({text:N[G],style:T})}let m=[];for(let B of h){let R=T0(B,{direction:f,ligatures:g,fallback:ju});for(let Q of lo(R.clusters,o))m.push({clusters:Q,baseLevel:R.baseLevel})}let{indices:p,chars:b}=fo(m.map(B=>B.clusters),l),y=[],x=[],v=[],d=!1,S=0,E=c??o,k=r/t.unitsPerEm;for(let B=0;B<m.length;B++){let{clusters:R,baseLevel:Q}=m[B],Y=(t.ascender??800)*k,q=-(t.descender??-200)*k,U=a;for(let ie of R){let de=ie.style,pe=(de.font.ascender??800)*de.fontScale,Se=-(de.font.descender??-200)*de.fontScale,Ce=a*(de.fontSize/r);pe>Y&&(Y=pe),Se>q&&(q=Se),Ce>U&&(U=Ce)}B===0&&(S=Y);let O=k0(R,Q),X=co(O,uo(i,Q),E);Q&1&&(d=!0);let T,N=0,G=0,V=Y,ne=q,le=()=>{if(T&&G>N){let ie=T.paddingX??4,de=T.paddingY??2;v.push({x:N-ie,y:S-V-de,width:G-N+ie*2,height:V+ne+de*2,background:String(F0(T.background)),borderRadius:T.borderRadius??4,lineIndex:B})}T=void 0},Ee=new Map;for(let ie of O.clusters){let de=ie.cluster,pe=ie.x+X;Ee.set(de,pe);let Se=de.style;if(Se.mark&&!de.isSpace){let Ce=(Se.font.ascender??800)*Se.fontScale,ke=-(Se.font.descender??-200)*Se.fontScale;!T||T!==Se.mark?(le(),T=Se.mark,N=pe+de.inkStart,G=pe+de.inkEnd,V=Ce,ne=ke):(G=pe+de.inkEnd,Ce>V&&(V=Ce),ke>ne&&(ne=ke))}else le()}le();for(let ie of R){let de=Ee.get(ie)??0,pe=ie.style,Se=p.get(ie),Ce=(ie.level&1)===1;if(Ce&&(d=!0),ie.isEmoji){x.push({char:ie.text,x:de+ie.inkStart,y:S-pe.fontSize,size:pe.fontSize,lineIndex:B});continue}for(let ke of ie.glyphs)y.push({char:ie.text,cp:ke.cp,x:de+ke.dx,y:S+pe.baselineShift+ke.dy,lineIndex:B,wordIndex:Se.wordIndex,charIndex:Se.charIndex,unitIndex:Se.unitIndex,isSpace:ie.isSpace,rtl:Ce,clusterAdvance:ie.advance-ie.spacing,clusterX:de,baseRtl:(Q&1)===1,spanIndex:pe.spanIndex,fill:pe.fill,fontSize:pe.fontSize,fontScale:pe.fontScale,baselineShift:pe.baselineShift,opacity:pe.opacity,fontFamily:pe.font.fontFamily,font:pe.font,mark:pe.mark})}B<m.length-1&&(S+=Math.max(U,Y+q))}let M=0;for(let B of y)!B.isSpace&&B.unitIndex>M&&(M=B.unitIndex);let I=m.length>0?S+k*-(t.descender??-200):0;return{glyphs:y,emojis:x,marks:v.length>0?v:void 0,totalHeight:I,linesCount:m.length,wordsCount:Math.max(0,M+1),charsCount:b,hasRtl:d||void 0}}static layoutOnPath(e,t,r,n,a,o="word",i="auto"){let l=r/t.unitsPerEm,c=Pu(a.path),f=Cu(c),h=f.totalLength,g=T0([{text:e.replace(/\n/g," "),style:{font:t,fontSize:r,letterSpacing:n}}],{direction:i,ligatures:ho(o,n)}),m=g.clusters,{indices:p,words:b,chars:y}=fo([m],o),x=k0(m,g.baseLevel).clusters.map(O=>O.cluster),v=0;a.baselineOffset==="center"?v=(t.ascender+t.descender)*l*.5:a.baselineOffset==="ascender"?v=-t.ascender*l:a.baselineOffset==="descender"&&(v=-t.descender*l);let d=(a.baselineShift??0)+v,S=[],E=[],k=a.firstMargin??0,M=a.lastMargin??0,B=Math.max(k,h-M)-k,R=0;for(let O=0;O<x.length;O++){let X=x[O];R+=O<x.length-1?X.advance:X.advance-X.spacing}let Q=a.forceAlignment&&x.length>1?(B-R)/(x.length-1):0,Y=a.perpendicularToPath!==!1,q=O=>{let X=a.reversePath?h-O:O;return a.loop&&h>0&&(X=(X%h+h)%h),Su(c,f,X)},U=k;for(let O of x){let X=p.get(O);if(O.isEmoji){let T=q(U+O.inkStart);E.push({char:O.text,x:T.position.x+T.normal.x*d,y:T.position.y+T.normal.y*d-r,size:r,lineIndex:0})}else for(let T of O.glyphs){let N=q(U+T.dx),G=d+T.dy;S.push({char:O.text,cp:T.cp,x:N.position.x+N.normal.x*G,y:N.position.y+N.normal.y*G,lineIndex:0,wordIndex:X.wordIndex,charIndex:X.charIndex,unitIndex:o==="line"?0:X.unitIndex,isSpace:O.isSpace,textIndex:O.start,rtl:(O.level&1)===1,clusterAdvance:O.advance-O.spacing,pathTangentAngleRad:Y?N.tangentAngleDeg*Math.PI/180:0,perpendicularToPath:Y,pathNormalX:N.normal.x,pathNormalY:N.normal.y})}U+=O.advance+Q}return{glyphs:S,emojis:E,totalHeight:r*1.5,linesCount:1,wordsCount:b,charsCount:y,hasRtl:g.baseLevel&1||m.some(O=>O.level&1)?!0:void 0}}};L();var go=null,I0=new Map,k3=new Set,O0=new Map,Xu=new Map;async function F3(s,e){let t=e;if(e.startsWith("/")){let m=await import("./shims/fs-promises.mjs");try{await m.access(e)}catch{throw new Error(`Font file "${e}" not found.`)}}if(I0.has(t))return I0.get(t);if(t.startsWith("file://"))try{let m=decodeURIComponent(new URL(t).pathname);return Z.platform==="win32"&&m.startsWith("/")&&(m=m.slice(1)),I0.set(t,m),m}catch{let m=t.replace(/^file:\/\//,"");return I0.set(t,m),m}if(!t.startsWith("http://")&&!t.startsWith("https://"))return t;let r=await import("./shims/fs-promises.mjs"),n=await import("./shims/path.mjs"),a=await import("./shims/os.mjs");go??=r.mkdtemp(n.join(a.tmpdir(),"gatewai-fonts-")).catch(m=>{throw go=null,m});let o=await go,i=s.replace(/[^a-zA-Z0-9_-]/g,"_"),l=new URL(t),c=n.extname(l.pathname);(!c||c.length>5)&&(c=".ttf");let f=n.join(o,`${i}-${Date.now()}${c}`),h=await fetch(t);if(!h.ok)throw new Error(`Failed to fetch font from ${t}: ${h.statusText}`);let g=await h.arrayBuffer();return await r.writeFile(f,Buffer.from(g)),I0.set(t,f),f}function I3(){return!globalThis.__IS_HEADLESS_RENDERER__&&typeof window<"u"&&typeof globalThis.document<"u"}async function s4(s,e){if(I3())return;if(O0.has(s))return O0.get(s);let t=globalThis;try{let r=await F3(s,e);O0.set(s,r),Hr(r===e?`[registerHeadlessFont] Registered "${s}" from ${r}`:`[registerHeadlessFont] Registered "${s}" from ${e} (cached at ${r})`);try{t.OffscreenCanvas&&typeof t.OffscreenCanvas.registerFont=="function"&&(t.OffscreenCanvas.registerFont(r,{family:s}),k3.add(s))}catch(n){console.warn(`[registerHeadlessFont] SkiaCanvas registration failed for "${s}" (non-fatal):`,n)}return r}catch(r){console.warn(`[registerHeadlessFont] Failed to download font "${s}" from ${e}:`,r)}}function a4(s){return O0.get(s)}var Hu=Symbol.for("framefields.fontSources"),qu=globalThis;qu[Hu]??=new Map;var Yu=qu[Hu];function o4(s,e){Yu.set(s,e)}function i4(s){return Yu.get(s)}async function l4(s){let e=Xu.get(s);if(e)return e;let t=O0.get(s);if(t)try{let n=await(await import("./shims/fs-promises.mjs")).readFile(t),a=new Uint8Array(n.length);return a.set(n),Hr(`[getHeadlessFontData] Read local font binary for "${s}" from: ${t} (${a.length} bytes)`),Xu.set(s,a),a}catch(r){console.warn(`[getHeadlessFontData] Failed to read font file from ${t}:`,r)}}export{Hr as a,s4 as b,a4 as c,o4 as d,i4 as e,l4 as f,Za as g,ar as h,yu as i,or as j,so as k,Wn as l,o3 as m,wu as n,Pm as o,Cu as p,Su as q,i3 as r,l3 as s,c3 as t,Pu as u,d3 as v,Wm as w,po as x,A0 as y,Xn as z,f3 as A,ao as B};
|