{"version":3,"file":"static/js/main.e865e646.js","mappings":"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A96P,QAAA,EACAu9P,eAAA,IAIG1qN,CAAA,CGlUT,ICIM01E,GAAS,SAAChhH,GAAA,gBCCQA,EACtBw+B,EACA2V,EACAopE,GAAA,YAAAA,IAAAA,EAAkB36G,MAEbwwB,EAAAA,GAAAA,oBAAmB+gB,GAAA,OACfqpE,GAAiB,EAAGxnH,OAAOm+C,IAAA,IAK9B/e,EAAmB,kBAAaoJ,EAAqB2V,EAAKopE,EAASwD,GAAAl5H,WAAA,EAAAC,WAAA,SAGzEstC,EAAiB8gO,WAAa,SAAA9iO,GAAA,OAC5BpzB,EAAqBw+B,EAAsB2V,EAAAp9B,GAAA,GAAUwmG,EAAA,GAAYnqF,GAAA,EAGnEgC,EAAiB00L,MAAQ,SAAA12L,GAAA,OACvBpzB,EAAqBw+B,EAAsB2V,EAAAp9B,GAAA,GACtCwmG,EAAA,CACHusG,MAAOh6N,MAAMZ,UAAUtG,OAAO20H,EAAQusG,MAAO12L,GAAO19B,OAAOouH,WAAA,EAGxD1uF,CAAA,CDzBO,CAAqCkrF,GAAiBtgH,EAAA,EDJvD,CACb,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,UACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAGA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SA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A,EACA,EACA,EACA,GAEE2mG,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DlmF,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEoH,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGE7C,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEiiF,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DvyE,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEkyE,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKOtiF,EAAkBoD,EAASx+B,GAAA,QAC9Bm0C,EAAY,EACZ/gB,EAAe,EACfniC,EAAK,IAAInB,MACJgF,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIyoH,EAAI,EAAGA,GAAK/+E,EAAQ1pC,GAAIyoH,IAC/BtsH,EAAG+O,EAAUozB,IAAiB,GAC9BniC,EAAG+O,EAAUozB,IAAe,GAAK+gB,EACjCljD,EAAG+O,EAAUozB,IAAe,GAAKt+B,EACjCs+B,IACA+gB,IAEFA,GAAa,SAERljD,CAAA,UA2DA6sH,EAAUt/E,GAAA,QACbx+B,EAAQw+B,EAAG,GACX2V,EAAS3V,EAAG,GAAK,EACd2V,GAAU,GACXn0C,EAAS,GAAKm0C,IAChB38C,GAAW,GAAK43B,GAElB+kB,MACA/kB,EACc,IACG,KAAX53B,GACF4mH,EAAU,KACVA,EAAU,IAEVA,EAAU5mH,GAEZ43B,EAAU,EACV53B,EAAU,YAKP4mH,EAAU5/E,GAEjB5D,EAAQhkC,KAAK4nC,EAAA,UAGNm/E,EAAUn/E,GACjB4/E,EAAW5/E,GAAS,EAAK,KACzB4/E,EAAkB,IAAR5/E,EAAA,UAyOH+M,EAAU/M,EAAKx+B,EAAOm0C,EAAI/gB,EAAMniC,GAAA,QAGnC6D,EAFAyoH,EAAMtsH,EAAK,GACXmkC,EAAYnkC,EAAK,KAKjBye,EAAA,SA5Oa8uB,EAAMx+B,GAAA,IACnBm0C,EAAI/gB,EAAIniC,EAAI6D,EAAIyoH,EAAInoF,EAAI1lB,EAAI07B,EAG5B9tC,EAkHApM,EAnHAokC,EAAU,MAITh4B,EAAI,EAAGA,EAFH,IAEaA,EAAG,CACvB62C,EAAK3V,EAAKlJ,GACVlC,EAAKoL,EAAKlJ,EAAU,GACpBrkC,EAAKutC,EAAKlJ,EAAU,GACpBxgC,EAAK0pC,EAAKlJ,EAAU,GACpBioF,EAAK/+E,EAAKlJ,EAAU,GACpBF,EAAKoJ,EAAKlJ,EAAU,GACpB5lB,EAAK8uB,EAAKlJ,EAAU,OAGhB8I,EAAO+V,GAFX/I,EAAK5M,EAAKlJ,EAAU,IAGhBsF,EAAOuZ,EAAK/I,EACZ5zC,EAAO47B,EAAK1jB,EACZ0f,EAAOgE,EAAK1jB,EACZ3a,EAAO9D,EAAKmkC,EACZre,EAAO9lB,EAAKmkC,EACZxyB,EAAO9N,EAAKyoH,EACZM,EAAO/oH,EAAKyoH,EAGZnwD,EAAQhvB,EAAOx7B,EACf0oC,EAAQlN,EAAOx7B,EACfkU,EAAQtf,EAAOzC,EACf0oH,EAAQjmH,EAAOzC,EAEnBypC,EAAKlJ,GAAW83B,EAAQt2C,EACxB0nB,EAAKlJ,EAAU,GAAK83B,EAAQt2C,EAAA,IAExBygB,EAAuB,YAAjBkmF,EAAQnyE,GAClB9M,EAAKlJ,EAAU,GAAKgW,EAAQ/T,EAC5BiH,EAAKlJ,EAAU,GAAKgW,EAAQ/T,EAAA,IAQxBoH,EAAuB,aAL3ByuB,EAAQywD,EAAO9mG,IAEf0mG,EAAQruF,EAAOwL,IAIXkB,EAAK,SAAYsxB,EAAQzuB,EACzBo/E,EAAK,YAAcN,EAAQ9+E,EAC3B6M,EAAa,YAPjB10B,EAAQC,EAAOqY,GASXsuF,EAAM9iF,EAAO4Q,EACbpQ,EAAMR,EAAO4Q,EAEjBhN,EAAKlJ,EAAU,GAAK8F,EAAMU,EAC1B0C,EAAKlJ,EAAU,GAAK8F,EAAMU,EAC1B0C,EAAKlJ,EAAU,GAAKooF,EAAMK,EAC1Bv/E,EAAKlJ,EAAU,GAAKooF,EAAMK,EAE1BzoF,GAAW,MAIbA,EAAU,EACLh4B,EAAI,EAAGA,EA1DH,IA0DaA,EAAG,CACvB62C,EAAK3V,EAAKlJ,GACVlC,EAAKoL,EAAKlJ,EAAU,GACpBrkC,EAAKutC,EAAKlJ,EAAU,IACpBxgC,EAAK0pC,EAAKlJ,EAAU,IACpBioF,EAAK/+E,EAAKlJ,EAAU,IACpBF,EAAKoJ,EAAKlJ,EAAU,IACpB5lB,EAAK8uB,EAAKlJ,EAAU,QAGhBwoF,EAAS3pE,GAFb/I,EAAK5M,EAAKlJ,EAAU,KAGhB8oF,EAASjqE,EAAK/I,EACduyE,EAASvqF,EAAK1jB,EACd67B,EAASnY,EAAK1jB,EACduuG,EAAShtH,EAAKmkC,EACdooF,EAASvsH,EAAKmkC,EACd4oF,EAASlpH,EAAKyoH,EACdjwD,EAASx4D,EAAKyoH,EAGd9xE,EAAUqyE,EAASE,EACnB3yE,EAAUyyE,EAASE,EACnBM,EAAUX,EAASM,EACnBI,EAAUV,EAASM,EAEvBz/E,EAAKlJ,GAAWmW,EAAU6yE,EAC1B9/E,EAAKlJ,EAAU,IAAMmW,EAAU6yE,EAAA,IAE3BjxD,EAA6B,YAArBgxD,EAAUhzE,GACtB7M,EAAKlJ,EAAU,IAAM+V,EAAUgiB,EAC/B7uB,EAAKlJ,EAAU,IAAM+V,EAAUgiB,EAAA,IAQ3BmxD,EAA6B,aALjC/yE,EAAU6hB,EAASkwD,IAEnBa,EAAU9yE,EAAS6yE,IAIfR,EAAO,SAAYnyE,EAAU+yE,EAC7BC,EAAO,YAAcJ,EAAUG,EAC/BE,EAAiB,YAPrBJ,EAAUd,EAASjyE,GASf4yE,EAAQC,EAASM,EACjBhzE,EAAQ0yE,EAASM,EAErBlgF,EAAKlJ,EAAU,IAAMoW,EAAQkyE,EAC7Bp/E,EAAKlJ,EAAU,IAAMoW,EAAQkyE,EAC7Bp/E,EAAKlJ,EAAU,GAAK6oF,EAAQM,EAC5BjgF,EAAKlJ,EAAU,IAAM6oF,EAAQM,EAE7BnpF,GAAA,KAKGh4B,EAAI,EAAGA,EAjHF,KAiHaA,EAErBpM,EAAYstC,EAAKlhC,GAAK0C,EAAM1C,GAC5Bo9B,EAAgBp9B,GACdpM,EAAY,EAAOA,EAAY,GAAO,EAAKA,EAAY,GAAO,SAG3DwpC,CAAA,CA8GH,CAAmB8D,EAAKx+B,GAEnBorC,EAAI,EAAGA,EAHN,KAGiBA,EACzBhN,EAAGkN,EAAOF,IAAM17B,EAAO07B,GAAA,IAErB9tC,EAAO8gC,EAAG,GAAK+V,EACnBA,EAAK/V,EAAG,GAEI,GAAR9gC,EACFwgH,EAAU1qF,EAAK,KAGf0qF,EAAU1qF,EAAKkC,EADfxgC,EAAM,MAAQwI,KAEdwgH,EAAU5sH,EAAQ4D,KAAA,QAGhB8lC,EAAU,GACPA,EAAU,GAAoB,GAAfwD,EAAGxD,IACvBA,IAAA,GAGa,GAAXA,EAAA,OACFkjF,EAAUP,GACHppE,EAAA,QAGL38C,EADA43B,EAAI,EAEDA,GAAKwL,GAAS,SACf7lC,EAAWq6B,EACC,GAATgP,EAAGhP,IAAWA,GAAKwL,KACtBxL,EAAA,IAEArY,EAAWqY,EAAIr6B,EAAA,GACfgiB,GApCI,GAoCa,CACnBvf,EAAMuf,GAAY,MACb,IAAInU,EAAW,EAAGA,GAAYpL,IAAOoL,EACxCk7G,EAAU1oF,GACZre,GAAsB,GAExBjiB,EAAM,MAAQspC,EAAGhP,GACjB0uF,EAAU7sH,GAAM8lB,GAAY,GAAKue,EAASxgC,KAC1CgpH,EAAU5sH,EAAQ4D,IAClBs6B,GAAA,QA5CQ,IA8CNwL,GACFkjF,EAAUP,GAELppE,CAAA,UA8HA8pE,EAAWz/E,GAClBA,EAAU3xC,KAAKia,IAAIja,KAAKk3B,IAAIya,EAAS,GAAI,KAErC1pC,GAAkB0pC,IAAA,SA1qBCA,GAAA,QACnBx+B,EAAM,CACR,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOm0C,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB/gB,EAAImqF,GAAQv9G,EAAIm0C,GAAK3V,EAAK,IAAM,KACpCpL,EAAIvmC,KAAKia,IAAIja,KAAKk3B,IAAIqP,EAAG,GAAI,KAC7BgC,EAAOkW,EAAO6I,IAAM/gB,CAAA,SAElBniC,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEO6D,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB5D,EAAIqsH,GAAQtsH,EAAK6D,GAAK0pC,EAAK,IAAM,KACrCttC,EAAIrE,KAAKia,IAAIja,KAAKk3B,IAAI7yB,EAAG,GAAI,KAC7Bwe,EAAQ47B,EAAOx2C,IAAM5D,CAAA,SAEnBokC,EAAO,CACT,EACA,YACA,YACA,YACA,EACA,WACA,SACA,YAEEoF,EAAI,EACC0D,EAAM,EAAGA,EAAM,EAAGA,IAAA,IACpB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ACflsH,EAAI7tC,KAAKmzB,IAAIwe,EAAE6kH,IACfjlH,EAAI1D,GAAKtF,EAAI,GAAKmoF,EACpBv9G,GAAKorC,GAAKhW,EAAI,GAAKmoF,GAAK/+E,EAAEs3H,GAC1B91J,GAAK1C,GAAKpM,EAAI,GAAKwe,GAAK8uB,EAAEs/P,GAE1B99R,GADAA,GAAKs1B,GAAKpkC,EAAI,GAAKwe,GAAK8uB,EAAEq/P,IACjBzyP,GAAKmyE,EAAMjgH,GAAKoS,EAAM4lB,GAAK5lB,EACpC1P,GAAK,MAAQw+B,EAAEznB,EACf/W,GAAK,MAAQw+B,EAAElJ,EACft1B,GAAK,MAAQw+B,EAAE61F,GAAA,IACTpjI,IAAO+O,GAAK06B,GAAK6iF,EAAKv9G,GAAKo+B,GAAKI,EAAEmvH,GAAM3tJ,GAAK,MAAQw+B,EAAEgN,EAAA,MAE5DxrC,EAAI,EACTw+B,EAAIx+B,EAAI,EAAI,UAGZ,GAAKw+B,GAAA,MACD2V,GAAKA,EAAEq6G,KAAOhwH,EAAI+pF,GAAGn1F,IADVoL,CAAA,KAIjB0oF,GAAK,GACP6C,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFD,GAAK,GACLkG,GAAK,GACLC,GAAK,EACLtE,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJ3N,EAAE,aAAc,iBAChBx/E,EAAK4iQ,WAAa,kBACT,YAET5iQ,EAAK6iQ,WAAa,SAAS7iQ,GAAA,OAClBA,CAAA,EAETA,EAAK8iQ,WAAa,SAAS9iQ,EAAGx+B,EAAGm0C,GAAA,OACxBn0C,EAAEm0C,EAAI,IAEf3V,EAAK+iQ,WAAa,SAAS/iQ,EAAGx+B,EAAGm0C,GAAA,OACxBn0C,EAAEm0C,EAAI,IAEf3V,EAAKgjQ,WAAa,SAAShjQ,EAAGx+B,EAAGm0C,GAAA,OACxBn0C,EAAEm0C,EAAI,IAEf3V,EAAKijQ,WAAa,SAASjjQ,EAAGx+B,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GACA00E,GACAH,GACAC,GACAC,GACAl4B,GACAr5Q,GACAyxS,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIA7C,GACAU,GACAX,GACAtvE,GAz5BAkxE,GAAKhrS,EAAE,KACPirS,GAAKjrS,EAAE,MACPkrS,GAAKlrS,EAAE,KACPmrS,GAAKnrS,EAAE,KACP+qS,GAAK,EACLqB,GAAKnB,GACLtU,GAAKuU,GACLiB,GAAIhB,GACJkB,GAAIrB,GACJrB,GAAK,EACLL,GAAK,EACLO,GAAK,EACLN,GAAK,EACLJ,GAAK,EACLK,GAAK,EACLQ,GAAK,EACLrB,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACL0B,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZF,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEZ,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFU,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFp3H,GAAK,EACLtB,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFoB,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAC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,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,QAIzDhB,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEtDK,GAAI,GACJX,GAAI,GACJF,GAAK,GAkBLmB,GAAK,EACLZ,GAAK,EACLO,GAAK,GAKLW,GAAI,GACNvgD,GAAG,sBAAuByD,GAAI,GAC9BzD,GAAG,sBAAuBiB,GAAI,GAC9BjB,GAAG,uBAAwBqB,GAAI,GAC/BrB,GAAG,uBAAwBM,GAAI,GAC/BN,GAAG,uBAAwBa,GAAI,GAC/Bb,GAAG,2BAA4BvxC,GAAI,GACnCuxC,GAAG,yBAA0BU,GAAI,OAC7Bi+C,GAAK5nI,EAAKqkQ,oBACZ16H,GAAK3pI,EAAKskQ,oBACV76H,GAAKzpI,EAAKukQ,qBACV35H,GAAK5qI,EAAKwkQ,qBACV95H,GAAK1qI,EAAKykQ,qBACV56H,GAAK7pI,EAAK0kQ,yBACVh7H,GAAK1pI,EAAK2kQ,uBACVz5H,GAAK,GACL9gJ,GAAK,GAAM8gJ,GAAK,EAChBJ,IAAM,IACNpC,GAAK,IACL2B,GAAK,EACLH,IAAM,KAAOG,IAAM,EACnBN,GAAK,EACLtB,GAAKnyK,EAAE,KACPu0K,GAAKv0K,EAAE,KACPwzK,GAAKxzK,EAAE,KACPq0K,GAAKr0K,EAAE,KACP2zK,GAAK3zK,EAAEoyK,GAAKoC,IACZ3B,GAAK7yK,EAAEoyK,GAAKoC,IACdr+C,GAAG,cAAeC,GAAI,GACtBD,GAAG,cAAevC,GAAI,GACtBuC,GAAG,eAAgBnC,GAAI,GACvBmC,GAAG,eAAgBlD,GAAI,GACvBkD,GAAG,eAAgB3C,GAAI,GACvB2C,GAAG,mBAAoB/0C,GAAI,GAC3B+0C,GAAG,iBAAkB9C,GAAI,OACrBqgD,GAAK,CACL,EACA,EACA,EACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFgB,GAAK,CAAC,EAAG,EAAG,GACZI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACvCE,GAAK,OACFs5H,eAAiB,SAAS5kQ,EAAG2V,EAAG/gB,EAAGniC,EAAG6D,GAAA,IACrCyoH,EAAI6gL,GACJhpQ,EAAI,IAAI+wF,GACVz2G,EAAI,IAAIyyG,GACV/sF,EAAEo0H,GAAK95I,EACPA,EAAE+tG,EAAIF,EACN7tG,EAAEyJ,MAAQ,CAACzJ,EAAEyJ,OACbzJ,EAAE4J,OAAS,CAAC5J,EAAE4J,QAAA,IACV8xB,EAAI17B,EAAEyJ,MACN7b,EAAIoS,EAAE4J,OACRpoB,EAAI,IAAIkxH,GAAA,GACN,MAAQlxH,GAAK,MAAQstC,EAAG,IAAIlJ,EAAI,OAElCt1B,EAAE,MAAQ9O,GACPokC,EAAIm2F,GAAGjtF,EAAG2V,EAAG/gB,EAAGliC,EAAEioB,MAAOjoB,EAAEooB,OAAQpoB,EAAEumK,GAAIvmK,EAAEwmK,GAAIxmK,EAAEwR,OAAQ,YACzD4yB,EACA8V,EAAI,GACJ,MAAQA,IAAMA,EAAE,GAAKl6C,EAAEioB,MAAM,IAC9B,MAAQ7b,IAAMA,EAAE,GAAKpM,EAAEooB,OAAO,IAC7B8xB,EAAI,GACLA,EAAG,CACL17B,EAAEyJ,MAAQzJ,EAAEyJ,MAAM,GAClBzJ,EAAE4J,OAAS5J,EAAE4J,OAAO,SACZroB,IAAMA,EAAE,GAAKye,EAAEyJ,OAAA,MACfrkB,IAAMA,EAAE,GAAK4a,EAAE4J,QACvBklB,EAAG,IACDvtC,EAAI,IAAI40H,IACR/wH,EAAI,IAAIsxH,IACN/9H,KAAOm2C,EACT1pC,EAAE8N,EAAIuxC,EACNr/C,EAAE2oI,GAAKrqG,EACPt+B,EAAE85J,GAAK,EACPz6G,EAAI,CAAC,GACLn0C,EAAE,MAAQlL,IAET,IADD0pC,EAAIitF,GAAG32H,EAAEzM,KAAMyM,EAAE8N,EAAG9N,EAAE2oI,GAAI,KAAM,KAAM,KAAMtpF,EAAG,KAAMr/C,KAC1C,GAAK0pC,IAAM2V,EAAE,KAAO3V,EAAI,GAE/B,IADJ2V,EAAI3V,GACQ,IACVx+B,EAAE,MAAQo1B,GACVnkC,EAAE5I,KAAOyM,EAAEzM,KACX4I,EAAE2R,EAAI9N,EAAE8N,EAAI9N,EAAEmvB,OACdhzB,EAAEwsI,GAAK3oI,EAAE2oI,GAAK3oI,EAAEmvB,OAChBhzB,EAAE2uS,IAAMp9K,GACRvxH,EAAEi6J,GAAKxoC,GACPzxH,EAAE4yE,GAAKy+C,GACPrxH,EAAEsuJ,GAAKnqH,EACHtgC,EAAEgrJ,GAAI,IAEJ,OADJthH,EAAI0kF,MACW,CACb9tF,EAAI,QACEoJ,CAAA,aA3mHNA,EAAG2V,GAAA,IACT/gB,EAAI,CAAC,GACPniC,EAAI,CAAC,GACL6D,EAAI,CAAC,GACPkL,EAAG,OAAS,IACN,MAAQw+B,EAAG,OAAO,KAClB,MAAQ2V,EAAG,OAAQ3V,EAAE1pC,EAAI,EAAI,KACjC0pC,EAAEttC,EAAIijD,EACN3V,EAAE1pC,EAAI,EACNs6B,EAAGoP,EAAEhnC,EAAG28C,EAAE9rD,KAAM8rD,EAAEvxC,EAAGuxC,EAAEspF,KAClB36B,GAAGtkE,EAAEhnC,EAAG47B,EAAGniC,EAAG6D,GAAI,CACrB0pC,EAAE1pC,EAAI,QACAkL,CAAA,IAERw+B,EAAEylH,GAAK6iB,GACP3yH,EAAEh7B,MAAQia,EAAE,GACZ+gB,EAAE76B,OAASroB,EAAE,IACRkyH,GAAG/vF,EAAE,GAAIniC,EAAE,GAAI,EAAGutC,EAAG,MAAO,MAAMx+B,EAAA,OAChC,SAETA,EAAE,GAAKw+B,EAAE1pC,GACF,EAslHS,CAED0pC,EAAGvtC,GAAI,IAEPA,EAAI,IADTkjD,EAAIi3E,GAAGn6H,EAAEkoB,MAAOloB,EAAEqoB,OAAQ8b,EAAE4rH,GAAI5rH,EAAEo0H,KAChB,CAChBxpJ,EAAG,CACD/O,EAAIutC,EACJ2V,EAAG,OAAS,IACN,MAAQljD,EAAG,CACbA,EAAI,QACE+O,CAAA,IAERA,EAAE,MAAQ/O,EAAEmkC,EAAEk9H,IACdtyJ,EAAE,MAAQ/O,EAAEmkC,EAAEysH,IACd7hJ,EAAE,EAAI/O,EAAEmkC,EAAEy1H,IAEV7qJ,EAAE,OADFozB,EAAIniC,EAAEC,IAGN8O,EAAE,OADFlL,EAAIs+B,EAAEmsH,KAEF,GAAKtuJ,EAAEgzJ,GAAI,IACbhzJ,EAAE6rI,GAAKhoI,EAAE00J,GACTv4J,EAAE2yJ,GAAK9uJ,EAAE8uJ,GACT5jJ,EAAE,MAAQ/O,EAAE6rI,KACPzU,GAAGvzH,EAAEksJ,GAAI5tH,EAAGirQ,IAAK,CACpBptS,EAAE6D,EAAI,QACAq/C,CAAA,KAEHowE,GAAGtzH,EAAGmiC,EAAEja,OAAQ,MAAMg7B,EAAA,GACvB/gB,EAAE2pG,GAAI,MAAM5oF,EAAA,IACf/gB,EAAE2pG,IAAM7a,GAAGjxH,EAAE6rI,GAAGrf,KAAO8J,KAAA,GACnBt2H,EAAE6rI,GAAGrf,IACPimH,MAAM,iCACP,MAAQzyO,EAAE6rI,GAAGxnG,EAAEo1H,GAAGl/G,GAAK+7E,MAEvBt2H,EAAE+3J,IACF,EAAI/3J,EAAEmkC,EAAE4nG,IACR,MAAQ/rI,EAAEmkC,EAAE2uH,GAAGrlC,IACdZ,EAAG7sH,EAAEmkC,EAAE2uH,GAAI9yJ,EAAEmkC,EAAEosH,GAAGC,IACnB,CACAxwJ,EAAE6D,EAAI,QACAq/C,CAAA,CAERljD,EAAEgzJ,GAAK,MAEJ7tE,GAAGnlF,EAAGA,EAAEo8D,EAAGp8D,EAAE83J,GAAI93J,EAAEye,EAAGze,EAAEA,EAAGmiC,EAAEmqF,EAAG8G,IAAK,MAAMlwE,EAChDr/C,EAAE+3J,GAAK57J,EAAE6vJ,GACT7vJ,EAAI,QACE+O,CAAA,CAERA,EAAE,GAAK/O,EAAE6D,GACT7D,EAAI,EAENA,GAAKA,CAAA,CAEPA,IAAMkjD,EAAI3V,EAAE1pC,EAAA,MACPq/C,EAAI3V,EAAE1pC,CAAA,KACR,IAED,OADJ0pC,EAAI,IAAIklF,IACO,CACbtuF,EAAI,QACEoJ,CAAA,IAERA,EAAE6hH,GAAKvrJ,EAAEqhI,GACT33F,EAAEG,EAAI7pC,EAAE6pC,EACRH,EAAE0tH,GAAKp3J,EAAEssJ,GACL18B,GAAGlmF,EAAGvtC,IAAA,GACsC,IAAxCkjD,EAAIi3E,GAAGn6H,EAAEkoB,MAAOloB,EAAEqoB,OAAQ8b,EAAE4rH,GAAI5rH,EAAEo0H,KAAe,IACrDhrH,EAAEsqH,GAAK,EACP11H,EAAIgC,EAAE4rH,GAENhhJ,EAAE,OADFlL,EAAI0pC,IAEA,MAAQpL,EAAG,IAGT,GADJgY,EAAI,GADJA,EAAIhY,EAAEmjI,IACM,EAAI,IAAMnrH,EAAI,IAAO,IAAMA,EAAK,KACjC,KACJ9tC,EAAIpM,EAAI,EAAG,EAAIoM,IAAKA,EAErB,IADDg4B,EAAIxgC,EAAEyuJ,GAAGjmJ,IACDsuJ,KACJt2H,EAAEomG,GAAMtwF,EAAIw+H,GAAG,EAAIt0I,EAAEs2H,GAAK,EAAIt2H,EAAEs2H,KAAQ,GAC1C16J,GAAKokC,EAAEomG,GACZxqI,IAAMwyO,MAAM,sBAAwB5uO,EAAE4mI,GAAK,GAE7C5mI,EAAEyrJ,GAAKntH,EAAE+iI,GAAA,IACHrhK,EAAEyrJ,GAAMzrJ,EAAEyrJ,GAAK,IAAO,EAAIzrJ,EAAEyrJ,KAAOzrJ,EAAEyrJ,GAAK,GAElD57B,GAAGnmF,EAAGvtC,KAAOkjD,EAAI3V,EAAE1pC,EAAA,OAEhBq/C,EAAI3V,EAAE1pC,CAAA,IAEVq/C,GAAK,MAAQ/e,EAAE4rH,IAAM5rH,EAAE4rH,GAAGwN,KAAOr6G,EAAIo0E,GAAGnzF,EAAEo0H,IAAA,CAEjDp0H,EAAI+e,CAAA,CAENopE,EAAI,GAAKnoF,EAAI,KAAO,GAAKmoF,EAAI7tG,EAAE4lB,EAAEyoQ,KAAKp7I,GAAKjzI,EAAE4lB,EAAEo1H,GAAG3zI,CAAA,MAC7CwmG,EAAI,YACJA,CAAA,MAEL6qD,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,aAuBvCh9H,EAAO5M,EAAMx+B,GAAA,QAChBm0C,EAAM,GACD/gB,EAAI,EAAGA,EAAI,EAAGA,IAAK+gB,GAAOn+C,OAAOuqC,aAAa/B,EAAKx+B,MAAA,OACrDm0C,CAAA,UAOA72C,EAAQkhC,EAAMx+B,GAAA,OAEjBw+B,EAAKx+B,EAAW,IAAM,EACrBw+B,EAAKx+B,EAAW,IAAM,EACtBw+B,EAAKx+B,EAAW,IAAM,MACzB,WAIK9O,EAAQstC,EAAMx+B,GAAA,OAEjBw+B,EAAKx+B,EAAW,IAAM,EACrBw+B,EAAKx+B,EAAW,IAAM,EACtBw+B,EAAKx+B,EAAW,IAAM,GACtBw+B,EAAKx+B,EAAW,IAAM,MACzB,MA9CA0P,EAAA,IAgJA4lB,EAAS,CAAC,GACVoF,EAAQ,CAAC,GACT0D,EAAS,GACTxD,EAAc,IAAIlrB,EAElBlY,EAAWgnC,EACXpP,EAAA,SApGoBoP,EAAKx+B,GAAA,IACvBm0C,EAAa,CAAC,EACd/gB,EAAI,EACJniC,GAAA,EACA6D,EAAa,EACbyoH,EAAe,KACnBppE,EAAU+mP,OAAa,aAzCT18P,EAAMx+B,EAAUm0C,EAAK/gB,GAAA,IAC9B,IAAIniC,EAAI,EAAGA,EAyCiB,EAzCPA,IAAA,GACpButC,EAAKx+B,EAAW/O,IAwCG,OAxCOkE,WAAWlE,GAAI,OAAO,UAC/C,EAuCIutC,EAAKx+B,GAAqB,CAAJ,IA9BlBo1B,EAAM1lB,EA+BV,IACKxe,EAAQstC,EADxBx+B,GAAW,GAEXA,GAAW,EAEJA,EAAUw+B,EAAIptC,QAAQ,KACvBkkC,EAAS8V,EAAO5M,EAAKx+B,GAGrB06B,EAAexpC,EAAQstC,EAF3Bx+B,GAAW,GAGXA,GAAW,MACPo+B,EAAsB1D,GAA+B,EAAfA,GAAA,OAElCpF,GAAA,IACD,WACA,gBACQ6e,EAAU+mP,OAAW9nQ,KAC9B+gB,EAAU+mP,OAAW9nQ,GAAK,CAAC,IACzBhE,EAAM+kB,EAAU+mP,OAAW9nQ,IAG5BiwQ,QAAcpyS,EAAcssH,EAAev9G,EAAU,EACxDovB,EAAGk0Q,SAAexuS,EAAa4lC,EAAe,EAG9CtH,IACIniC,IACFA,GAAA,EACA6D,EAAa,EACbyoH,EAAe,aAGd,QACCnuF,EAAO+kB,EAAUnzC,OAAa,CAAC,GACXuiS,cAAoB/kQ,EAAIx+B,GAAA,IAC5C46B,EAAW56B,EAAU,EACLovB,EAAGo0Q,aAAmB,EAAIlmS,EAAQkhC,EAAK5D,GAC3DA,GAAY,EACSxL,EAAGq0Q,cACtB,EAAInmS,EAAQkhC,EAAK5D,GACnBA,GAAY,YAET,OACH3pC,GAAA,EACA6D,EAAaspC,EAAsB,EACnCm/E,EAAev9G,EAAU,YAGtB,QACCovB,EAAM+kB,EAAUnzC,QACF0iS,QAAcxyS,EAAQstC,EAAKx+B,GAC7C46B,EAAW56B,EAAU,EAEHovB,EAAGu0Q,YAnFZvuQ,EAmFqCoJ,IAnF/B9uB,EAmFoCkrB,GAlFjC,IAAM,EAAMxF,EAAK1lB,EAAW,IAAM,EAmFpDkrB,GAAY,YAET,WAQDpjC,EACE43B,GAAAA,EAAO+kB,EAAU+mP,OAAW9nQ,GAAK,CAAC,GACnCwwQ,SAA0B,EAAItmS,EAAQkhC,EAAKx+B,GAC9CA,GAAW,EACXovB,EAAGy0Q,SAA0B,EAAIvmS,EAAQkhC,EAAKx+B,GAC9CA,GAAW,EACXovB,EAAGjW,MAAoB,EAAI7b,EAAQkhC,EAAKx+B,GACxCA,GAAW,EACXovB,EAAG9V,OAAsB,EAAIhc,EAAQkhC,EAAKx+B,GAC1CA,GAAW,EACXovB,EAAG+5B,SAA0B7rD,EAAQkhC,EAAKx+B,GAC1CA,GAAW,EACXxI,EAAOgnC,EAAIx+B,KACXovB,EAAG00Q,QAA+B,EAAPtsS,EAC3B43B,EAAG20Q,MAAqBvsS,GAAQ,EAAK,EAI3B,QAAV89B,IAAkBt1B,GAAWo+B,EAAA,QAE5B+V,CAAA,EASL,CAA4B38C,EAAU,GAC1C43B,EAAUhnC,SAAeoP,EACzB43B,EAAU40Q,YAAA,EACV50Q,EAAU60Q,SAAA,EAAc,IAEpBlvS,EAASq6B,EAAUpuB,OAAaouB,EAAUpuB,OAAa,KACvD+V,EAASqY,EAAU8rQ,OAAa9rQ,EAAU8rQ,OAAa,QAEvDnmS,EAAQ,CACVA,EAAMmvS,aAAmBnvS,EAAM4uS,WAC/BruQ,EAAS,CAACvgC,EAAM0uS,eAChB/oQ,EAAQ,CAAC3lC,EAAMyuS,cAAA,IAGV,IAAI5gS,EAAI,EAAGA,EAAImU,EAAO3lB,QACC,GAAtB2lB,EAAOnU,GAAPmhS,MAD6BnhS,KAAA,KAOjCi7G,EAAQ9mG,EAAO,GACfq2C,EAAOxyB,EAAYwoQ,eACrB5rS,EACAqmH,EAAKwlL,QACLxlL,EAAKylL,SACL5oQ,EACApF,GAEFuoF,EAAKpoE,KAAW2X,EAChBywD,EAAKsmL,SAAezpQ,EAAM,GAC1BmjF,EAAKumL,UAAgB9uQ,EAAO,OAEvB,IAAIgW,EAAI,EAAGA,EAAI5Q,EAAM,GAAKpF,EAAO,GAAK,EAAGgW,IAC5ClN,EAAOkN,GAAK8hB,EAAK9hB,GAAA,YAGdnyB,MAAQuhB,EAAA,KACRphB,OAASgc,EAAA,KACTjtC,KAAO+1C,EACL3pC,IAAA,ECjyKT,SAAU+pC,GAAA,IAgDJpL,EAAgB,SAAS+gB,EAAO/gB,EAAYt+B,EAAgBwI,GAAA,IAC1DpM,EAAQ,EACRokC,EAAgBF,EAAA,OAEZ93B,GAAA,KACDkhC,EAAS0xP,kBAAkBE,KAC9Bl/R,EAAQ,EACRokC,EAAgBioF,EAAA,WAGb/+E,EAAS0xP,kBAAkBG,OAC9Bn/R,EAAQ,EACRokC,EAAgB5lB,EAAA,WAGb8uB,EAAS0xP,kBAAkBI,KAC9Bp/R,EAAQ,EACRokC,EAAgB8V,EAQlB,IAEE1Q,EAAM16B,GANVm0C,EAAQljD,EACNkjD,EACA/gB,EACAt+B,EACAwgC,GAEwB,CAAEs2O,MAAO16Q,IAAA,OAC5BstC,EAASgvP,aAAa0D,0BAA0Bx2P,EAAA,EAGrDzpC,EAAuB,SACzButC,EACAx+B,EACAm0C,EACA/gB,GAAA,QAKEniC,EACA6D,EACAyoH,EALEnoF,EAAQoJ,EAAMptC,OAAS4O,EACzB0P,EAAS,IAAIpd,WAAWksC,EAAMptC,OAASgkC,GACvCgW,EAAiBl6C,IAKVoM,EAAI,EAAGA,EAAI83B,EAAO93B,GAAK,EAAG,IACjCigH,EAASjgH,EAAI0C,EACb/O,EAAOutC,EAAM+rH,SAAShtC,EAAQA,EAASv9G,GAEnCozB,EACF1jB,EAAOzY,IAAIm8B,EAAcniC,EAAMkjD,EAAgBr/C,GAAWyoH,EAASjgH,OAC9D,SAIIo9B,EAHL0D,EAAMgN,EAAeh6C,OACvBwpC,EAAU,GAEAF,EAAI0D,EAAK1D,GAAK,EACxBE,EAAQF,GAAK0Q,EAAe1Q,GAAGzpC,EAAMkjD,EAAgBr/C,GAAA,IAGnD0C,EAAM89B,EAAsBsF,EAAQhyC,UAExC8mB,EAAOzY,IAAI2jC,EAAQpjC,GAAM+lH,EAASjgH,EAAA,CAGpCxI,EAAW7D,CAAA,QAGNye,CAAA,EAGL5a,EAAa,SAAS0pC,GAAA,IAKpBx+B,EAASlQ,MAAMjI,MAAM,GAAI22C,GAAA,OAC7Bx+B,EAAO0O,QAAQ,GAER1O,CAAA,EAGLu9G,EAAY,SAAS/+E,EAAMx+B,GAAA,IAG3Bm0C,EAFE/gB,EAAS,GACXniC,EAAMutC,EAAKptC,OAGbgiC,EAAO,GAAK,MAEP,IAAIt+B,EAAI,EAAGA,EAAI7D,EAAK6D,GAAK,EAC5Bq/C,EAAO3V,EAAK1pC,EAAIkL,IAAmB,EACnCozB,EAAOt+B,EAAI,GAAM0pC,EAAK1pC,GAAKq/C,EAAO,IAAU,WAGvC/gB,CAAA,EAGLgC,EAAW,SAASoJ,EAAMx+B,EAAgBm0C,GAAA,IAG1C/gB,EAFEniC,EAAS,GACX6D,EAAM0pC,EAAKptC,OAGbH,EAAO,GAAK,MAEP,IAAIssH,EAAI,EAAGA,EAAIzoH,EAAKyoH,GAAK,EAC5BnqF,EAAM+gB,GAAYA,EAASopE,IAAO,EAClCtsH,EAAOssH,EAAI,GAAM/+E,EAAK++E,GAAKnqF,EAAK,IAAU,WAGrCniC,CAAA,EAGLye,EAAgB,SAAS8uB,EAAMx+B,EAAgBm0C,GAAA,IAG/C/gB,EACAniC,EAHE6D,EAAS,GACXyoH,EAAM/+E,EAAKptC,OAIb0D,EAAO,GAAK,MAEP,IAAIsgC,EAAI,EAAGA,EAAImoF,EAAKnoF,GAAK,EAC5BhC,EAAOoL,EAAKpJ,EAAIp1B,IAAmB,EACnC/O,EAAMkjD,GAAYA,EAAS/e,IAAO,EAClCtgC,EAAOsgC,EAAI,GAAMoJ,EAAKpJ,GAAK,KAAWhC,EAAOniC,IAAQ,GAAM,WAGtD6D,CAAA,EAGLs2C,EAAc,SAAS5M,EAAMx+B,EAAgBm0C,GAAA,IAG7C/gB,EACAniC,EACA6D,EACAyoH,EALEnoF,EAAS,GACX1lB,EAAM8uB,EAAKptC,OAMbgkC,EAAO,GAAK,MAEP,IAAIgW,EAAI,EAAGA,EAAI17B,EAAK07B,GAAK,EAC5BhY,EAAOoL,EAAK4M,EAAIprC,IAAmB,EACnC/O,EAAMkjD,GAAYA,EAAS/I,IAAO,EAClCt2C,EAAUq/C,GAAYA,EAAS/I,EAAIprC,IAAoB,EACvDu9G,EAAQjgH,EAAe81B,EAAMniC,EAAI6D,GACjCsgC,EAAOgW,EAAI,GAAM5M,EAAK4M,GAAKmyE,EAAQ,IAAU,WAGxCnoF,CAAA,EAGL93B,EAAiB,SAASkhC,EAAMx+B,EAAIm0C,GAAA,GAClC3V,IAASx+B,GAAMA,IAAOm0C,EAAA,OACjB3V,EAAA,IAELpL,EAAQvmC,KAAKmzB,IAAIhgB,EAAKm0C,GACxBljD,EAAMpE,KAAKmzB,IAAIwe,EAAO2V,GACtBr/C,EAAUjI,KAAKmzB,IAAIwe,EAAOx+B,EAAKm0C,EAASA,GAAA,OACnC/gB,GAASniC,GAAOmiC,GAASt+B,EAC5B0pC,EACAvtC,GAAO6D,EACPkL,EACAm0C,CAAA,EAGFjjD,EAAmB,iBACd,CAAC4D,EAAYyoH,EAAWnoF,EAAU1lB,EAAe07B,EAAA,EAGtD9V,EAAwB,SAASkJ,GAAA,IAC/Bx+B,EAAMw+B,EAAOnkC,KAAI,SAASmkC,GAAA,OACrBA,EAAMhhB,QAAO,SAASghB,EAAIx+B,GAAA,OACxBw+B,EAAK3xC,KAAKmzB,IAAIhgB,EAAA,GACpB,aAEEA,EAAI9J,QAAQrJ,KAAKia,IAAIjf,MAAM,KAAMmY,GAAA,EA8B1Cw+B,EAAS6lQ,WAAa,SAASrkS,EAAW/O,EAAO6D,EAAOyoH,GAAA,IAGlDnoF,EAEF1lB,EACA07B,EAEA9tC,EACApM,EACAokC,EACAoF,EACA0D,EACAxD,EACApjC,EACA43B,EACAr6B,EACAgiB,EACAnU,EACAi7G,EAfAzwD,EAAS34D,KAAKo3D,OAAO6jO,aAGrBpkP,EAAmB,MAcjB72C,KAAK+4R,aAAax9R,cAAcgQ,KAClCA,EAAY,IAAI1N,WAAW0N,IAEzBvL,KAAK+4R,aAAax5R,kBAAkBgM,GAAY,IAElDA,GADAorC,EAAQ,IAAIs5E,GAAI1kH,IACE06R,QAClBhrR,EAAmB07B,EAAM06N,KACzB1wO,EAAagW,EAAM+iP,WACnBj9R,EAASk6C,EAAMi5L,QAS0B,IAArC,CAAC,EAAG,GAAGnuO,QAAQk1C,EAAMwvP,WAAmB,IAIvB,IAAfxvP,EAAM06N,KAAY,CAOpBlrO,GANAwD,EAC0B,IAAxBgN,EAAMuwP,eACF,IAAIx5P,YAAYiJ,EAAMwwP,eAAeznS,QACb,IAAxBi3C,EAAMuwP,eACN,IAAI15P,YAAYmJ,EAAMwwP,eAAeznS,QACrC,IAAI7B,WAAW84C,EAAMwwP,eAAeznS,SAC7B/C,OACbg+B,EAAU,IAAI98B,WAAWsoC,EAAMwQ,EAAMi5L,QACrC7sO,EAAY,IAAIlF,WAAWsoC,GAAA,IAIvB9jB,EAHA2mG,EAAQryE,EAAMuwP,eAAiBvwP,EAAM06N,KAAA,IACzCljQ,EAAI,EACJi7G,EAAI,EAGGj7G,EAAIg4B,EAAKh4B,IAAK,KACnBmU,EAAQqnB,EAAOx7B,GACfkU,EAAM,EAECA,EAAM2mG,GACXruF,EAAQyuF,KAAQ9mG,IAAUD,EAAO,IACjCA,GAAYs0B,EAAM06N,KAGpBtuQ,EAAUoL,GAAMmU,IAAUD,EAAO,QAOlB,KAAfs0B,EAAM06N,KAAa,CAErBlrO,GADAwD,EAAS,IAAI+D,YAAYiJ,EAAMwwP,eAAeznS,SACjC/C,OACbg+B,EAAU,IAAI98B,WACZsoC,GAAO,GAAKwQ,EAAMuwP,gBAAkBvwP,EAAMi5L,QAE5C7sO,EAAY,IAAIlF,WAAWsoC,GAAO,GAAKwQ,EAAMuwP,iBAC7C5mS,EAAYq2C,EAAMi5L,OAAS,EAC3BzhO,EAAI,EACJi7G,EAAI,UACAtmF,EAAI,EAED30B,EAAIg4B,GACT7jB,EAAQqnB,EAAOx7B,KAEfwsB,EAAQyuF,KAAQ9mG,IAAU,EAAK,IAE3BhiB,IACFq6B,EAAQyuF,KAAQ9mG,IAAU,GAAM,IAEhCA,EAAQqnB,EAAOx7B,KACfwsB,EAAQyuF,KAAQ9mG,IAAU,EAAK,KAGjCvf,EAAU+/B,KAAQxgB,IAAU,GAAM,IAEpCrH,EAAmB,EAGL6tG,IAtTH/+E,EAAS0xP,kBAAkBC,MAuTtCnwR,EAAYozB,EACVhE,EACAgc,EAAMjyB,MAAQiyB,EAAMi5L,OACpBj5L,EAAMi5L,OACN9mH,GAEF7iF,EAAQtH,EAAc57B,EAAW4zC,EAAMjyB,MAAO,EAAGokG,KAEjDv9G,EAAYovB,EACZsL,EAAQljC,EACR41D,OAAA,EAAS,IAOW,IAApBhiB,EAAMwvP,YACRxlQ,EAAa3gC,KAAKs6R,aAAaX,QAC/B94P,EAAM8V,EAAMijP,QAERjjP,EAAMsjP,aAAa8M,SAAS,KAC1B78P,EAAQyM,EAAMsjP,aAAa8M,QAC3B1/P,EAAQ,MACZl5B,EAAI,EACJg4B,EAAM+D,EAAMvtC,OAELwR,EAAIg4B,IAAOh4B,EAChBk5B,GAAS6C,EAAM/7B,GAAA,IAGjBk5B,GAAgB,OAMFlB,EAAM,IAA2B,IAAtB+D,EAAMzoC,QAAQ,GACrCoH,EAAO,CAACqhC,EAAMzoC,QAAQ,SAMjB,GAAI4lC,IAAUlB,EAAK,KACxBwD,EAASgN,EAAMwwP,eACfpkS,EAAY,IAAIlF,WAAW8rC,EAAOhtC,QAClCwR,EAAI,EACJg4B,EAAMwD,EAAOhtC,OAENwR,EAAIg4B,EAAKh4B,IACdpL,EAAUoL,GAAK+7B,EAAMP,EAAOx7B,IAG9B83B,EAAQtH,EAAc57B,EAAW4zC,EAAMjyB,MAAO,QAKhD4kG,EA7L0B,SAAS/9G,GAAA,IACrCm0C,EAAA,OACIn0C,GAAA,KACDw+B,EAAS0xP,kBAAkBE,KAC9Bj8O,EAAY,cAGT3V,EAAS0xP,kBAAkBG,OAC9Bl8O,EAAY,cAGT3V,EAAS0xP,kBAAkBI,KAC9Bn8O,EAAY,iBAIZA,EAAY,UAGTA,CAAA,CAnByB,CA6LcopE,GAAA,OAExCnwD,IAAW34D,KAAKo3D,OAAO6jO,eACzBpkP,EAAmB,cAAgByyE,EAAY,KAEjDzyE,GACE,WACAp6C,EACA,sBACAwe,EACA,aACA07B,EAAMjyB,OAGN1kB,KAAK+4R,aAAax9R,cAAcgQ,IAChCvL,KAAK+4R,aAAax5R,kBAAkBgM,MAEpCA,EAAYvL,KAAK+4R,aAAa0D,0BAA0BlxR,KAIvD06B,GAASjmC,KAAK+4R,aAAax9R,cAAc0qC,IAC1CjmC,KAAK+4R,aAAax5R,kBAAkB0mC,MAEpCA,EAAQjmC,KAAK+4R,aAAa0D,0BAA0Bx2P,IAG/C,CACLo0P,MAAOh6R,EACPzM,KAAM2X,EACNvE,MAAOxK,EACPyE,OAAQ03D,EACRqhO,iBAAkBnjP,EAClBojP,aAAcpxR,EACd+wR,QAAS/4P,EACTg5P,MAAO5zP,EACPi0P,UAAW5wK,EACX5kG,MAAOiyB,EAAMjyB,MACbG,OAAQ8xB,EAAM9xB,OACdk1Q,iBAAkB9+Q,EAClBy+Q,WAAY/4P,EAAA,GApcpB,CAwcGmW,GAAM6yO,KCzdT,SAAU5/O,GAGRA,EAAS8lQ,cAAgB,SAAStkS,EAAWm0C,EAAO/gB,EAAOniC,GAAA,IACrD6D,EAAS,IAAIkxH,GAAUhmH,GACvBu9G,EAAQzoH,EAAOqkB,MACjBic,EAAStgC,EAAOwkB,OAEd5J,EAAS,GAEb5a,EAAOooS,uBAAuB,EAAGxtR,GAAA,IAC7B07B,EAAe,CACjB/iD,KAAMqnB,EACNyJ,MAAOokG,EACPjkG,OAAQ8b,GAIN93B,EADU,IAAIqnH,GAVT,KAWU9oH,OAAOuvC,EAXjB,YAYF5M,EAASg8P,YAAYhrS,KAAKiF,KAAM6I,EAAM62C,EAAO/gB,EAAOniC,EAAA,EAG7DutC,EAAS+lQ,cAAgB/lQ,EAAS8lQ,aAAA,CAtBpC,CAuBG/4P,GAAM6yO,KHjBTz/J,GAAWzvH,UAAUquS,YAAc,mBAC5BiH,SAAW/vS,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KAC1CA,KAAO,OACPg+B,SAAWjwS,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KAC1CA,KAAO,OACPziP,OAASxvB,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KACxCA,KAAO,OACPi+B,WAAalwS,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KAC5CA,KAAO,OACPvtP,MAAQ1kB,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KACvCA,KAAO,OACPptP,OAAS7kB,KAAK0oS,MAAMyH,SAASnwS,KAAKiyQ,KAAA,GAAK,KACvCA,KAAO,OACPm+B,OAASpwS,KAAK0oS,MAAM2H,UAAUrwS,KAAKiyQ,KAAA,GAAK,KACxCA,KAAO,OACPq+B,MAAQtwS,KAAK0oS,MAAM2H,UAAUrwS,KAAKiyQ,KAAA,GAAK,KACvCA,KAAO,OACP0P,SAAW3hR,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KAC1CA,KAAO,OACPs+B,QAAUvwS,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KACzCA,KAAO,OACPp/I,GAAK7yH,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KACpCA,KAAO,OACPj/I,GAAKhzH,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KACpCA,KAAO,OACPriC,OAAS5vO,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KACxCA,KAAO,OACPu+B,gBAAkBxwS,KAAK0oS,MAAMsH,UAAUhwS,KAAKiyQ,KAAA,GAAK,KACjDA,KAAO,EAEO,KAAfjyQ,KAAKswS,OAAgBtwS,KAAK2oS,gBAAA,KACvB2H,MAAQ,IAEXtwS,KAAKswS,MAAQ,GAAI,KACfvmQ,EAAsB,IAAhB/pC,KAAK4vO,OAAe,GAAK5vO,KAAKswS,MAAQtwS,KAAK4vO,OAAA,KAChDgqD,QAAU,IAAIv+R,MAAM0uC,GAAA,IACpB,IAAIx+B,EAAI,EAAGA,EAAIw+B,EAAKx+B,IAAK,KACxBm0C,EAAO1/C,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAChCtzO,EAAQ3+B,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GACjCz1Q,EAAMwD,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAC/B5xQ,EAAOL,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAAO,KACtC2nB,QAAQruR,GAAK,CAChB60C,IAAK5jD,EACL2jD,MAAOxhB,EACPuhB,KAAMR,EACNgxP,KAAMrwS,EAAA,EAIRL,KAAK6kB,OAAS,SACXA,SAAW,OACX+jR,WAAA,EAAY,EAIrB1+K,GAAWzvH,UAAUsuS,SAAW,gBACzB92B,IAAMjyQ,KAAKwvB,OAAA,QAEVua,EAAO,MAAQ/pC,KAAKswS,MACpB/kS,EAAMvL,KAAK0kB,MAAQ1kB,KAAK6kB,OAAS,OAChCjxB,KAAO,IAAIiK,WAAW0N,GAAA,KAEtBw+B,IAAA,CACL,MAAOA,GACP1pC,GAAQzK,IAAI,oBAAsBm0C,EAAA,GAItCmgF,GAAWzvH,UAAUk2S,KAAO,eAGtB5mQ,EAFAx+B,EAAOnT,KAAK41C,KAAKhuC,KAAK0kB,MAAQ,GAC9Bg7B,EAAOn0C,EAAO,MAEbw+B,EAAI/pC,KAAK6kB,OAAS,EAAGklB,GAAK,EAAGA,IAAK,SACjCpL,EAAO3+B,KAAK4oS,UAAY7+P,EAAI/pC,KAAK6kB,OAAS,EAAIklB,EACzCvtC,EAAI,EAAGA,EAAI+O,EAAM/O,IAAA,QACpB6D,EAAIL,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAC7BnpJ,EAAWnqF,EAAO3+B,KAAK0kB,MAAQ,EAAQ,EAAJloB,EAAQ,EACtCmkC,EAAI,EAAGA,EAAI,GACV,EAAJnkC,EAAQmkC,EAAI3gC,KAAK0kB,MADAic,IAAK,KAEpB1lB,EAAMjb,KAAK45R,QAASv5R,GAAM,EAAIsgC,EAAM,QACnC/sC,KAAKk1H,EAAe,EAAJnoF,GAAS1lB,EAAIilC,KAAA,KAC7BtsD,KAAKk1H,EAAe,EAAJnoF,EAAQ,GAAK1lB,EAAIklC,MAAA,KACjCvsD,KAAKk1H,EAAe,EAAJnoF,EAAQ,GAAK1lB,EAAImlC,IAAA,KACjCxsD,KAAKk1H,EAAe,EAAJnoF,EAAQ,GAAK,IAO3B,IAAT+e,IAAA,KACGuyN,KAAO,EAAIvyN,EAAA,GAKtBwqE,GAAWzvH,UAAUm2S,KAAO,mBACtB7mQ,EAAO3xC,KAAK41C,KAAKhuC,KAAK0kB,MAAQ,GAC9BnZ,EAAOw+B,EAAO,EACT2V,EAAI1/C,KAAK6kB,OAAS,EAAG66B,GAAK,EAAGA,IAAK,SACrC/gB,EAAO3+B,KAAK4oS,UAAYlpP,EAAI1/C,KAAK6kB,OAAS,EAAI66B,EACzCljD,EAAI,EAAGA,EAAIutC,EAAMvtC,IAAK,KACzB6D,EAAIL,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAC7BnpJ,EAAWnqF,EAAO3+B,KAAK0kB,MAAQ,EAAQ,EAAJloB,EAAQ,EAE3CmkC,EAAStgC,GAAK,EACd4a,EAAY,GAAJ5a,EAERs2C,EAAM32C,KAAK45R,QAAQj5P,GAAA,QAClB/sC,KAAKk1H,GAAYnyE,EAAIuJ,KAAA,KACrBtsD,KAAKk1H,EAAW,GAAKnyE,EAAIwJ,MAAA,KACzBvsD,KAAKk1H,EAAW,GAAKnyE,EAAIyJ,IAAA,KACzBxsD,KAAKk1H,EAAW,GAAK,IAElB,EAAJtsH,EAAQ,GAAKwD,KAAK0kB,MAAO,MAE7BiyB,EAAM32C,KAAK45R,QAAQ3+Q,GAAA,KACdrnB,KAAKk1H,EAAW,GAAKnyE,EAAIuJ,KAAA,KACzBtsD,KAAKk1H,EAAW,EAAI,GAAKnyE,EAAIwJ,MAAA,KAC7BvsD,KAAKk1H,EAAW,EAAI,GAAKnyE,EAAIyJ,IAAA,KAC7BxsD,KAAKk1H,EAAW,EAAI,GAAK,IAGnB,IAATv9G,IAAA,KACG0mQ,KAAO,EAAI1mQ,EAAA,GAKtB2+G,GAAWzvH,UAAUo2S,KAAO,mBACtB9mQ,EAAO/pC,KAAK0kB,MAAQ,EACfnZ,EAAIvL,KAAK6kB,OAAS,EAAGtZ,GAAK,EAAGA,IAAK,SACrCm0C,EAAO1/C,KAAK4oS,UAAYr9R,EAAIvL,KAAK6kB,OAAS,EAAItZ,EACzCozB,EAAI,EAAGA,EAAI3+B,KAAK0kB,MAAOia,IAAK,KAC/BniC,EAAIwD,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAC7B5xQ,EAAWq/C,EAAO1/C,KAAK0kB,MAAQ,EAAQ,EAAJia,EAAA,GACnCniC,EAAIwD,KAAK45R,QAAQj9R,OAAQ,KACvBmsH,EAAM9oH,KAAK45R,QAAQp9R,GAAA,KAClB5I,KAAKyM,GAAYyoH,EAAI1oE,IAAA,KACrBxsD,KAAKyM,EAAW,GAAKyoH,EAAI3oE,MAAA,KACzBvsD,KAAKyM,EAAW,GAAKyoH,EAAI5oE,KAAA,KACzBtsD,KAAKyM,EAAW,GAAK,cAErBzM,KAAKyM,GAAY,SACjBzM,KAAKyM,EAAW,GAAK,SACrBzM,KAAKyM,EAAW,GAAK,SACrBzM,KAAKyM,EAAW,GAAK,IAGjB,IAAT0pC,IAAA,KACGkoO,KAAO,EAAIloO,EAAA,GAKtBmgF,GAAWzvH,UAAUq2S,MAAQ,mBACvB/mQ,EAAQ/pC,KAAK0kB,MAAQ,EAEvBnZ,EADWgtC,SAAS,QAAS,GAEtBmH,EAAI1/C,KAAK6kB,OAAS,EAAG66B,GAAK,EAAGA,IAAK,SACrC/gB,EAAO3+B,KAAK4oS,UAAYlpP,EAAI1/C,KAAK6kB,OAAS,EAAI66B,EACzCljD,EAAI,EAAGA,EAAIwD,KAAK0kB,MAAOloB,IAAK,KAC/B6D,EAAIL,KAAK0oS,MAAM2H,UAAUrwS,KAAKiyQ,KAAA,GAAK,KAClCA,KAAO,MACRnpJ,GAAUzoH,EAAIkL,GAAQA,EAAQ,IAAO,EACrCo1B,GAAYtgC,GAAK,EAAKkL,GAAQA,EAAQ,IAAO,EAC7C0P,GAAU5a,GAAK,GAAMkL,GAAQA,EAAQ,IAAO,EAC5CorC,EAAQt2C,GAAK,GAAK,IAAO,EAEzBwI,EAAW81B,EAAO3+B,KAAK0kB,MAAQ,EAAQ,EAAJloB,EAAA,KAClC5I,KAAKiV,GAAYoS,EAAA,KACjBrnB,KAAKiV,EAAW,GAAK83B,EAAA,KACrB/sC,KAAKiV,EAAW,GAAKigH,EAAA,KACrBl1H,KAAKiV,EAAW,GAAK8tC,CAAA,MAGvBs7N,KAAOloO,CAAA,GAIhBmgF,GAAWzvH,UAAUs2S,MAAQ,mBACvBhnQ,EAAQ/pC,KAAK0kB,MAAQ,EAEvBnZ,EADWgtC,SAAS,QAAS,GAG7BmH,EADYnH,SAAS,SAAU,GAExB5Z,EAAI3+B,KAAK6kB,OAAS,EAAG8Z,GAAK,EAAGA,IAAK,SACrCniC,EAAOwD,KAAK4oS,UAAYjqQ,EAAI3+B,KAAK6kB,OAAS,EAAI8Z,EACzCt+B,EAAI,EAAGA,EAAIL,KAAK0kB,MAAOrkB,IAAK,KAC/ByoH,EAAI9oH,KAAK0oS,MAAM2H,UAAUrwS,KAAKiyQ,KAAA,GAAK,KAClCA,KAAO,MAERtxO,GAAUmoF,EAAIv9G,GAAQA,EAAQ,IAAO,EACrC0P,GAAY6tG,GAAK,EAAKppE,GAAQA,EAAQ,IAAO,EAC7C/I,GAASmyE,GAAK,IAAMv9G,EAAQ,IAAO,EAEnC1C,EAAWrM,EAAOwD,KAAK0kB,MAAQ,EAAQ,EAAJrkB,EAAA,KAClCzM,KAAKiV,GAAY8tC,EAAA,KACjB/iD,KAAKiV,EAAW,GAAKoS,EAAA,KACrBrnB,KAAKiV,EAAW,GAAK83B,EAAA,KACrB/sC,KAAKiV,EAAW,GATT,SAYTopQ,KAAOloO,CAAA,GAIhBmgF,GAAWzvH,UAAUu2S,MAAQ,eAEtB,IAAIjnQ,EAAI/pC,KAAK6kB,OAAS,EAAGklB,GAAK,EAAGA,IAAK,SACrCx+B,EAAOvL,KAAK4oS,UAAY7+P,EAAI/pC,KAAK6kB,OAAS,EAAIklB,EACzC2V,EAAI,EAAGA,EAAI1/C,KAAK0kB,MAAOg7B,IAAK,KAC/B/gB,EAAO3+B,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAChCz1Q,EAAQwD,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GACjC5xQ,EAAML,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAC/BnpJ,EAAWv9G,EAAOvL,KAAK0kB,MAAQ,EAAQ,EAAJg7B,EAAA,KAClC9rD,KAAKk1H,GAAYzoH,EAAA,KACjBzM,KAAKk1H,EAAW,GAAKtsH,EAAA,KACrB5I,KAAKk1H,EAAW,GAAKnqF,EAAA,KACrB/qC,KAAKk1H,EAAW,GAAK,SAGvBmpJ,KAAOjyQ,KAAK0kB,MAAQ,IAQ7BwlG,GAAWzvH,UAAUw2S,MAAQ,eAEtB,IAAIlnQ,EAAI/pC,KAAK6kB,OAAS,EAAGklB,GAAK,EAAGA,IAAA,QAChCx+B,EAAOvL,KAAK4oS,UAAY7+P,EAAI/pC,KAAK6kB,OAAS,EAAIklB,EACzC2V,EAAI,EAAGA,EAAI1/C,KAAK0kB,MAAOg7B,IAAK,KAC/B/gB,EAAO3+B,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAChCz1Q,EAAQwD,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GACjC5xQ,EAAML,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GAC/BnpJ,EAAQ9oH,KAAK0oS,MAAM+H,SAASzwS,KAAKiyQ,OAAA,GACjCtxO,EAAWp1B,EAAOvL,KAAK0kB,MAAQ,EAAQ,EAAJg7B,EAAA,KAClC9rD,KAAK+sC,GAAYtgC,EAAA,KACjBzM,KAAK+sC,EAAW,GAAKnkC,EAAA,KACrB5I,KAAK+sC,EAAW,GAAKhC,EAAA,KACrB/qC,KAAK+sC,EAAW,GAAKmoF,CAAA,GAOhCoB,GAAWzvH,UAAU6qG,QAAU,kBACtBtlG,KAAKpM,IAAA,EIlQd,SAAUm2C,GAGRA,EAASmnQ,WAAa,SAAS3lS,EAAWm0C,EAAO/gB,EAAOniC,GAAA,IAClD6D,EAAS,IAAI6pH,GAAW3+G,GAAA,GACxBu9G,EAAQzoH,EAAOqkB,MACjBic,EAAStgC,EAAOwkB,OAId5J,EAAe,CACjBrnB,KAHWyM,EAAOilG,UAIlB5gF,MAAOokG,EACPjkG,OAAQ8b,GAINgW,EADU,IAAIu5E,GATT,KAUU9oH,OAAO6T,EAVjB,YAWF8uB,EAASg8P,YAAYhrS,KAAKiF,KAAM22C,EAAM+I,EAAO/gB,EAAOniC,EAAA,EAlB/D,CAoBGs6C,GAAM6yO,KHkyKTxqK,GAAY1kH,UAAU6qG,QAAU,kBACvBtlG,KAAKpM,IAAA,EItzKd,SAAUm2C,GAGRA,EAASonQ,YAAc,SAAS5lS,EAAWm0C,EAAO/gB,EAAOniC,GAAA,IACnD6D,EAAS,IAAI8+G,GAAY5zG,GAAA,GACzBu9G,EAAQzoH,EAAOqkB,MACjBic,EAAStgC,EAAOwkB,OAId5J,EAAe,CACjBrnB,KAHWyM,EAAOilG,UAIlB5gF,MAAOokG,EACPjkG,OAAQ8b,GAINgW,EADU,IAAIu5E,GATT,KAUU9oH,OAAO6T,EAVjB,YAWF8uB,EAASg8P,YAAYhrS,KAAKiF,KAAM22C,EAAM+I,EAAO/gB,EAAOniC,EAAA,EAlB/D,CAoBGs6C,GAAM6yO,KC0CN7yO,GAAM6yO,IApCEynB,YAAc,SAASrnQ,EAAWx+B,EAAOm0C,GAAA,QAG5C/gB,EAAcoL,EAAUn2C,KACxB4I,EAASmiC,EAAYhiC,OAErB0D,EAAS,IAAIxC,WAAYrB,EAAS,EAAK,GACvCssH,EAAW,IAAIjrH,WAAWrB,EAAS,GACnCmkC,EAAW,EACX1lB,EAAa,EAER07B,EAAI,EAAGA,EAAIn6C,EAAQm6C,GAAK,EAAG,KAC9B9tC,EAAI81B,EAAYgY,GAChBl6C,EAAIkiC,EAAYgY,EAAI,GACpB9V,EAAIlC,EAAYgY,EAAI,GACpB1Q,EAAQtH,EAAYgY,EAAI,GAC5Bt2C,EAAOsgC,KAAc93B,EACrBxI,EAAOsgC,KAAclkC,EACrB4D,EAAOsgC,KAAcE,EACrBioF,EAAS7tG,KAAgBgrB,CAAA,KAGvB0D,EAAU3pC,KAAK+4R,aAAa0D,0BAA0Bp8R,GAAA,MAGnD,CACL4/C,MAHcjgD,KAAK+4R,aAAa0D,0BAA0B3zK,GAI1Dl1H,KAAM+1C,EACN3iC,MAAOuE,EACP8uR,MAAO36O,EACPg6O,WAAY,YACZK,iBAAkB,EAClBr1Q,MAAOqlB,EAAUrlB,MACjBG,OAAQklB,EAAUllB,OAAA,EC6KrBiyB,GAAM6yO,IA5NE0nB,YAAc,SAAStnQ,GAAA,gBA0M1B/pC,KAAKulC,SAAS+rQ,mBAAA,KACX/rQ,SAAS+rQ,iBAAmB,CAAC,EAAD,KAC5B/rQ,SAAS+rQ,iBAAiBtgH,cAAA,QAAe,IAzMhC,CACdrrB,GAAI,YACJ4rI,GAAI,WACJ1mQ,GAAI,4BACK,2BACA,2BACA,yBACA,wBACA,0BACA,0BACA,2BACA,yBACA,2BACA,wBACA,yBACA,gCACA,yBACA,2BACA,0BACA,iBACT4gQ,GAAI,YACJ+F,GAAI,WACJ53D,GAAI,WACJ63D,IAAK,WACLC,GAAI,cACJC,GAAI,SACJpmL,GAAI,aACJ4gL,GAAI,UACJ53B,GAAI,UACJ9gJ,GAAI,SACJ21C,GAAI,YACJwoI,GAAI,UACJvpK,GAAI,UACJqlC,GAAI,WACJ/iD,GAAI,UACJilD,GAAI,kBACK,8BACA,wBACA,8BACA,mBACTiiI,GAAI,UACJlhC,GAAI,WACJ1+I,GAAI,OACJY,GAAI,WACJi/K,GAAI,QACJxpK,GAAI,SACJg3C,GAAI,2BACK,kBACTsvB,GAAI,kBACK,8BACA,2BACA,2BACA,4BACA,4BACA,gCACA,gCACA,iCACA,sCACA,mCACA,kCACA,qBACTmjG,GAAI,YACJzkL,GAAI,WACJ0kL,GAAI,WACJ37H,GAAI,SACJrE,GAAI,UACJp/C,GAAI,4BACK,2BACA,0BACA,0BACA,8BACA,0BACA,uBACTq/K,GAAI,UACJC,IAAK,WACLl4I,GAAI,yBACK,iBACTzwF,GAAI,WACJ++E,GAAI,WACJ19B,GAAI,4BACK,2BACA,2BACA,iCACA,8BACA,uBACT7jH,GAAI,QACJorS,GAAI,WACJjkL,GAAI,UACJnD,GAAI,SACJunD,GAAI,QACJ8/H,GAAI,YACJ5mJ,GAAI,YACJ5iJ,GAAI,aACJypS,GAAI,YACJnH,GAAI,QACJt9K,GAAI,6BACK,wBACTk6B,GAAI,WACJwjJ,GAAI,UACJgH,GAAI,WACJt3H,GAAI,SACJu3H,GAAI,QACJC,GAAI,UACJ7iO,IAAK,UACL8iO,GAAI,iBACK,+BACA,uBACTrqK,GAAI,QACJmvI,GAAI,UACJ9oK,GAAI,aACJmgD,GAAI,gBACJwsB,GAAI,kBACJs3H,GAAI,QACJtzH,GAAI,YACJjxD,GAAI,UACJykD,GAAI,QACJ9/C,GAAI,UACJ6/K,GAAI,YACJC,GAAI,SACJ5oI,GAAI,SACJ3/C,GAAI,SACJwoL,GAAI,YACJ59I,GAAI,qBACJk1I,GAAI,sBACJ5yI,GAAI,UACJnnC,GAAI,QACJ0iL,GAAI,QACJrpK,GAAI,kBACK,eACT+1C,GAAI,SACJ3xD,GAAI,qBACK,sBACT2Z,GAAI,kBACK,0BACA,qBACTurK,GAAI,UACJC,GAAI,iBACJC,GAAI,mBACK,sBACTC,GAAI,kBACK,qBACTC,GAAI,iBACJ9oI,GAAI,QACJtjC,GAAI,WACJ4wB,GAAI,YACJiI,GAAI,SACJwT,GAAI,aACJjjD,GAAI,UACJsrD,GAAI,SACJiE,GAAI,YACJ0zH,GAAI,SACJlkJ,GAAI,UACJmkJ,GAAI,kBACK,8BACA,4BACA,0BACA,6BACA,+BACA,uCACA,4BACA,gCACA,8BACA,6BACA,2BACA,8BACA,2BACA,6BACA,yBACA,gCACA,0BACA,4BACA,sBACThsB,GAAI,OACJisB,GAAI,UACJziC,GAAI,kBACK,4BACA,mBACT/vI,GAAI,QACJvT,GAAI,QACJrD,GAAI,SACJmlD,GAAI,OACJkkI,IAAK,QACLC,GAAI,SACJvJ,GAAI,SACJx4K,GAAI,UACJiqD,GAAI,UACJC,GAAI,YACJ83H,IAAK,gBACL9gL,GAAI,OACJzH,GAAI,QACJqoD,GAAI,aACJmgI,GAAI,UACJtoJ,GAAI,UACJ3+F,GAAI,QACJgjH,GAAI,QACJ+C,GAAI,UACJmhI,GAAI,QAQQ5pQ,KAAA,KACPxE,SAAS+rQ,iBAAiBsC,aAAe7pQ,GAAA,IAC1C/pC,KAAKulC,SAAS+rQ,iBAAiBtgH,eAAA,KAC5BzrJ,SAASkiJ,OAAO7wK,UAAU,cAAc,gBACtC2uB,SAASr1B,MACZ,UAAYlQ,KAAKulC,SAAS+rQ,iBAAiBsC,aAAe,aAGzDruQ,SAAS+rQ,iBAAiBtgH,cAAA,IAG5BhxL,IAAA,EVtND+wH,GAwWPj6E,GAAM6yO,IA5VHv4J,GAAsBL,GAAI8iL,mBAAqB,SAAStoS,EAAMm0C,GAAA,IAkB5D/gB,EAEAniC,EAjBA6D,GAFJq/C,EAAUA,GAAW,CAAC,GAEGg7B,MAAQ16E,KAAKulC,SAASiqP,UAC3C1mK,EAAWppE,EAAQwR,UAAYlxD,KAAKulC,SAASg/O,cAC7C5jP,EAAY+e,EAAQmuO,WAAa7tR,KAAKulC,SAASwoP,eAE/C9yQ,EAASykC,EAAQo0P,OACjBp0P,EAAQo0P,OACRzzS,EAAWk3O,SAASw8D,QAAQD,OAC5Bn9P,EAAmB17B,EAAO+4R,IAAM/4R,EAAO+4R,IAAM,EAC7CnrS,EAAU62C,EAAQu0P,QAClBv0P,EAAQu0P,QACR5zS,EAAWk3O,SAASw8D,QAAQE,QAC5Bx3S,EAAoBoM,EAAQmrS,IAAMnrS,EAAQmrS,IAAM,EAChDnzQ,GAAA,IAAY6e,EAAQ4uO,UACpBroP,EAAe,EAGf0D,EAASp+B,EAAK5O,OAEdwpC,EAAkB,EAClBpjC,EAAqBkY,EAAO,IAAM07B,EAClChc,EAAS,OAERgE,EAAI,EAAGA,EAAIgL,EAAQhL,IACtBniC,EAAY+O,EAAK7K,WAAWi+B,GAEqB,mBAAtCt+B,EAAWk3O,SAAS28D,cAC7Bv5Q,EAAOx4B,MACJ9B,EAAWk3O,SAAS48D,aACnB9zS,EAAWk3O,SAAS68D,iBAAiB53S,IAErCmkC,GAAa,IAAOmoF,IAAa,GAAK,MAQxC7iF,EAJApF,GAC8B,YAA9BkJ,EAAAA,GAAAA,GAAOlhC,EAAQrM,MACdq6G,MAAMt+D,SAAS1vC,EAAQrM,GAAW2pC,GAAkB,KAGnDt9B,EAAQrM,GAAW2pC,GAAmB1pC,EAEzB,EAEjBk+B,EAAOx4B,MACJ8Y,EAAOze,IAAcuG,GAAsB4zC,EAC1C1Q,IAGNE,EAAkB3pC,EAAA,OAGbm+B,CAAA,EAmBLs0F,GAAsB8B,GAAIs9J,mBAAqB,SAAStkP,EAAMx+B,GAAA,IAG5Dm0C,GAFJn0C,EAAUA,GAAW,CAAC,GAEC2lD,UAAYlxD,KAAKulC,SAASg/O,cAC7C5lP,EAAOpzB,EAAQmvE,MAAQ16E,KAAKulC,SAASiqP,UACrChzR,EAAY+O,EAAQsiR,WAAa7tR,KAAKulC,SAASwoP,eAAA,OAG/Ch9J,GAAIotK,gBACNp0P,EAAOgnF,GAAIotK,cAAcp0P,IAGgB,mBAAhCpL,EAAK44M,SAAS28D,cAErBv1Q,EAAK44M,SAAS28D,cAAcnqQ,EAAM2V,EAAUljD,GAAakjD,EAElD0xE,GACNh+H,MAAM4M,KAAM3M,WACZ01B,QAAO,SAASghB,EAAIx+B,GAAA,OACZw+B,EAAKx+B,CAAA,GACX,IAQL8lH,GAAgB,SAAStnF,EAAMx+B,EAAcm0C,EAAiB/gB,GAAA,QAC5DniC,EAAS,GAGT6D,EAAI,EACNyoH,EAAI/+E,EAAKptC,OACTgkC,EAAa,EACRtgC,IAAMyoH,GAAKnoF,EAAap1B,EAAalL,GAAKq/C,GAC/C/e,GAAcp1B,EAAalL,GAC3BA,IAGF7D,EAAO2F,KAAK4nC,EAAK/uC,MAAM,EAAGqF,IAAA,IAGtB4a,EAAc5a,EAAA,IAClBsgC,EAAa,EACNtgC,IAAMyoH,GACPnoF,EAAap1B,EAAalL,GAAKs+B,IACjCniC,EAAO2F,KAAK4nC,EAAK/uC,MAAMigB,EAAa5a,IACpCsgC,EAAa,EACb1lB,EAAc5a,GAEhBsgC,GAAcp1B,EAAalL,GAC3BA,IAAA,OAEE4a,IAAgB5a,GAClB7D,EAAO2F,KAAK4nC,EAAK/uC,MAAMigB,EAAa5a,IAG/B7D,CAAA,EAKL80H,GAA0B,SAASvnF,EAAMx+B,EAAQm0C,GAI9CA,IACHA,EAAU,CAAC,GAAD,IAQV/gB,EACAniC,EAGA6D,EACAyoH,EACAnoF,EACA1lB,EAkFE07B,EA9FA9tC,EAAO,GACTpM,EAAQ,CAACoM,GACTg4B,EAAc6e,EAAQ20P,YAAc,EACpCpuQ,EAAmB,EACnB0D,EAAsB,EAGtBxD,EAAQ4D,EAAKlnC,MAAM,KACnBE,EAAiBquH,GAAmBh+H,MAAM4M,KAAM,CAAC,IAAK0/C,IAAU,MAOhEzkC,GAD0B,IAAxBykC,EAAQ40P,WACGnuQ,EAAM,GAAGxpC,OAAS,EAElB+iD,EAAQ40P,YAAc,EAErB,KACV35Q,EAAMt/B,MAAM4f,GAAYpV,KAAK,KAC/BvF,EAAO,GACT6lC,EAAMvgC,KAAI,SAASmkC,IACjBA,EAAMA,EAAIlnC,MAAM,UACRlG,OAAS,EACf2D,EAAOA,EAAKnM,OACV41C,EAAInkC,KAAI,SAASmkC,EAAKx+B,GAAA,OACZA,GAAOw+B,EAAIptC,OAAS,KAAO,IAAMotC,CAAA,KAI7CzpC,EAAK6B,KAAK4nC,EAAI,OAGlB5D,EAAQ7lC,EACR2a,EAAag0G,GAAmB77H,MAAM4M,KAAM,CAAC26B,EAAK+kB,GAAA,KAG/Cr/C,EAAI,EAAGyoH,EAAI3iF,EAAMxpC,OAAQ0D,EAAIyoH,EAAGzoH,IAAK,KACpCiiB,EAAQ,KAEZqc,EAAOwH,EAAM9lC,GACT4a,GAAyB,MAAX0jB,EAAK,KACrBA,EAAOA,EAAKlC,OAAO,GACnBna,EAAQ,GAQRue,EAAcoF,GALhB0D,GADAntC,EAAe40H,GAAmBh+H,MAAM4M,KAAM,CAAC2+B,EAAM+gB,KAClB32B,QAAO,SAASghB,EAAIx+B,GAAA,OAC9Cw+B,EAAKx+B,CAAA,GACX,IAGsDA,GACvD+W,EACA,IACIqnB,EAAsBp+B,EAAQ,KAGhCo1B,EAAM0wF,GAAcj+H,MAAM4M,KAAM,CAC9B2+B,EACAniC,EACA+O,GAAUs1B,EAAcoF,GACxB16B,IAGF1C,EAAK1G,KAAKw+B,EAAI2D,SAEdz7B,EAAO,CAAC83B,EAAIx5B,OAELw5B,EAAIhkC,QACTF,EAAM0F,KAAK,CAACw+B,EAAI2D,UAElBqF,EAAsBntC,EACnBxB,MAAM2jC,EAAKhiC,QAAUkM,EAAK,GAAKA,EAAK,GAAGlM,OAAS,IAChDosB,QAAO,SAASghB,EAAIx+B,GAAA,OACZw+B,EAAKx+B,CAAA,GACX,QAGL1C,EAAO,CAAC81B,GAIVliC,EAAM0F,KAAK0G,GACXg4B,EAAc8I,EAAsB1uB,EACpCgrB,EAAmBljC,CAAA,MAEnB8F,EAAK1G,KAAKw8B,GAEVkC,GAAeoF,EAAmB0D,EAClC1D,EAAmBljC,CAAA,QAMrB4zC,EADE17B,EACY,SAAS8uB,EAAIx+B,GAAA,OACjBA,EAAMovB,EAAM,IAAMoP,EAAGlkC,KAAK,MAGtB,SAASkkC,GAAA,OACdA,EAAGlkC,KAAK,MAIZpJ,EAAMmJ,IAAI+wC,EAAA,EAoBnBo6E,GAAIy8J,gBAAkB,SAASzjP,EAAMx+B,EAAQm0C,GAAA,IAwCvC/gB,EAnCAniC,GAFJkjD,EAAUA,GAAW,CAAC,GAEFwR,UAAYlxD,KAAKulC,SAASg/O,cAC5ClkR,EAAa,SAAS0pC,GAAA,GAMfA,EAAQ+pQ,QAAW/pQ,EAAQkqQ,QAAA,MAoBvB,CACLH,OAAQ/pQ,EAAQ+pQ,OAChBG,QAASlqQ,EAAQkqQ,SAAA,IArBf1oS,EAAIvL,KAAKulC,SAASiqP,QAAQzlP,EAAQohP,SAAUphP,EAAQmqB,WAAA,OAMpD3oD,EAAEgsO,SAAFw8D,QACK,CACLD,OAAQvoS,EAAEgsO,SAAFw8D,QAAqBD,QAdtB,GACN,GAcDG,QAAS1oS,EAAEgsO,SAAFw8D,QAAqBE,SAZxB,CAAC,GAeF,CACLv5N,KAAMnvE,EAAEgsO,SACRrmL,SAAUlxD,KAAKulC,SAASg/O,cACxBsJ,UAAW7tR,KAAKulC,SAASwoP,eAAA,EAS/BhzR,KAAKiF,KAAM0/C,GAKb/gB,EADEtjC,MAAMD,QAAQ2uC,GACHA,EAEAxoC,OAAOwoC,GAAMlnC,MAAM,aAM9BimH,EAAmB,EAAM9oH,KAAKulC,SAAS+nP,YAAc/hR,EAAU/O,EASnE6D,EAAWg0S,WAAa30P,EAAQ20P,WACN,EAArB30P,EAAQ20P,WAAmBr0S,KAAKulC,SAAS+nP,YAAe9wR,EACzD,EACJ6D,EAAWi0S,WAAa50P,EAAQ40P,WAAA,IAE5B3zQ,EACF1lB,EACA07B,EAAS,OACNhW,EAAI,EAAG1lB,EAAI0jB,EAAWhiC,OAAQgkC,EAAI1lB,EAAG0lB,IACxCgW,EAASA,EAAOxiD,OACdm9H,GAAwBl+H,MAAM4M,KAAM,CAClC2+B,EAAWgC,GACXmoF,EACAzoH,KAAA,OAKCs2C,CAAA,EWzVX,SAAUprC,GAERA,EAAIgpS,gBAAkBhpS,EAAIgpS,iBAAmB,CAAC,EAAD,QAG3C70P,EAAU,mBACV/gB,EAAoB,CAAC,EACrBniC,EAAkB,CAAC,EAEZ6D,EAAI,EAAGA,EAAIq/C,GAAgBr/C,IAClCs+B,EAAkB+gB,EAAQr/C,IANd,mBAM4BA,GACxC7D,EAPY,mBAOY6D,IAAMq/C,EAAQr/C,GAAA,IAGpCyoH,EAAM,SAAS/+E,GAAA,MACV,KAAOwO,SAASxO,EAAO,IAAIvvC,SAAS,KAGzCmmC,EAAYp1B,EAAIgpS,gBAAgB5yB,SAAW,SAASp2Q,GAAA,IAElDm0C,EAAO/gB,EAAWt+B,EAAa4a,EAD/B07B,EAAO,CAAC,SAGP,IAAI9tC,KAAO0C,EAAM,IACpBm0C,EAAQn0C,EAAK1C,GAERguG,MAAMt+D,SAAS1vC,EAAK,KAMvB81B,EAAY,IAAM91B,EAAM,KALxBA,EAAM0vC,SAAS1vC,EAAK,IAEpB81B,GADAA,EAAYmqF,EAAIjgH,GAAK7N,MAAM,IAEfA,MAAM,GAAI,GAAKwB,EAAgBmiC,EAAU3jC,OAAO,KAK1C,iBAAT0kD,EACLA,EAAQ,GACVr/C,EAAcyoH,EAAIppE,GAAO1kD,MAAM,GAC/BigB,EAAe,MAEf5a,EAAcyoH,EAAIppE,GAAO1kD,MAAM,GAC/BigB,EAAe,IAEjB5a,EACE4a,EACA5a,EAAYrF,MAAM,GAAI,GACtBwB,EAAgB6D,EAAYrF,OAAO,QAChC,IACgB,YAAjB+uC,EAAAA,GAAAA,GAAO2V,GAAA,MAGH,IAAIhrD,MACR,0CAAAq1C,EAAAA,GAAAA,GAAkD2V,GAAQ,KAH5Dr/C,EAAcsgC,EAAS+e,EAAA,CAO3B/I,EAAKx0C,KAAKw8B,EAAYt+B,EAAA,QAExBs2C,EAAKx0C,KAAK,KACHw0C,EAAK9wC,KAAK,KAWfoV,EAAc1P,EAAIgpS,gBAAgBC,WAAa,SAASzqQ,GAAA,GACtC,iBAATA,EAAA,MACH,IAAIr1C,MAAM,kDAKhB6W,EAGAm0C,EAGAljD,EAEA6D,EAVEyoH,EAAS,CAAC,EACZnoF,EAAO,EAEP1lB,EAAe6tG,EACfnyE,EAAc,GAEd9tC,EAAW,GACXpM,EAAa,GAEbokC,EAAUkJ,EAAKptC,OAAS,EAGjBspC,EAAI,EAAGA,EAAIpF,EAASoF,GAAK,EAKtB,MAFV5lC,EAAK0pC,EAAK9D,IAGJ16B,GAEF/O,EAAM+O,EAAY1F,KAAK,IACvB0F,OAAA,GAGAA,EAAc,GAEPA,EACTA,EAAYpJ,KAAK9B,GACF,KAANA,GAETs2C,EAAYx0C,KAAK,CAAC8Y,EAAcze,IAChCye,EAAe,CAAC,EAChBze,OAAA,GACe,KAAN6D,IAETq/C,EAAkB/I,EAAYxvC,OACd,GAAGu4C,EAAgB,IAAMzkC,EACzCze,OAAA,EACAye,EAAeykC,EAAgB,IAChB,KAANr/C,EACTsgC,GAAQ,WAGJnkC,EACEmiC,EAAkB5gC,eAAesC,IACnCwI,GAAY81B,EAAkBt+B,GAC9B7D,EAAM+7C,SAAS1vC,EAAU,IAAM83B,EAC/BA,EAAO,EACP93B,EAAW,IAEXA,GAAYxI,EAGVs+B,EAAkB5gC,eAAesC,IACnC5D,GAAckiC,EAAkBt+B,GAChC4a,EAAaze,GAAO+7C,SAAS97C,EAAY,IAAMkkC,EAC/CA,EAAO,EACPnkC,OAAA,EACAC,EAAa,IAEbA,GAAc4D,EAAA,OAKfyoH,CAAA,EAgBLnyE,EAAgB,CAClB80O,UAAW,CAAC,mBACZgpB,gBAAiBx5R,EACf,+JAGApS,EAAY,CACdkrS,QAAS,CACPW,QAAS/9P,EAAA,eACOA,EAAA,sBACOA,EAAA,kBACJA,EACnBorP,UAAWprP,EAAA,iBACOA,EAAA,wBACOA,EAAA,oBACJA,EAAA,cACNA,EAAA,aACDA,EAAA,mBACMA,EAAA,eACJA,IAMhBl6C,EAAc,CAChBs3S,QAAS,mBASY94R,EACjB,gEAEkBA,EAClB,myDAEgBA,EAChB,gnDAEFy5R,QAASz5R,EAAW,mEACGA,EACrB,0DAEYA,EACZ,yzDAEFnf,OAAQmf,EACN,sNAEF8mR,UAAW9mR,EACT,wsDAEuBA,EACvB,gnDAEF05R,aAAc15R,EAAW,gEACTA,EAAW,4DACXA,EACd,msDAEaA,EACb,83DAEmBA,EACnB,krDAgBN1P,EAAIk8K,OAAOtlL,KAAK,CACd,UACA,SAAS4nC,GAAA,IACHx+B,EAAOw+B,EAAK2wC,KAEZh7B,EAAUjjD,EAAWs3S,QAAYxoS,EAAKu/Q,gBACtCprO,IACFn0C,EAAKgsO,SAALw8D,QAA2B,CAAC,EAC5BxoS,EAAKgsO,SAALw8D,QAAyBD,OAASp0P,EAAQo0P,OAC1CvoS,EAAKgsO,SAALw8D,QAAyBE,QAAUv0P,EAAQu0P,SAAA,IAGzCt1Q,EAAgB91B,EAASkrS,QAAYxoS,EAAKu/Q,gBAC1CnsP,IACFpzB,EAAKgsO,SAALw8D,QAAyBhpB,SAAWpsP,EACpCpzB,EAAKw/Q,SAAWpsP,EAAc8sP,UAAU,OA/PhD,CAmQG30O,GAAM6yO,KCrST,SAAU5/O,GAAA,IAGJx+B,EAA2B,SAASw+B,GAAA,QAClCx+B,EAAMw+B,EAAcptC,OACpB+iD,EAAQ,IAAI7hD,WAAW0N,GAClBozB,EAAI,EAAGA,EAAIpzB,EAAKozB,IACvB+gB,EAAM/gB,GAAKoL,EAAcrpC,WAAWi+B,GAAA,OAE/B+gB,CAAA,EAmBT3V,EAAM4/O,IAAIliG,OAAOtlL,KAAK,CACpB,UACA,SAASu9C,GAAA,IACH/gB,OAAA,EACAniC,EAAOkjD,EAAKg7B,KACZr6E,EAAWq/C,EAAKrgC,SAAA,IAChB7iB,EAAK4uR,eAAA,aAGE/qR,EAAA,MAeH,IAAI3L,MACR,+EACE8H,EAAKsuR,eACL,UAZgB,iBAJlBnsP,GAAA,IADEt+B,EAASu0S,gBAAgBp4S,EAAKsuR,gBACzBzqR,EAAS+5R,SAAS59R,EAAKsuR,gBAEvBzqR,EAASw0S,eAAer4S,EAAKsuR,iBAAA,MAG9B,IAAIp2R,MACR,6FACE8H,EAAKsuR,eACL,QAnCE,SAASprO,EAAM/gB,GAGzBA,EADE,oBAAoB54B,KAAK44B,GACpBpzB,EAAyBozB,GAEzBpzB,EAAyBorC,GAAKhY,IAEvC+gB,EAAK63L,SAAWxtM,EAAM4/O,IAAImrB,QAAQv/R,KAAKopB,GACvC+gB,EAAK63L,SAASw8D,QAAUr0P,EAAK63L,SAASw8D,SAAW,CAC/ChpB,SAAU,CAAC,EACXkpB,QAAS,CAAC,EACVH,OAAQ,IAEVp0P,EAAK63L,SAASw9D,WAAa,CAAC,GAbhB,CAsCAv4S,EAAMmiC,EAAA,KAlDtB,CA4DGmY,IC2DAA,GAAM6yO,IA3DEqrB,cAAgB,SACvBjrQ,EACA2V,EACA/gB,EACAniC,EACAssH,EACAnoF,EACA1lB,EACA07B,GAAA,GAEIkgE,MAAMn3D,IAAMm3D,MAAMl4E,GAAA,MACpBt+B,GAAQ8E,MAAM,2CAA4C9R,WACpD,IAAIqB,MAAM,wDAGdmiH,MAAMr6G,IAAMq6G,MAAMiS,GAAA,MACpBzoH,GAAQ8E,MAAM,4CAA6C9R,WACrD,IAAIqB,MACR,gFAIAmU,EAASU,SAAS+H,cAAc,UACpCzI,EAAO6b,MAAQloB,EACfqM,EAAOgc,OAASikG,EAAA,IACZrsH,EAAMoM,EAAOizD,WAAW,MAC5Br/D,EAAI2/D,UAAY,OAChB3/D,EAAI4/D,SAAS,EAAG,EAAGxzD,EAAO6b,MAAO7b,EAAOgc,QAAA,IAEpCgc,EAAU,CACZo0Q,aAAA,EACAC,iBAAA,EACAC,kBAAA,GAEElvQ,EAAMjmC,KAAA,OApEJ2+B,GAAYy2Q,MACPnhS,QAAQC,QAAQyqB,GAAYy2Q,OAG9B,+BAGNhxS,OAAM,SAAS2lC,GAAA,OACP91B,QAAQE,OAAO,IAAIzf,MAAM,yBAA2Bq1C,GAAA,IAE5D5lC,MAAK,SAAS4lC,GAAA,OACNA,EAAMjqB,QAAUiqB,EAAMjqB,QAAUiqB,CAAA,IA2DxC5lC,MACC,SAASoH,GAAA,OACAA,EAAM8pS,WAAW54S,EAAKstC,EAAKlJ,EAAA,IAEpC,kBACS5sB,QAAQE,OAAO,IAAIzf,MAAM,6BAGnCyP,MAAK,SAAS4lC,GAAA,OACNA,EAASlB,OAAOhI,EAAA,IAExB18B,MAAK,WACJ8hC,EAAIooB,SACFxlD,EAAOozD,UAAU,aAAc,GAC/Bvc,EACA/gB,EACAniC,EACAssH,EACA7tG,EACA07B,EAAA,KCxDPG,GAAM6yO,IA9BE2rB,cAAgB,SAASvrQ,GAAA,IAG5Bx+B,EACAm0C,EAAqB,EACrBnH,SAASv4C,KAAKulC,SAASiqP,UAAU5mR,GAAG6zB,OAAO,GAAI,IAAM,IACvDlxB,EAAoB,IAAIkF,OAAOs5B,EAAgB,KAC/C2V,EAAqB1/C,KAAKulC,SAASsmP,qBAEnCtgR,EAAoB,IAAIkF,OACtBzQ,KAAKu1S,YAAYxrQ,EAAgB/pC,KAAKulC,SAASiqP,WAC/C,KAEF9vO,EAAqB1/C,KAAKu1S,YACxBv1S,KAAKulC,SAASsmP,mBAAqB,GACnC7rR,KAAKulC,SAASiqP,YAAA,IAIb,IAAI7wP,EAAI,EAAGA,GAAK3+B,KAAKulC,SAASsmP,mBAAoBltP,IAAA,IAChD,IAAIniC,EAAI,EAAGA,EAAIwD,KAAKulC,SAASylP,MAAMrsP,GAAGhiC,OAAQH,IAAA,KAC5C+oC,SAASylP,MAAMrsP,GAAGniC,GAAKwD,KAAKulC,SAASylP,MAAMrsP,GAAGniC,GAAG+D,QACpDgL,EACAm0C,GAAA,OAKC1/C,IAAA,EC8SR82C,GAAM6yO,IAxQE6rB,kBAAoB,SAASjqS,EAASm0C,GAAA,IAIzC/gB,EAHJpzB,EAAUA,GAAW,CAAC,EACtBm0C,EAAUA,IAAA,EAAW,IAyJjBljD,EAEA6D,EACAyoH,EAzJAnoF,EAAwB,CAC1B80Q,YAAa,CACXryS,cAAA,EACApN,OAAA,EACAkF,KAAM,UACNw6S,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdC,YAAa,CACXzyS,cAAA,EACApN,OAAA,EACAkF,KAAM,UACNw6S,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdE,aAAc,CACZ1yS,cAAA,EACApN,OAAA,EACAkF,KAAM,UACNw6S,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdG,UAAW,CACT3yS,cAAA,EACApN,OAAA,EACAkF,KAAM,UACNw6S,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdI,aAAc,CACZ5yS,cAAA,EACApN,OAAA,EACAkF,KAAM,UACNw6S,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdK,gBAAiB,CACf7yS,cAAA,EACApN,OAAA,EACAkF,KAAM,UACNw6S,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEdM,sBAAuB,CACrB9yS,aAAc,UACdpN,MAAO,UACPkF,KAAM,OACNw6S,aAAA,EACAC,SAAU,CAAC,UAAW,cAAe,YAAa,SAClDC,WAAY,KAEdO,UAAW,CACT/yS,aAAc,MACdpN,MAAO,MACPkF,KAAM,OACNw6S,aAAA,EACAC,SAAU,CAAC,MAAO,OAClBC,WAAY,KAEdQ,SAAU,CACRhzS,aAAc,UACdpN,MAAO,UACPkF,KAAM,OACNw6S,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdS,SAAU,CACRjzS,aAAc,UACdpN,MAAO,UACPkF,KAAM,OACNw6S,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdU,UAAW,CACTlzS,aAAc,UACdpN,MAAO,UACPkF,KAAM,OACNw6S,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdW,UAAW,CACTnzS,aAAc,UACdpN,MAAO,UACPkF,KAAM,OACNw6S,aAAA,EACAC,SAAU,CAAC,WAAY,UAAW,UAAW,WAAY,UACzDC,WAAY,KAEdY,aAAc,CACZpzS,aAAc,aACdpN,MAAO,aACPkF,KAAM,OACNw6S,aAAA,EACAC,SAAU,CAAC,aAAc,QACzBC,WAAY,KAEda,OAAQ,CACNrzS,aAAc,GACdpN,MAAO,OACPkF,KAAM,OACNw6S,aAAA,EACAC,SAAU,CACR,UACA,sBACA,qBACA,QAEFC,WAAY,KAEdc,kBAAmB,CACjBtzS,cAAA,EACApN,OAAA,EACAkF,KAAM,UACNw6S,aAAA,EACAC,SAAU,EAAC,MACXC,WAAY,KAEde,eAAgB,CACdvzS,aAAc,GACdpN,MAAO,GACPkF,KAAM,QACNw6S,aAAA,EACAC,SAAU,KACVC,WAAY,KAEdgB,UAAW,CACTxzS,aAAc,EACdpN,MAAO,EACPkF,KAAM,UACNw6S,aAAA,EACAC,SAAU,KACVC,WAAY,MAIZ36R,EAAoBnlB,OAAOiH,KAAK4jC,GAEhCgW,EAAa,GACb9tC,EAAI,EACJpM,EAAI,EACJokC,EAAI,WAMCoF,EAAqB8D,EAAOx+B,GAAA,IAC/Bm0C,EACA/gB,GAAA,EAAS,IAER+gB,EAAW,EAAGA,EAAW3V,EAAMptC,OAAQ+iD,GAAY,EAClD3V,EAAM2V,KAAcn0C,IACtBozB,GAAA,GAAS,OAGNA,CAAA,aAGL3+B,KAAKulC,SAASsxQ,oBAAA,KACXtxQ,SAASsxQ,kBAAoB,CAAC,EAAD,KAC7BtxQ,SAASsxQ,kBAAkBC,cAAgBrhT,KAAK6V,MACnD7V,KAAKC,UAAUirC,IAAA,KAEZ4E,SAASsxQ,kBAAkB7lH,cAAA,GAElCryJ,EAAgB3+B,KAAKulC,SAASsxQ,kBAAkBC,cAEhC,UAAZvrS,IAAA,IAAuBm0C,EAAkB,KACvC/V,EAAM1uB,EAAkBte,OAAA,IAEvBkkC,EAAI,EAAGA,EAAI8I,EAAK9I,GAAK,EACxBlC,EAAc1jB,EAAkB4lB,IAAI7qC,MAClC2oC,EAAc1jB,EAAkB4lB,IAAIz9B,aACtCu7B,EAAc1jB,EAAkB4lB,IAAI60Q,aAAA,CAAc,IAI/B,YAAnB3rQ,EAAAA,GAAAA,GAAOx+B,GAAA,IACJlL,KAAUkL,EAAA,GACbu9G,EAAQv9G,EAAQlL,GAEd4lC,EAAqBhrB,EAAmB5a,SAAA,IACxCyoH,EACA,IAEiC,YAA/BnqF,EAAct+B,GAAQnF,MACL,kBAAV4tH,EAEPnqF,EAAct+B,GAAQrK,MAAQ8yH,OACzB,GAC0B,SAA/BnqF,EAAct+B,GAAQnF,MACtB+qC,EAAqBtH,EAAct+B,GAAQs1S,SAAU7sL,GAErDnqF,EAAct+B,GAAQrK,MAAQ8yH,OACzB,GAC0B,YAA/BnqF,EAAct+B,GAAQnF,MACtBmI,OAAOmrG,UAAUsa,GAEjBnqF,EAAct+B,GAAQrK,MAAQ8yH,OACzB,GAAmC,UAA/BnqF,EAAct+B,GAAQnF,KAAkB,KAC5C2N,EAAI,EAAGA,EAAIigH,EAAMnsH,OAAQkM,GAAK,EAAG,GACpCrM,GAAA,EACwB,IAApBssH,EAAMjgH,GAAGlM,QAAuC,iBAAhBmsH,EAAMjgH,GAAG,GAC3C8tC,EAAWx0C,KAAKZ,OAAOunH,EAAMjgH,GAAK,SAC7B,GAAIigH,EAAMjgH,GAAGlM,OAAS,EAAG,KACzBF,EAAI,EAAGA,EAAIqsH,EAAMjgH,GAAGlM,OAAQF,GAAK,EACT,iBAAhBqsH,EAAMjgH,GAAGpM,KAClBD,GAAA,IAAU,IAGVA,GACFm6C,EAAWx0C,KAAK,CAAC2mH,EAAMjgH,GAAG,GAAK,EAAGigH,EAAMjgH,GAAG,GAAK,GAAGhD,KAAK,MAI9D84B,EAAct+B,GAAQrK,MAAQ,IAAM2gD,EAAW9wC,KAAK,KAAO,SAE3D84B,EAAct+B,GAAQrK,MAAQ2oC,EAAct+B,GAAQ+C,aAGtDu7B,EAAct+B,GAAQq1S,aAAA,CAAc,YAKtC11S,KAAKulC,SAASsxQ,kBAAkB7lH,eAAA,KAC7BzrJ,SAASkiJ,OAAO7wK,UAAU,cAAc,eAEvCmzB,EADAx+B,EAAU,OAETw+B,KAASpL,GAAA,IACRA,EAAcoL,GAAO2rQ,cACW,SAA9B/2Q,EAAcoL,GAAO7uC,KACvBqQ,EAAQpJ,KAAK,IAAM4nC,EAAQ,KAAOpL,EAAcoL,GAAO/zC,OAEvDuV,EAAQpJ,KAAK,IAAM4nC,EAAQ,IAAMpL,EAAcoL,GAAO/zC,QAIrC,IAAnBuV,EAAQ5O,QAAA,KACL4oC,SAASr1B,MACZ,2BAA6B3E,EAAQ1F,KAAK,MAAQ,gBAInD0/B,SAASsxQ,kBAAkB7lH,cAAA,GAAe,KAG5CzrJ,SAASsxQ,kBAAkBC,cAAgBn4Q,EACzC3+B,IAAA,EClVX,SAAU+pC,GAAA,IAGJx+B,EAAmB,eAEjBw+B,EACF,+GACA/pC,KAAKulC,SAASwxQ,aAAaC,aAC3B,qBAGEzrS,EAAyBsJ,SAC3BvN,mBARsB,yCAUpBo4C,EAAqB7qC,SAASvN,mBAAmByiC,IACjDpL,EAAgB9pB,SAClBvN,mBAAmBtH,KAAKulC,SAASwxQ,aAAax/D,WAE5C/6O,EAAkBqY,SAASvN,mBATd,kDAUbjH,EAAsBwU,SAASvN,mBATd,iBAWjBwhH,EACFppE,EAAmB/iD,OACnBgiC,EAAchiC,OACdH,EAAgBG,OAChB4O,EAAuB5O,OACvB0D,EAAoB1D,OAAA,KAEjB4oC,SAASwxQ,aAAaE,uBAAyBj3S,KAAKulC,SAASkjP,YAAA,KAC7DljP,SAASr1B,MACZ,4CAA8C44G,EAAY,YAEvDvjF,SAASr1B,MAAM,eACfq1B,SAASr1B,MACZ3E,EACEm0C,EACA/gB,EACAniC,EACA6D,GAAA,KAECklC,SAASr1B,MAAM,kBACfq1B,SAASr1B,MAAM,WAGlBwvC,EAAa,WACX1/C,KAAKulC,SAASwxQ,aAAaE,wBAAA,KACxB1xQ,SAASr1B,MACZ,aACElQ,KAAKulC,SAASwxQ,aAAaE,uBAC3B,SAcRltQ,EAASmtQ,YAAc,SAASntQ,EAAUpL,GAAA,gBAC7B3+B,KAAKulC,SAASwxQ,eAAA,KAClBxxQ,SAASwxQ,aAAe,CAC3Bx/D,SAAUxtM,EACVitQ,aAAcr4Q,GAAgB,2CAE3B4G,SAASkiJ,OAAO7wK,UAAU,aAAc8oC,GAAA,KAExCna,SAASkiJ,OAAO7wK,UAAU,mBAAoBrL,IAE9CvL,IAAA,EAzEX,CA2EG82C,GAAM6yO,KCpGT,SAAU5/O,GAAA,IAEJx+B,EAAWw+B,EAAM4/O,IAOjBjqO,EAAen0C,EAASgqS,YAAc,SAASxrQ,EAAMx+B,GAAA,QAItBm0C,EAH7B/gB,EAASpzB,EAAKgsO,SAASw8D,QAAQD,OAC/Bt3S,EAAO,CAAC,GAAI,IAAK,KAAM,MAAO,QAC9B6D,EAAK,CAAC,IACDyoH,EAAI,EAAGnoF,EAAIoJ,EAAKptC,OAAWmsH,EAAInoF,IAAKmoF,EAAG,IAC9CppE,EAAIn0C,EAAKgsO,SAAS68D,iBAAiBrqQ,EAAKrpC,WAAWooH,IACnDv9G,EAAKgsO,SAASw9D,WAAW5yS,KAAKu9C,GAC9Bn0C,EAAKgsO,SAAS4/D,UAAUz3P,GAAK3V,EAAKrpC,WAAWooH,IACnB,GAAtBnqF,EAAOl9B,QAAQi+C,KACjB/gB,EAAOx8B,KAAKu9C,GACZ/gB,EAAOx8B,KAAK,CAACo2C,SAAShtC,EAAKgsO,SAAS48D,aAAaz0P,GAAI,OAE9C,KAALA,EAAA,OAEKr/C,EAAGwF,KAAK,IAEf65C,EAAIA,EAAEllD,SAAS,IACf6F,EAAG8B,KAAK3F,EAAK,EAAIkjD,EAAE/iD,QAAS+iD,EAAA,QAGzBr/C,EAAGwF,KAAK,KAGb84B,EAAgB,SAASoL,GAAA,IACvBx+B,EAAMm0C,EAAO/gB,EAAOniC,EAAS6D,EAAYyoH,EAAInoF,EAAA,IACjDtgC,EACE,iQAKFs+B,EAAQ,GACHmqF,EAAK,EAAGnoF,GALb+e,EAAQ5pD,OAAOiH,KAAKgtC,GAAK3jB,MAAK,SAAS2jB,EAAGx+B,GAAA,OACjCw+B,EAAIx+B,CAAA,KAIa5O,OAAQmsH,EAAKnoF,EAAMmoF,IAC3Cv9G,EAAOm0C,EAAMopE,GACTnqF,EAAMhiC,QAAU,MAClB0D,GACE,KACAs+B,EAAMhiC,OACN,iBACAgiC,EAAM94B,KAAK,MACX,cACF84B,EAAQ,aAIRoL,EAAIx+B,IACU,OAAdw+B,EAAIx+B,IAC0B,mBAAvBw+B,EAAIx+B,GAAM/Q,WAEjBgC,GAAW,OAASutC,EAAIx+B,GAAM/Q,SAAS,KAAKQ,OAAO,GACnDuQ,GAAQ,SAAWA,GAAM/Q,SAAS,KAAKQ,OAAO,GAC9C2jC,EAAMx8B,KAAK,IAAMoJ,EAAO,KAAO/O,EAAU,aAIzCmiC,EAAMhiC,SACR0D,GACE,KACAs+B,EAAMhiC,OACN,iBACAgiC,EAAM94B,KAAK,MACX,iBAEJxF,EACE,oEA+EJkL,EAASk8K,OAAOtlL,KAAK,CACnB,UACA,SAASoJ,IA7Ea,SAASA,GAAA,IAC3Bm0C,EAAOn0C,EAAQmvE,KACfl+E,EAAM+O,EAAQ6oQ,IACd/zQ,EAAYkL,EAAQk9Q,UACpB3/J,EAAYv9G,EAAQ89Q,UAAA,GAGtB3pO,EAAK63L,oBAAoBxtM,EAAM4/O,IAAImrB,SACjB,eAAlBp1P,EAAKqrO,SACL,SAEIpqP,EAAS+e,EAAK63L,SAASw8D,QAAQD,OAE/B74R,EADOykC,EAAK63L,SAAS6/D,OAAOhwS,OAAOs4C,EAAK63L,SAASw9D,WAAY,GAE7Dp+P,EAAa,GACR9tC,EAAI,EAAGA,EAAIoS,EAAUte,OAAQkM,IACpC8tC,GAAcp1C,OAAOuqC,aAAa7wB,EAAUpS,IAAA,IAE1CpM,EAAY4D,IAChByoH,EAAU,CAAEl1H,KAAM+iD,EAAY4yO,YAAA,EAAkBC,SAAU/sR,IAC1DD,EAAI,cAEAqkC,EAAOxgC,IAEXyoH,EAAU,CAAEl1H,KADG+qC,EAAc+gB,EAAK63L,SAAS4/D,WACf5tB,YAAA,EAAkBC,SAAU3oP,IACxDrkC,EAAI,cAEAypC,EAAiB5lC,IACrB7D,EAAI,MACJA,EAAI,yBACJA,EAAI,cAAgBu6C,GAAU2I,EAAKyrO,WACnC3uR,EAAI,cAAgBC,EAAY,QAChCD,EAAI,aAAeutC,EAAM4/O,IAAI0tB,UAAUj8M,QAAQ17C,EAAK63L,SAAS+/D,OAC7D96S,EAAI,UAAYkjD,EAAK63L,SAAS78L,OAC9Bl+C,EAAI,UAAYkjD,EAAK63L,SAASggE,OAC9B/6S,EAAI,gBAAkBkjD,EAAK63L,SAASigE,aACpCh7S,EAAI,WAAakjD,EAAK63L,SAASkgE,UAC/Bj7S,EAAI,YAAckjD,EAAK63L,SAASmgE,UAChCl7S,EAAI,cAAgBkjD,EAAK63L,SAASogE,WAClCn7S,EAAI,MACJA,EAAI,cAEAmtC,EAAiBtpC,IACrB7D,EAAI,MACJA,EAAI,eACJA,EAAI,cAAgBu6C,GAAU2I,EAAKyrO,WACnC3uR,EAAI,mBAAqBypC,EAAiB,QAC1CzpC,EAAI,MAAQutC,EAAM4/O,IAAI0tB,UAAUj8M,QAAQz6D,IACxCnkC,EAAI,0BACJA,EAAI,YACJA,EAAI,0BACJA,EAAI,kBACJA,EAAI,MACJA,EAAI,iBACJA,EAAI,qBACJA,EAAI,cAAgBkjD,EAAKqrO,SAAW,KACpCvuR,EAAI,MACJA,EAAI,MACJA,EAAI,UAEJkjD,EAAKwhO,aAAe7gR,IACpB7D,EAAI,MACJA,EAAI,eACJA,EAAI,mBACJA,EAAI,cAAgBqkC,EAAO,QAC3BrkC,EAAI,cAAgBu6C,GAAU2I,EAAKyrO,WACnC3uR,EAAI,cAAgBkjD,EAAKqrO,UACzBvuR,EAAI,qBAAuBmtC,EAAiB,SAC5CntC,EAAI,MACJA,EAAI,UAEJkjD,EAAKmrO,iBAAA,CAAkB,EAvEH,CA8EFt/Q,EAAA,IAqEtBA,EAASk8K,OAAOtlL,KAAK,CACnB,UACA,SAASoJ,IAnEmB,SAASA,GAAA,IACjCm0C,EAAOn0C,EAAQmvE,KACfl+E,EAAM+O,EAAQ6oQ,IACd/zQ,EAAYkL,EAAQk9Q,UACpB3/J,EAAYv9G,EAAQ89Q,UAAA,GAGtB3pO,EAAK63L,oBAAoBxtM,EAAM4/O,IAAImrB,SACjB,oBAAlBp1P,EAAKqrO,SACL,SAGIpqP,EADO+e,EAAK63L,SAASqgE,QAErB38R,EAAa,GACR07B,EAAI,EAAGA,EAAIhW,EAAUhkC,OAAQg6C,IACpC17B,GAAc1Z,OAAOuqC,aAAanL,EAAUgW,IAAA,IAE1C9tC,EAAYxI,IAChByoH,EAAU,CAAEl1H,KAAMqnB,EAAYsuQ,YAAA,EAAkBC,SAAU3gR,IAC1DrM,EAAI,cAEAC,EAAO4D,IAEXyoH,EAAU,CAAEl1H,KADG+qC,EAAc+gB,EAAK63L,SAAS4/D,WACf5tB,YAAA,EAAkBC,SAAU/sR,IACxDD,EAAI,cAEAqkC,EAAiBxgC,IACrB7D,EAAI,MACJA,EAAI,YAAckjD,EAAK63L,SAASmgE,UAChCl7S,EAAI,cAAgBkjD,EAAK63L,SAASogE,WAClCn7S,EAAI,UAAYkjD,EAAK63L,SAASggE,OAC9B/6S,EAAI,yBACJA,EAAI,cAAgBqM,EAAY,QAChCrM,EAAI,aACJA,EAAI,aAAeutC,EAAM4/O,IAAI0tB,UAAUj8M,QAAQ17C,EAAK63L,SAAS+/D,OAC7D96S,EAAI,cAAgBu6C,GAAU2I,EAAKyrO,WACnC3uR,EAAI,gBAAkBkjD,EAAK63L,SAASigE,aACpCh7S,EAAI,WAAakjD,EAAK63L,SAASkgE,UAC/Bj7S,EAAI,MACJA,EAAI,UACJkjD,EAAKwhO,aAAe7gR,IAAA,IACf,IAAI4lC,EAAI,EAAGA,EAAIyZ,EAAK63L,SAASsgE,KAAK/D,OAAOn3S,OAAQspC,IACpDyZ,EAAK63L,SAASsgE,KAAK/D,OAAO7tQ,GAAKsS,SAC7BmH,EAAK63L,SAASsgE,KAAK/D,OAAO7tQ,IAAM,IAAOyZ,EAAK63L,SAAS9kO,KAAKqlS,aAG9Dt7S,EACE,2CACEC,EACA,iBACAs6C,GAAU2I,EAAKyrO,UACf,mBACAtqP,EALF,iBAQE6e,EAAKqrO,SACL,wCACAhhP,EAAM4/O,IAAI0tB,UAAUj8M,QAAQ17C,EAAK63L,SAASsgE,KAAK/D,QAC/C,MAEJt3S,EAAI,UACJkjD,EAAKmrO,iBAAA,CAAkB,EA7DG,CAoEFt/Q,EAAA,QAIxB/O,EAAmB,SAASutC,GAAA,IAc5Bx+B,EAbEozB,EAAOoL,EAAKmxB,MAAQ,GACpB1+D,EAAIutC,EAAK1nB,EACThiB,EAAI0pC,EAAKznB,EACTwmG,EAAU/+E,EAAK9jC,SAAW,CAAC,EAC3B06B,EAAQoJ,EAAK0jP,OAAS,CAAC,EAEvBxyQ,EAAY0lB,EAAM0qP,UAClB10O,EAAgBhW,EAAM+sP,cACtB7kR,EAAQ83B,EAAMinC,MACdnrE,EAAMk6C,EAEN9V,EAAM,GACRoF,EAAI,EAEF0D,EAAU,GACVxD,EAAWt9B,EAAMpM,GAAKsuR,SAAA,GAEE,eAAxBliR,EAAMpM,GAAKsuR,SAAA,MACN,CACL7vN,KAAMv8B,EACNtc,EAAG7lB,EACH8lB,EAAGjiB,EACH4F,QAAS6iH,EACT2kK,MAAO9sP,GAAA,IAGXgJ,EAAUhL,EAEVliC,EAAMk6C,EACFt7C,MAAMD,QAAQujC,KAChBgL,EAAUhL,EAAK,IAEZsH,EAAI,EAAGA,EAAI0D,EAAQhtC,OAAQspC,GAAK,EAC/Bp9B,EAAMpM,GAAK86O,SAASx5O,eAAe,UACrCwN,EACE1C,EAAMpM,GAAK86O,SAASwgE,KAAKC,QAAQC,QAAQtuQ,EAAQ1D,GAAGvlC,WAAW,KAgB9D6K,GAEDo+B,EAAQ1D,GAAGvlC,WAAW,GAAK,KAC3BmI,EAAMpM,GAAK86O,SAASx5O,eAAe,WAOrC8iC,GAAO8I,EAAQ1D,GAHbpF,GAAO,OAMT99B,EAAS,UACTw1C,SAAS97C,EAAIzB,MAAM,IAAM,IAAmB,oBAAbmrC,EAEjCpjC,EAASkY,EAAU4lB,EAAKpkC,GACrBoG,MAAM,IACN+C,KAAI,SAASmkC,GAAA,OACLA,EAAGrpC,WAAW,GAAGlG,SAAS,OAElCqL,KAAK,IACc,eAAbsgC,IACTpjC,EAAS28C,EAAY7e,EAAKh4B,EAAMpM,KAElCkkC,EAAMyW,OAAA,EAEC,CACL8jB,KAAMn4D,EACNsf,EAAG7lB,EACH8lB,EAAGjiB,EACH4F,QAAS6iH,EACT2kK,MAAO9sP,EAAA,EAiDXp1B,EAASk8K,OAAOtlL,KAAK,CAAC,kBA7CG,SAAS4nC,GAAA,IAC5Bx+B,EAAOw+B,EAAMmxB,MAAQ,GAKrBxb,EAAU,GACV/gB,EAAO,CACTu8B,KAAM3vD,EACN8W,EAPI0nB,EAAM1nB,EAQVC,EAPIynB,EAAMznB,EAQVrc,QAPU8jC,EAAM9jC,QAQhBwnR,MAPQ1jP,EAAM0jP,OAAA,GAUZpyR,MAAMD,QAAQmQ,GAAO,KACnBlL,EAAI,MACHA,EAAI,EAAGA,EAAIkL,EAAK5O,OAAQ0D,GAAK,EAC5BhF,MAAMD,QAAQmQ,EAAKlL,KACE,IAAnBkL,EAAKlL,GAAG1D,OACV+iD,EAAQv9C,KAAK,CACX3F,EAAiB1G,OAAO+K,OAAO,CAAC,EAAG89B,EAAM,CAAEu8B,KAAM3vD,EAAKlL,GAAG,MACtD66D,KACH3vD,EAAKlL,GAAG,GACRkL,EAAKlL,GAAG,KAQZq/C,EAAQv9C,KACN3F,EAAiB1G,OAAO+K,OAAO,CAAC,EAAG89B,EAAM,CAAEu8B,KAAM3vD,EAAKlL,MAAO66D,MAInEnxB,EAAMmxB,KAAOxb,CAAA,MAEb3V,EAAMmxB,KAAO1+D,EACX1G,OAAO+K,OAAO,CAAC,EAAG89B,EAAM,CAAEu8B,KAAM3vD,KAChC2vD,IAAA,IAxWR,CA6WGpkB,ICpWH,SAAU/M,GAAA,IAGJx+B,EAAiB,2BACRvL,KAAKulC,SAAS2yQ,MAAA,KAClB3yQ,SAAS2yQ,IAAM,CAAC,IAAD,CAEf,EAaTnuQ,EAAS6qQ,gBAAkB,SAAS7qQ,GAAA,OAClCx+B,EAAexQ,KAAKiF,WAAA,IACNA,KAAKulC,SAAS2yQ,IAAInuQ,EAAA,EAclCA,EAASouQ,aAAe,SAASpuQ,EAAU2V,GAAA,OACzCn0C,EAAexQ,KAAKiF,MAAAA,KACfulC,SAAS2yQ,IAAInuQ,GAAY2V,EACvB1/C,IAAA,EAaT+pC,EAAS8qQ,eAAiB,SAAS9qQ,GAAA,OACjCx+B,EAAexQ,KAAKiF,WAAA,IAETA,KAAKulC,SAAS2yQ,IAAInuQ,GACpB/pC,KAAKulC,SAAS2yQ,IAAInuQ,GAEpB,MA1DX,CA4DG+M,GAAM6yO,KCpET,SAAU5/O,GAojERA,EAAMquQ,eAAiBruQ,EAAMtvC,UAAU29S,eAAiB,SAASruQ,GAAA,IAsF7D2V,EACA/gB,EAGAniC,EACA6D,EACAyoH,EACAnoF,EACA1lB,EA7FE07B,EAAiBprC,EAEjB1C,EAAmB,CACrB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,GACtB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,GAAM,GAAM,EAAG,EAAG,GACzB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAGjBpM,EAAmB,CACrB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnB,CAAC,EAAG,EAAG,EAAG,GAAM,EAAG,EAAG,IAGpBokC,EAAkB,CAAE83B,EAAG,EAAG4wD,EAAG,EAAG8uL,GAAI,EAAGC,GAAI,EAAGlvL,EAAG,EAAGO,EAAG,EAAGX,EAAG,GAE7D/iF,EAAsB,GACrB,IACA,IACA,IACA,KACG,MACA,MACA,MACA,GAGJ0D,EAAc,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,OACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAGExD,EAAuB,IAAI11B,OAC7B,qGAGE1N,GAAA,EAWF43B,EAPU,OASPy9Q,eAAiB,CAAC,EAAD,IAkBlB93S,EAAe,SAASypC,GAAA,IACtBx+B,EAAWw+B,EAAGrpC,aAChBg/C,EAAQn0C,GAAY,EACpBozB,EAAWsH,EAAoByZ,GAAA,gBAE7B/gB,EACKgY,EAA0B,IAAXhY,GAA6B,IAAXpzB,IACrB,MAAVm0C,GAA4B,MAAVA,EACpB,KACEvZ,EAAqBpgC,KAAK25C,GAE5B,IACY,IAAVA,EAEF,IAEF,KAGLp9B,EAAsB,SAASynB,GAAA,IAC5B,IAAWx+B,EAAPm0C,EAAI,EAAaA,EAAI3V,EAAKptC,OAAQ+iD,IAAK,IAE7B,OADjBn0C,EAAWjL,EAAaypC,EAAK93B,OAAOytC,KAAA,SAG7B,GAAiB,MAAbn0C,EAAA,QACF,SAGJ,EAKL4C,EAAmB,SAAS47B,EAAOx+B,EAAOu9G,EAAenoF,GAAA,IAEzD1lB,EACA07B,EACA9tC,EACApM,EAJEokC,EAAQt1B,EAAMo1B,GAAA,OAKVE,GAAA,IACD,QACA,IAoGK,IAGL,UACA,UACA,UACA,UACA,MACH99B,GAAA,EAAc,MA3GA,IAEX,QACA,eAGA,KACCA,IACF89B,EAAQ,gBAIP,KACH99B,GAAA,EAEA89B,EAAQ,cAGL,KAyFW,IAEX,KACHA,EAAQ,UA3FA,IAGL,KAEDF,EAAQ,GACRA,EAAQ,GAAKp1B,EAAM5O,QACqB,QAAtCse,EAAQ6tG,EAAcnoF,EAAQ,KAA0B,OAAV1lB,GAChB,QAA9B07B,EAAQprC,EAAMo1B,EAAQ,KAA0B,OAAVgW,EAExC9V,EAAQ,IACC99B,IACT4zC,EAAQ,MAEV9V,EAAQ8V,IAAU17B,EAAQ07B,EAAQ,cAG/B,KAEH9V,EACY,QAFZ5lB,EAAQ0lB,EAAQ,EAAImoF,EAAcnoF,EAAQ,GAAK,MAG7CA,EAAQ,EAAIp1B,EAAM5O,QACG,OAArB4O,EAAMo1B,EAAQ,GACV,KACA,cAGH,QACCA,EAAQ,GAAkC,OAA7BmoF,EAAcnoF,EAAQ,GAAa,CAClDE,EAAQ,WAEH,GAAI99B,EAAa,CACtB89B,EAAQ,cAGVh4B,EAAI83B,EAAQ,EACZlkC,EAAM8O,EAAM5O,OACLkM,EAAIpM,GAAoB,OAAb8O,EAAM1C,IACtBA,IAGAg4B,EADEh4B,EAAIpM,GAAoB,OAAb8O,EAAM1C,GACX,KAEA,cAIP,SACCrM,IAAgB6D,EAAU,KAE5B5D,EAAM8O,EAAM5O,OACZkM,EAAI83B,EAAQ,EACL93B,EAAIpM,GAAoB,QAAb8O,EAAM1C,IACtBA,IAAA,GAEEA,EAAIpM,EAAK,KACPwpC,EAAI8D,EAAMpJ,GACVgJ,EAAgB1D,GAAK,MAAUA,GAAK,MAAiB,QAANA,EAAA,GACnDhrB,EAAQ1P,EAAM1C,GACV8gC,IAA2B,MAAV1uB,GAA2B,OAAVA,GAAiB,CACrD4lB,EAAQ,YAMZA,EADEF,EAAQ,GAAoC,OAA9B1lB,EAAQ1P,EAAMo1B,EAAQ,IAC9B,IAEAmoF,EAAcnoF,EAAQ,aAI7B,IACH59B,GAAA,EACA28C,GAAA,EACA7e,EAAQlG,EAAA,UAGL,IACHgE,GAAA,EACAkC,EAAQ,IAWA,OAGLA,CAAA,EAkBLuoF,EAAgB,SAASr/E,EAAMx+B,EAAmBm0C,GAAA,IAChD/gB,EAAYoL,EAAKlnC,MAAM,WACvB68C,GACFiZ,EAAeh6B,EAAW+gB,EAAQ,CAAE64P,QAAS59Q,IAE/CgE,EAAU6wC,UACVjkE,GAAqBA,EAAkBikE,UAChC7wC,EAAU94B,KAAK,KAKpB8yD,EAAiB,SAAS5uB,EAAOx+B,EAAQ/O,GAAA,IACvC6D,EAEFyoH,EACAnoF,EACA1lB,EACA07B,EACA1Q,GAAW,EACX0D,EAAMI,EAAMptC,OACZwpC,EAAW,EACX7jB,EAAgB,GAChB8mG,EAAazuF,EAAOl+B,EAAmBoM,EACvC8vD,EAAQ,OAEV51D,GAAA,EAEA28C,GAAA,EACA/gB,GAAA,EACKmqF,EAAI,EAAGA,EAAIn/E,EAAKm/E,IACnBnwD,EAAMmwD,GAAKxoH,EAAaypC,EAAM++E,IAAA,IAE3BnoF,EAAQ,EAAGA,EAAQgJ,EAAKhJ,IAAS,IACpCgW,EAAYxQ,EACZ7jB,EAAcqe,GAASxyB,EACrB47B,EACA4uB,EACAr2C,EACAqe,GAGFtgC,EAAoB,KADpB8lC,EAAWijF,EAAWzyE,GAAW9V,EAAgBve,EAAcqe,MAE/DwF,GAAY,GACZ56B,EAAOo1B,GAAS1lB,EAAWmuG,EAAWjjF,GAAU,GAC5C9lC,EAAS,EAAG,GACC,KAAXA,EAAiB,KACdyoH,EAAI7iF,EAAS6iF,EAAInoF,EAAOmoF,IAC3Bv9G,EAAOu9G,GAAK,EAEd7iF,GAAW,OAEXA,GAAW,KAGHmjF,EAAWjjF,GAAU,IAEd,IAAbF,IACFA,EAAUtF,QAAA,GAGRsF,GAAW,EAAG,KACX6iF,EAAI7iF,EAAS6iF,EAAInoF,EAAOmoF,IAC3Bv9G,EAAOu9G,GAAK7tG,EAEdgrB,GAAW,EAGM,MAAjB0yB,EAAMh4B,KACRp1B,EAAOo1B,GAAS,GAElBnkC,EAAO+7S,SAAWt9R,CAAA,CAEhB0jB,GAxFa,SAASoL,EAAOx+B,EAAQm0C,GAAA,IACpC,IAAI/gB,EAAI,EAAGA,EAAI+gB,EAAQ/gB,IAAA,GACT,MAAboL,EAAMpL,GAAY,CACpBpzB,EAAOozB,GAAKhE,EAAA,IACP,IAAIn+B,EAAImiC,EAAI,EAAGniC,GAAK,GACN,OAAbutC,EAAMvtC,GADgBA,IAExB+O,EAAO/O,GAAKm+B,CAAA,EANH,CAyFFg+B,EAAOptD,EAAQo+B,EAAA,EAM5BkN,EAAiB,SACnB9M,EACAx+B,EACAozB,EACAniC,EACA6D,GAAA,KAEIA,EAAOk4S,QAAUxuQ,GAAA,IAGP,IAAVA,GAjSM,IAiSSpP,IAAqB+kB,EAAA,OACtCn0C,EAAUikE,eACV7wC,GAAqBA,EAAkB6wC,WAAA,QAGrCs5C,EACFnoF,EACA1lB,EACA07B,EACA9tC,EAAM0C,EAAU5O,OAChBF,EAAQ,EAEHA,EAAQoM,GAAK,IACdrM,EAAOC,IAAUstC,EAAO,KAC1B9uB,EAAMxe,EAAQ,EACPwe,EAAMpS,GAAOrM,EAAOye,IAAQ8uB,GACjC9uB,IAAA,IAEG07B,EAAMl6C,EAAOkkC,EAAO1lB,EAAM,EAAG07B,EAAMhW,EAAMgW,IAAOhW,IACnDmoF,EAAKv9G,EAAUorC,GACfprC,EAAUorC,GAAOprC,EAAUo1B,GAC3Bp1B,EAAUo1B,GAAQmoF,EACdnqF,IACFmqF,EAAKnqF,EAAkBgY,GACvBhY,EAAkBgY,GAAOhY,EAAkBgC,GAC3ChC,EAAkBgC,GAAQmoF,GAG9BrsH,EAAQwe,CAAA,CAEVxe,GAAA,IAmBA4lB,EAAW,SAAS0nB,EAAMx+B,EAAmBm0C,GAAA,IAC3C/gB,EAAYoL,EAAKlnC,MAAM,IACzBrG,EAAS,CAAE+7S,QAAS59Q,GAAA,OAEjB+kB,IACHA,EAAS,IAEXiZ,EAAeh6B,EAAW+gB,EAAQljD,GApBf,SAASutC,EAAWx+B,EAAQm0C,GAAA,GACxB,IAAnBA,EAAO64P,SAAiBt9R,EAAA,IACrB,IAAW0jB,EAAPniC,EAAI,EAAUA,EAAIutC,EAAUptC,OAAQH,IACzB,IAAd+O,EAAO/O,KACTmiC,EAAQgL,EAAYloC,QAAQsoC,EAAUvtC,MACzB,IACXutC,EAAUvtC,GAAKmtC,EAAYhL,EAAQ,IANxB,CAqBJA,EAAW+gB,EAAQljD,GAClCq6C,EAAe,EAAalY,EAAWpzB,EAAmBm0C,EAAQljD,GAClEq6C,EA5VU,EA4VclY,EAAWpzB,EAAmBm0C,EAAQljD,GACvDmiC,EAAU94B,KAAK,iBAYnBuyS,eAAeI,cAAgB,SAClCzuQ,EACAx+B,EACAm0C,GAAA,GAlWU,SAAS3V,EAAMx+B,GAAA,GACrBA,EAAA,IACG,IAAIm0C,EAAI,EAAGA,EAAI3V,EAAKptC,OAAQ+iD,IAC/Bn0C,EAAkBm0C,GAAKA,OAAA,IAGvBr/C,IACFA,EAAWiiB,EAAoBynB,SAAA,IAE7BpJ,IACFA,EAAYre,EAAoBynB,GAAA,CAVxB,CAoWJA,EAAMx+B,GACP/O,IAAessH,GAAiBnoF,EAI9B,GAAInkC,GAAessH,GAAgBzoH,EAAWsgC,EAEnDhG,EAAOt6B,EArXC,EADA,EAuXR0pC,EAAOq/E,EAAcr/E,EAAMx+B,EAAmBm0C,QACzC,IAAKljD,GAAessH,GAAgBnoF,EAEzChG,EAAOt6B,EAzXC,EADA,EA2XR0pC,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,GACzC3V,EAAOq/E,EAAcr/E,EAAMx+B,QACtB,IAAI/O,GAAgB6D,GAAayoH,GAAiBnoF,GAIlD,GAAInkC,IAAgBssH,GAAgBzoH,EAAWsgC,EAEpDoJ,EAAOq/E,EAAcr/E,EAAMx+B,GACvBlL,GAEFs6B,EAtYM,EAuYNoP,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,KAGzC/kB,EAzYM,EA0YNoP,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,GACzC3V,EAAOq/E,EAAcr/E,EAAMx+B,SAExB,GAAI/O,GAAe6D,IAAayoH,GAAgBnoF,EAErDhG,EA/YQ,EAgZRoP,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,GACzC3V,EAAOq/E,EAAcr/E,EAAMx+B,QACtB,IAAK/O,IAAgBssH,GAAgBzoH,EAAWsgC,EAAW,KAE5DhC,EAA0B1jB,EAC1B5a,GAEFs6B,EAvZM,EAwZNoP,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,GACzC/kB,EA1ZM,EA2ZN1f,GAAA,EACA8uB,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,GACzCzkC,EAAuB0jB,IAGvBhE,EAhaM,EAiaNoP,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,GACzC3V,EAAOq/E,EAAcr/E,EAAMx+B,GAC3BovB,EAlaM,EAmaN1f,GAAA,EACA8uB,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,GACzCzkC,EAAuB0jB,EACvBoL,EAAOq/E,EAAcr/E,EAAMx+B,GAAA,OAxC7BovB,EA/XQ,EAgYRoP,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,QAdzC/kB,EAAOt6B,EAjXC,EADA,EAmXR0pC,EAAO1nB,EAAS0nB,EAAMx+B,EAAmBm0C,GAAA,OAuDpC3V,CAAA,OAcJquQ,eAAehwR,WAAa,SAAS2hB,GACpCA,IACFvtC,EAAcutC,EAAQ0uQ,cACtB3vL,EAAe/+E,EAAQ2uQ,eACvBr4S,EAAW0pC,EAAQ4uQ,WACnBh4Q,EAAYoJ,EAAQ6uQ,YACpB39R,EAAuB8uB,EAAQ8uQ,oBAAA,OAI9BT,eAAehwR,WAAW2hB,GACxB/pC,KAAKo4S,cAAA,MAGV7sS,EA5jFmB,CACrB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IA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K,eACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,kBACL,IAAK,YACL,IAAK,iBACL,IAAK,cACL,IAAK,eACL,IAAK,eACL,IAAK,YACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,gBACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,gBACL,IAAK,YACL,IAAK,aACL,IAAK,UACL,IAAK,OACL,IAAK,cACL,IAAK,UACL,IAAK,YACL,IAAK,iBACL,IAAK,cACL,IAAK,oBACL,IAAK,gBACL,IAAK,eACL,IAAK,iBACL,IAAK,kBACL,IAAK,cACL,IAAK,qBACL,IAAK,SACL,IAAK,cACL,IAAK,WACL,IAAK,WACL,IAAK,eACL,IAAK,eACL,IAAK,iBACL,IAAK,eACL,IAAK,kBACL,IAAK,qBACL,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,gBACL,IAAK,cACL,IAAK,eACL,IAAK,kBACL,IAAK,oBACL,IAAK,kBACL,IAAK,iBACL,IAAK,UACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,cACL,IAAK,UACL,IAAK,SACL,IAAK,cACL,IAAK,UACL,IAAK,oBACL,IAAK,kBACL,IAAK,QACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,mBACL,IAAK,oBACL,IAAK,cACL,IAAK,cACL,IAAK,mBACL,IAAK,eACL,IAAK,aACL,IAAK,eACL,IAAK,gBACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,iBACL,IAAK,YACL,IAAK,cACL,IAAK,eACL,IAAK,aACL,IAAK,aACL,IAAK,gBACL,IAAK,eACL,IAAK,kBACL,IAAK,gBACL,IAAK,qBACL,IAAK,WACL,IAAK,OACL,IAAK,gBACL,IAAK,kBACL,IAAK,aACL,IAAK,aACL,IAAK,eACL,IAAK,iBACL,IAAK,cACL,IAAK,iBACL,IAAK,qBACL,IAAK,YACL,IAAK,oBACL,IAAK,WACL,IAAK,cACL,IAAK,iBACL,IAAK,WACL,IAAK,eACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,iBACL,IAAK,eACL,IAAK,cACL,IAAK,YACL,IAAK,kBACL,IAAK,oBACL,IAAK,iBACL,IAAK,YACL,IAAK,aACL,IAAK,oBACL,IAAK,aACL,IAAK,eACL,IAAK,iBACL,IAAK,kBACL,IAAK,eACL,IAAK,gBACL,IAAK,gBACL,IAAK,qBACL,IAAK,mBACL,IAAK,qBACL,IAAK,yBACL,IAAK,cACL,IAAK,aACL,IAAK,mBACL,IAAK,sBACL,IAAK,eACL,IAAK,eACL,IAAK,gBACL,IAAK,cACL,IAAK,kBACL,IAAK,cACL,IAAK,gBACL,IAAK,kBACL,IAAK,2BACL,IAAK,eACL,IAAK,iBACL,IAAK,aACL,IAAK,iBACL,IAAK,YACL,IAAK,mBACL,IAAK,cACL,IAAK,wBACL,IAAK,kBACL,IAAK,qBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,qBACL,IAAK,aACL,IAAK,iBACL,IAAK,eACL,IAAK,mBACL,IAAK,aACL,IAAK,eACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,kBACL,IAAK,kBACL,IAAK,gBACL,IAAK,iBACL,IAAK,uBACL,IAAK,0BACL,IAAK,iBACL,IAAK,eACL,IAAK,YACL,IAAK,cACL,IAAK,aACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,qBACL,IAAK,cACL,IAAK,mBACL,IAAK,uBACL,IAAK,mBACL,IAAK,kBACL,IAAK,mBACL,IAAK,cACL,IAAK,iBACL,IAAK,kBACL,IAAK,eACL,IAAK,eACL,IAAK,oBACL,IAAK,sBACL,IAAK,sBACL,IAAK,mBACL,IAAK,qBACL,IAAK,qBACL,IAAK,gBACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,mBACL,IAAK,gBACL,IAAK,wBACL,IAAK,qBACL,IAAK,SACL,IAAK,kBACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,mBACL,IAAK,oBACL,IAAK,eACL,IAAK,oBACL,IAAK,uBACL,IAAK,cACL,IAAK,W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K,WACL,IAAK,gBACL,IAAK,aACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,OACL,IAAK,SACL,IAAK,OACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,YACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,SACL,IAAK,WACL,IAAK,SACL,IAAK,aACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,gBACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,WACL,IAAK,OACL,IAAK,QACL,IAAK,aACL,IAAK,KACL,IAAK,QACL,IAAK,SACL,IAAK,YACL,IAAK,cACL,IAAK,iBACL,IAAK,OACL,IAAK,gBACL,IAAK,WACL,IAAK,cACL,IAAK,WACL,IAAK,iBACL,IAAK,aACL,IAAK,YACL,IAAK,eACL,IAAK,eACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,eACL,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,YACL,IAAK,UACL,IAAK,SACL,IAAK,SACL,IAAK,aACL,IAAK,YACL,IAAK,OACL,IAAK,YACL,IAAK,QACL,IAAK,OACL,IAAK,SACL,IAAK,YACL,IAAK,QACL,IAAK,YACL,IAAK,WACL,IAAK,UACL,IAAK,cACL,IAAK,cACL,IAAK,SACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,UACL,IAAK,WACL,IAAK,cACL,IAAK,MACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,MACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,OACL,IAAK,WACL,IAAK,OACL,IAAK,gBACL,IAAK,YACL,IAAK,cACL,IAAK,QACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACL,IAAK,iBACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,oBACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,QACL,IAAK,cACL,IAAK,cACL,IAAK,WACL,IAAK,eACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,WACL,IAAK,gBACL,IAAK,YACL,IAAK,kBACL,IAAK,eACL,IAAK,gBACL,IAAK,mBACL,IAAK,cACL,IAAK,gBACL,IAAK,cACL,IAAK,WACL,IAAK,MACL,IAAK,YACL,IAAK,aACL,IAAK,qBACL,IAAK,mBACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,UACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,aACL,IAAK,cACL,IAAK,YACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,SACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,OACL,IAAK,OACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,OACL,IAAK,YACL,IAAK,YACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,QACL,IAAK,QACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,cACL,IAAK,UACL,IAAK,YACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,cACL,IAAK,MACL,IAAK,cACL,IAAK,MACL,IAAK,aACL,IAAK,gBACL,IAAK,UACL,IAAK,eACL,IAAK,UACL,IAAK,WACL,IAAK,SACL,IAAK,YACL,IAAK,cAEHD,GAAW,CACb,EAAG,EACH,EAAG,EACH,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,MAAO,GAkBT,SAASyE,GAAmBxrT,GAG3B,OAFQ,OAASA,EAAEtgC,QAAQ4lV,GAAW,iBAAiB5lV,QAAQ,SAAS,MAE/DA,QAAQ,KAAM,KAAKA,QAAQ,KAAK,IAC1C,CAQA,SAAS+rV,GAAc5sS,GACtB,OAAOA,EAAEn/C,QAAQ,KAAK,IACvB,CAEA,IAKIgsV,GAAiC,qBAARtmU,IAE7B,SAASumU,GAAWxN,EAAalkV,EAAgB21Q,GAChD,IAAIj0Q,EAAI,EAAGS,EAAM+hV,EAAIriV,OACrB,GAAG8zQ,GACF,GAAG87E,GAAkB97E,EAAI/pP,IAAI5rB,GAAOhF,OAAO2E,UAAUsD,eAAehD,KAAK01Q,EAAK31Q,GAE7E,IADA,IAAI2xV,EAASF,GAAkB97E,EAAI5hQ,IAAI/T,GAAO21Q,EAAI31Q,GAC5C0B,EAAIiwV,EAAO9vV,SAAUH,EAC1B,GAAGwiV,EAAIyN,EAAOjwV,IAAIutC,IAAMjvC,EAAqB,OAAdkkV,EAAIE,QAAiBuN,EAAOjwV,QAGvD,KAAMA,EAAIS,IAAOT,EACvB,GAAGwiV,EAAIxiV,GAAGutC,IAAMjvC,EAAqB,OAAdkkV,EAAIE,QAAiB1iV,EAY7C,OAVAwiV,EAAI/hV,GAAQ,CAAC8sC,EAAEjvC,GAAekkV,EAAIE,QAAUF,EAAIG,SAC7C1uE,IACC87E,IACE97E,EAAI/pP,IAAI5rB,IAAM21Q,EAAIjuQ,IAAI1H,EAAK,IAC/B21Q,EAAI5hQ,IAAI/T,GAAKqH,KAAKlF,KAEdnH,OAAO2E,UAAUsD,eAAehD,KAAK01Q,EAAK31Q,KAAM21Q,EAAI31Q,GAAO,IAC/D21Q,EAAI31Q,GAAKqH,KAAKlF,KAGTA,CACR,CAEA,SAASyvV,GAAUzjO,EAAc8yC,GAChC,IAAIpyH,EAAK,CAACt3B,IAAI42G,EAAE,EAAE35F,IAAI25F,EAAE,GAEpBirN,GAAO,EASX,OARGn4K,EAAIukL,MAAKA,GAAMvkL,EAAIukL,KACN,MAAbvkL,EAAIr3I,MAAeilB,EAAE82S,YAAc,EACnB,MAAX1kL,EAAIs9K,IAAanF,EAAMqF,GAAQx9K,EAAIs9K,KACxB,MAAXt9K,EAAIm4K,MAAaA,EAAMn4K,EAAIm4K,KAChCA,GAAO,GAAKvqS,EAAEjlB,MAAQ67T,GAAWrM,GAAMvqS,EAAE82S,YAAc,GACrC,MAAb1kL,EAAIr3I,QAAeilB,EAAEjlB,MAAQq3I,EAAIr3I,OACtCq3I,EAAIy8K,SAAQ7uS,EAAE6uS,QAAS,GACV,MAAbz8K,EAAIo7G,QAAiBxtO,EAAEgjT,aAAehjT,EAAEwtO,MAAQp7G,EAAIo7G,OAChDxtO,CACR,CAEA,SAASijT,GAAgBnlH,EAAqBr8D,GAC7C,GAAIq8D,EAAJ,CACA,IAAIolH,EAAO,CAAC,GAAK,GAAK,IAAM,IAAM,GAAK,IAC5B,QAARzhL,IAAgByhL,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,GAAK,KACvB,MAAlBplH,EAAQvkN,OAAgBukN,EAAQvkN,KAAS2pU,EAAK,IAC5B,MAAlBplH,EAAQt8M,QAAgBs8M,EAAQt8M,MAAS0hU,EAAK,IAC5B,MAAlBplH,EAAQtkN,MAAgBskN,EAAQtkN,IAAS0pU,EAAK,IAC5B,MAAlBplH,EAAQr8M,SAAgBq8M,EAAQr8M,OAASyhU,EAAK,IAC5B,MAAlBplH,EAAQl7N,SAAgBk7N,EAAQl7N,OAASsgV,EAAK,IAC5B,MAAlBplH,EAAQ5wB,SAAgB4wB,EAAQ5wB,OAASg2I,EAAK,GAR9B,CASpB,CAEA,SAASC,GAAe7kU,EAAuBu2K,EAAevlL,GAC7D,IAAI29B,EAAI39B,EAAK8zU,OAAiB,MAAVvuJ,EAAK5nJ,EAAY4nJ,EAAK5nJ,EAAI,WAC1Cp6C,EAAI,GAAMS,EAAMgrB,EAAOtrB,OAC3B,GAAQ,MAALi6C,GAAa39B,EAAK+zU,IACpB,KAAMxwV,EAAI,MAASA,EAAG,GAAkB,MAAfyc,EAAK+zU,IAAIxwV,GAAY,CAC7CoxT,GAASpvH,EAAK5nJ,EAAGp6C,GAEjByc,EAAK+zU,IAAIxwV,GAAKgiM,EAAK5nJ,EACnB39B,EAAK8zU,OAAOvuJ,EAAK5nJ,GAAKA,EAAIp6C,EAC1B,KACD,CAED,IAAIA,EAAI,EAAGA,GAAKS,IAAOT,EAAG,GAAGyrB,EAAOzrB,GAAGypU,WAAarvR,EAAG,OAAOp6C,EAS9D,OARAyrB,EAAOhrB,GAAO,CACbgpU,SAASrvR,EACTwsS,OAAO,EACPC,OAAO,EACPC,SAAS,EACTb,KAAK,EACLwK,kBAAkB,GAEZhwV,CACR,CAyCA,SAASiwV,GAASvmB,EAAkB4jB,EAAkB/tV,GACrD,GAAGmqU,GAAMA,EAAG,QAAS,CACpB,IAAIvsQ,EAAQ0rQ,GAAkBa,EAAG,SACjC,GAAGvsQ,EAAM7uD,EAAE0P,EAAIm/C,EAAMz5B,EAAE1lB,GAAKm/C,EAAM7uD,EAAEm0C,EAAI0a,EAAMz5B,EAAE+e,EAAG,MAAM,IAAIhrD,MAAM,cAAgB8H,EAAI,MAAQmqU,EAAG,QACnG,CACD,CAsIA,IAAIwmB,GAAqB,CAAC,UAAW,YAAa,oBAAqB,uBACnEC,GAAoB,CACvB,gBAAiB,aAAc,cAC/B,gBAAiB,aAAc,mBAC/B,gBAAiB,aACjB,OAAQ,aAAc,eAwHvB,SAASC,GAAkB7uJ,EAAe//E,EAAKkoN,EAAI1tT,GAElD,GADGulL,EAAKvjL,GAAG0rT,EAAG,aAAaxkU,KAAK,CAACs8G,EAAK+/E,EAAKvjL,SAC7Bre,IAAX4hM,EAAK7jK,GAAqC,kBAAX6jK,EAAK39J,GAA6B,MAAX29J,EAAKz0J,IAAcy0J,EAAK39J,EAAG,MAAO,GAC3F,IAAI0sR,EAAK,GACL+/B,EAAO9uJ,EAAKz0J,EAAGwjT,EAAO/uJ,EAAK7jK,EAC/B,GAAc,MAAX6jK,EAAKz0J,EAAW,OAAOy0J,EAAKz0J,GAC9B,IAAK,IAAKwjR,EAAK/uH,EAAK7jK,EAAI,IAAM,IAAK,MACnC,IAAK,IAAK4yR,EAAK,GAAG/uH,EAAK7jK,EAAG,MAC1B,IAAK,IAAK4yR,EAAK4Y,GAAK3nI,EAAK7jK,GAAI,MAC7B,IAAK,IACD1hB,GAAQA,EAAKkuT,UAAW5Z,EAAKpuK,GAAUq/C,EAAK7jK,GAAI,GAAGh0B,gBAErD63L,EAAOygI,GAAIzgI,IACNz0J,EAAI,IACTwjR,EAAK,IAAI/uH,EAAK7jK,EAAIyjS,GAAQj/K,GAAUq/C,EAAK7jK,MAErB,qBAAX6jK,EAAK5nJ,IAAmB4nJ,EAAK5nJ,EAAIkxQ,GAAU,KACrD,MACD,QAASyF,EAAK/uH,EAAK7jK,EAEpB,IAAIA,EAAImmS,GAAS,IAAKf,GAAUxS,IAAMzkM,EAAK,CAACppE,EAAE++D,GAE1CmtO,EAAKkB,GAAe7zU,EAAK+nU,QAASxiJ,EAAMvlL,GAE5C,OADU,IAAP2yU,IAAU9iO,EAAEnoF,EAAIirT,GACZptJ,EAAKz0J,GACX,IAAK,IAIL,IAAK,IAAK,MAHV,IAAK,IAAK++E,EAAE/+E,EAAI,IAAK,MACrB,IAAK,IAAK++E,EAAE/+E,EAAI,IAAK,MACrB,IAAK,IAAK++E,EAAE/+E,EAAI,IAAK,MAErB,QAAS,GAAa,MAAVy0J,EAAK7jK,EAAW,QAAS6jK,EAAKz0J,EAAG,KAAO,CACnD,GAAGy0J,EAAK7jK,EAAEh+B,OAAS,MAAO,MAAM,IAAIjI,MAAM,gDAC1C,GAAGukB,GAAQA,EAAKgmU,QAAS,CACxBtkT,EAAImmS,GAAS,IAAK,GAAG0rB,GAAWvzU,EAAKu0U,QAAShvJ,EAAK7jK,EAAG1hB,EAAKw0U,aAC3D3kO,EAAE/+E,EAAI,IAAK,KACZ,CACA++E,EAAE/+E,EAAI,MAGR,GADGy0J,EAAKz0J,GAAKujT,IAAQ9uJ,EAAKz0J,EAAIujT,EAAM9uJ,EAAK7jK,EAAI4yT,GACzB,iBAAV/uJ,EAAK39J,GAAiB29J,EAAK39J,EAAG,CACvC,IAAImlI,EAAKw4B,EAAKznJ,GAAKynJ,EAAKznJ,EAAE/7C,MAAM,EAAGyjH,EAAI9hH,SAAW8hH,EAAM,CAAC10E,EAAE,QAAS00E,IAAI+/E,EAAKznJ,GAAK,KAClFpc,EAAIqmS,GAAU,IAAKjB,GAAUvhI,EAAK39J,GAAImlI,IAAiB,MAAVw4B,EAAK7jK,EAAYA,EAAI,GACnE,CAGA,OAFG6jK,EAAK/hM,GAAGkqU,EAAG,UAAUxkU,KAAK,CAACs8G,EAAK+/E,EAAK/hM,IACrC+hM,EAAKz1E,IAAGD,EAAEk7N,GAAK,GACXhjB,GAAU,IAAKrmS,EAAGmuF,EAC1B,CAyOA,SAAS4kO,GAAapxT,EAAgBrjB,EAAMs2I,EAAiB29K,GAC5D,IAI4BmP,EAJxBvzN,EAAI,CAAC42M,GAAYsB,GAAU,YAAa,KAAM,CACjD,MAASS,GAAW,GACpB,UAAWP,GAAMxhR,KAEd/e,EAAI4uH,EAAG+2K,WAAWhqS,GAAgBqxT,EAAQ,GAC1ChnB,EAAKp3K,EAAGg3K,OAAO5lS,GACV,MAANgmS,IAAYA,EAAK,CAAC,GACrB,IAAIloN,EAAMkoN,EAAG,SAAW,KACpBvsQ,EAAQ0rQ,GAAkBrnN,GAC9B,GAAGrkD,EAAM7uD,EAAE0P,EAAI,OAAUm/C,EAAM7uD,EAAEm0C,EAAI,QAAS,CAC7C,GAAGzmC,EAAKk1T,IAAK,MAAM,IAAIz5U,MAAM,SAAW+pH,EAAM,uCAC9CrkD,EAAM7uD,EAAE0P,EAAI7iB,KAAKia,IAAI+nD,EAAM7uD,EAAE0P,EAAG,OAChCm/C,EAAM7uD,EAAEm0C,EAAItnD,KAAKia,IAAI+nD,EAAM7uD,EAAE0P,EAAG,SAChCwjG,EAAMonN,GAAazrQ,EACpB,CACI8yQ,IAAMA,EAAO,CAAC,GAClBvG,EAAG,aAAe,GAClB,IAAIinB,EAAW,IA5bhB,SAA8BjnB,EAAIp3K,EAAIjzH,EAAKrjB,EAAM6vG,GAChD,IAAI+kO,GAAS,EACTx2V,EAAQ,CAAC,EAAGuoB,EAAU,KAC1B,GAAqB,SAAlB3G,EAAKuyT,UAAuBj8K,EAAGu+L,OAAQ,CACzC,IAAIC,EAAQx+L,EAAG+2K,WAAWhqS,GAC1B,IAASizH,EAAGy+L,WAAUD,EAAQx+L,EAAGy+L,SAASznB,OAAOjqS,GAAK2xT,UAAYF,EAAO,CAAE,MAAMxiV,IAAI,CACrFsiV,GAAS,EACTx2V,EAAM62V,SAAWzwB,GAAUsC,GAAUguB,GACtC,CAEA,GAAGpnB,GAAMA,EAAG,YAAa,CACxB,IAAIwnB,EAAe,CAACC,aAAa,EAAGC,aAAa,GAC9C1nB,EAAG,YAAY2nB,QAAOH,EAAaC,aAAe,GAClDznB,EAAG,YAAYzjT,OAAMirU,EAAaE,aAAe,GACpDzuU,GAAWA,GAAS,IAAMohT,GAAU,YAAa,KAAMmtB,EACxD,EAEIN,GAAWjuU,KACfkpG,EAAEA,EAAEnsH,QAAWqkU,GAAU,UAAWphT,EAASvoB,GAC9C,CA2aCk3V,CAAqB5nB,EAAIp3K,EAAIjzH,EAAKrjB,EAAM6vG,GAExCA,EAAEA,EAAEnsH,QAAWqkU,GAAU,YAAa,KAAM,CAAC,IAAOviN,IAEpDqK,EAAEA,EAAEnsH,QAtTL,SAAiCgqU,EAAI1tT,EAAMqjB,EAAKizH,GAC/C,IAAIi/L,EAAS,CAACC,eAAe,KAG7B,SADMl/L,GAAI,CAAC,GAAGy+L,UAAU,CAAC,GAAGU,OAAO,IAAI,KAAIF,EAAMG,YAAcp/L,EAAGy+L,SAASU,MAAM,GAAGE,IAAM,IAAM,KACzF5tB,GAAU,aAAcA,GAAU,YAAa,KAAMwtB,GAAQ,CAAC,EACtE,CAiTeK,CAAwBloB,EAAI1tT,EAAMqjB,EAAKizH,GAGlDt2I,EAAK61U,cAAahmO,EAAEA,EAAEnsH,QAAWqkU,GAAU,gBAAiB,KAAM,CACpE+tB,iBAAiB91U,EAAK61U,YAAYC,kBAAkB,KACpDC,aAAa/1U,EAAK61U,YAAYE,cAAc,KAC5CC,gBAAgBh2U,EAAK61U,YAAYG,iBAAiB,OAGjC,MAAftoB,EAAG,UAAoBA,EAAG,SAAShqU,OAAS,IAAGmsH,EAAEA,EAAEnsH,QA7WvD,SAA2BgqU,EAAI9/D,GAE9B,IADA,IAAoB9qG,EAAhBjzC,EAAI,CAAC,UACDtsH,EAAI,EAAGA,GAAKqqQ,EAAKlqQ,SAAUH,GAC7Bu/J,EAAM8qG,EAAKrqQ,MAChBssH,EAAEA,EAAEnsH,QAAWqkU,GAAU,MAAO,KAAM0rB,GAAUlwV,EAAGu/J,KAGpD,OADAjzC,EAAEA,EAAEnsH,QAAU,UACPmsH,EAAEjjH,KAAK,GACf,CAqWkEqpV,CAAkBvoB,EAAIA,EAAG,WAE1F79M,EAAEuzN,EAAOvzN,EAAEnsH,QAAU,eACrBgqU,EAAG,UAAY,GACE,MAAdA,EAAG,UACLgnB,EAlFF,SAA2BhnB,EAAkB1tT,EAAMqjB,EAAgBizH,GAClE,IAAwG9wC,EAEzE8/E,EAF3Bz1E,EAAsB,GAAIppE,EAAsB,GAAI0a,EAAQ0rQ,GAAkBa,EAAG,SAAUnoI,EAAK,GAAS9sE,EAAK,GAAIm1I,EAAyB,GAAIt9I,EAAE,EAAGN,EAAE,EAAG24E,EAAO+kI,EAAG,SACnKD,EAAQrrU,MAAMD,QAAQurU,GACtBl/T,EAAU,CAACi4C,EAAEgyE,GAA+B7sG,GAAU,EAC1D,IAAIokG,EAAI7uD,EAAMz5B,EAAE1lB,EAAGguG,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,EAAG49I,EAAK59I,GAAKq8M,GAAWr8M,GAC7D,IAAIM,EAAInvD,EAAMz5B,EAAE+e,EAAG6pE,GAAKnvD,EAAM7uD,EAAEm0C,IAAK6pE,EAAG,CAGvC,IAFA7pE,EAAI,GACJgyE,EAAK2zM,GAAW97M,GACZN,EAAI7uD,EAAMz5B,EAAE1lB,EAAGguG,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,EAAG,CACvCxK,EAAMooJ,EAAK59I,GAAKyI,EAChB,IAAIy9N,EAAQzoB,GAASC,EAAGp9M,IAAI,IAAIN,GAAI09M,EAAGloN,QAC1B7hH,IAAVuyV,GAC6D,OAA5D3wJ,EAAO6uJ,GAAkB8B,EAAO1wO,EAAKkoN,EAAI1tT,KAAyBymC,EAAEv9C,KAAKq8L,EAC9E,EACG9+I,EAAE/iD,OAAS,GAAMilM,GAAQA,EAAKr4E,MAChC9hH,EAAU,CAACi4C,EAAEgyE,GACVkwE,GAAQA,EAAKr4E,MACfg1E,EAAMqD,EAAKr4E,IACJivN,SAAQ/wU,EAAO+wU,OAAS,GAC/B3zT,GAAU,EACP05K,EAAIo6I,IAAK9zT,EAAS20T,GAAMj7I,EAAIo6I,KACvBp6I,EAAIm6I,MAAK7zT,EAAS05K,EAAIm6I,KAC3B7zT,GAAU,IAAKpd,EAAOymH,GAAKrpG,EAAQpd,EAAO2nV,aAAe,GACzD7wJ,EAAI44E,QAAS1vQ,EAAOklV,aAAepuJ,EAAI44E,QAE3CruJ,EAAEA,EAAEnsH,QAAWqkU,GAAU,MAAOthR,EAAE75C,KAAK,IAAK4B,GAE9C,CACA,GAAGm6L,EAAM,KAAMr4E,EAAIq4E,EAAKjlM,SAAU4sH,EAC9Bq4E,GAAQA,EAAKr4E,KACf9hH,EAAU,CAACi4C,EAAE6pE,EAAE,IACfg1E,EAAMqD,EAAKr4E,IACJivN,SAAQ/wU,EAAO+wU,OAAS,GAC/B3zT,GAAU,EACN05K,EAAIo6I,IAAK9zT,EAAS20T,GAAMj7I,EAAIo6I,KACvBp6I,EAAIm6I,MAAK7zT,EAAS05K,EAAIm6I,KAC3B7zT,GAAU,IAAKpd,EAAOymH,GAAKrpG,EAAQpd,EAAO2nV,aAAe,GACzD7wJ,EAAI44E,QAAS1vQ,EAAOklV,aAAepuJ,EAAI44E,OAC3CruJ,EAAEA,EAAEnsH,QAAWqkU,GAAU,MAAO,GAAIv5T,IAGtC,OAAOqhH,EAAEjjH,KAAK,GACf,CAwCUwpV,CAAkB1oB,EAAI1tT,EAAMqjB,EAAKizH,GACtCo+L,EAAMhxV,OAAS,IAAGmsH,EAAEA,EAAEnsH,QAAWgxV,IAElC7kO,EAAEnsH,OAAO0/U,EAAK,IAAKvzN,EAAEA,EAAEnsH,QAAW,eAAiBmsH,EAAEuzN,GAAMvzN,EAAEuzN,GAAM97U,QAAQ,KAAK,MAIhFomU,EAAG,cAAa79M,EAAEA,EAAEnsH,QA1bxB,SAAiCiuV,GAEhC,IAAI9hO,EAAK,CAAClgD,MAAM,GAKhB,OAJAukR,GAAmB7wV,SAAQ,SAASqiC,GAAiB,MAATisT,EAAGjsT,IAAcisT,EAAGjsT,KAAImqF,EAAEnqF,GAAK,IAAK,IAChFyuT,GAAkB9wV,SAAQ,SAASqiC,GAAiB,MAATisT,EAAGjsT,IAAeisT,EAAGjsT,KAAImqF,EAAEnqF,GAAK,IAAK,IAE7EisT,EAAGv1V,WAAUyzH,EAAEzzH,SAAWoqV,GAAsCmL,EAAGv1V,UAAUmF,SAAS,IAAIuE,eACtFiiU,GAAU,kBAAmB,KAAMl4M,EAC3C,CAkbkCwmO,CAAwB3oB,EAAG,cAKpC,MAArBA,EAAG,iBAAwB79M,EAAEA,EAAEnsH,QAhXnC,SAAiC/I,EAAM+yU,EAAIp3K,EAAIjzH,GAC9C,IAAImiF,EAAyB,iBAAZ7qH,EAAK6qH,IAAkB7qH,EAAK6qH,IAAMonN,GAAajyU,EAAK6qH,KACjE8wC,EAAGy+L,WAAUz+L,EAAGy+L,SAAY,CAACznB,OAAO,KACpCh3K,EAAGy+L,SAASuB,QAAOhgM,EAAGy+L,SAASuB,MAAQ,IAC3C,IAAIxvF,EAAyBxwG,EAAGy+L,SAASuB,MACrCn1R,EAAQwrQ,GAAannN,GACtBrkD,EAAMz5B,EAAE+e,GAAK0a,EAAM7uD,EAAEm0C,IAAK0a,EAAM7uD,EAAEm0C,EAAIkmR,GAAae,EAAG,SAASp7T,EAAEm0C,EAAG++D,EAAMonN,GAAazrQ,IAC1F,IAAI,IAAI59D,EAAI,EAAGA,EAAIujQ,EAAMpjQ,SAAUH,EAAG,CACrC,IAAIiC,EAAOshQ,EAAMvjQ,GACjB,GAAgB,yBAAbiC,EAAK2rV,MACL3rV,EAAK+wV,OAASlzT,EAAjB,CACA79B,EAAKgxV,IAAM,IAAMlgM,EAAG+2K,WAAWhqS,GAAO,KAAOmiF,EAAK,KADpB,CAE/B,CAEA,OADGjiH,GAAKujQ,EAAMpjQ,QAAQojQ,EAAM59P,KAAK,CAAEioV,KAAM,wBAAyBoF,MAAOlzT,EAAKmzT,IAAK,IAAMlgM,EAAG+2K,WAAWhqS,GAAO,KAAOmiF,IAC9GuiN,GAAU,aAAc,KAAM,CAACviN,IAAIA,GAC3C,CAiW6CixO,CAAwB/oB,EAAG,eAAgBA,EAAIp3K,EAAIjzH,IAM3E,MAAjBqqS,EAAG,YAAsBA,EAAG,WAAWhqU,OAAS,IAAGmsH,EAAEA,EAAEnsH,QAlf3D,SAA6BgzV,GAC5B,GAAqB,IAAlBA,EAAOhzV,OAAc,MAAO,GAE/B,IADA,IAAImsH,EAAI,sBAAwB6mO,EAAOhzV,OAAS,KACxCH,EAAI,EAAGA,GAAKmzV,EAAOhzV,SAAUH,EAAGssH,GAAK,mBAAqB+8M,GAAa8pB,EAAOnzV,IAAM,MAC5F,OAAOssH,EAAI,eACZ,CA6esE8mO,CAAoBjpB,EAAG,aAM5F,IAAe9/R,EA5Zc0xC,EA4ZzBs3Q,GAAQ,EAAQxiB,GAAO,EAsD3B,OArDU1G,EAAG,UAAqBhqU,OAAS,IAC1CmsH,EAAEA,EAAEnsH,QAAU,eACPgqU,EAAG,UAAqBrqU,SAAQ,SAASG,GAC3CA,EAAE,GAAGgxU,SACT5mS,EAAO,CAAC,IAAMpqC,EAAE,IACY,KAAzBA,EAAE,GAAGgxU,OAAOx7T,OAAO,KACrBo7T,EAAMD,GAASF,GAAO,EAAGnN,GAAUtjU,EAAE,GAAGgxU,QAAQltU,QAAQ,OAAQ,IAAKghU,GAAKoK,OAC1E9kS,EAAI,QAAU,MAAMwmS,IAEjBwiB,EAAOpzV,EAAE,GAAGgxU,OAAOhsU,QAAQ,OAAS,IAAGolC,EAAI30B,SAAW6tT,GAAUtjU,EAAE,GAAGgxU,OAAOzyU,MAAM60V,EAAK,KACxFpzV,EAAE,GAAGq2U,UAASjsS,EAAIipT,QAAU/vB,GAAUtjU,EAAE,GAAGq2U,UAC9ChqN,EAAEA,EAAEnsH,QAAUqkU,GAAU,YAAY,KAAKn6R,GAC1C,IACAiiF,EAAEA,EAAEnsH,QAAU,wBAERgqU,EAAG,UAIW,MAAlBA,EAAG,cAAqB79M,EAAEA,EAAEnsH,SA/a/BiwV,GAD6Br0Q,EAgbkCouP,EAAG,aA9a3D3F,GAAU,cAAe,KAAMzoP,KAublCt/D,IAAQA,EAAK82U,eAA+B,GAAlB92U,EAAK82U,WAAuBjnO,EAAEA,EAAEnsH,QAAUmkU,GAAS,gBAAiBE,GAAU,eAAgB,KAAM,CAACgvB,mBAAmB,EAAGC,MAAMxxO,MAI5JmvO,EAASjxV,OAAS,IACpB0wU,EAAMD,GAASF,GAAO,EAAG,uBAAyB5wS,EAAI,GAAK,OAAQilS,GAAKqL,MACxE9jN,EAAEA,EAAEnsH,QAAUqkU,GAAU,UAAW,KAAM,CAAC,OAAO,MAAQqM,IACzD1G,EAAG,YAAcinB,GAGfjnB,EAAG,aAAahqU,OAAS,IAC3B0wU,EAAMD,GAASF,GAAO,EAAG,0BAA4B5wS,EAAI,GAAK,OAAQilS,GAAKqK,KAC3E9iN,EAAEA,EAAEnsH,QAAUqkU,GAAU,gBAAiB,KAAM,CAAC,OAAO,MAAQqM,IAC/D1G,EAAG,WAAa0G,GAWdvkN,EAAEnsH,OAAO,IAAKmsH,EAAEA,EAAEnsH,QAAW,eAAiBmsH,EAAE,GAAGA,EAAE,GAAGvoH,QAAQ,KAAK,MACjEuoH,EAAEjjH,KAAK,GACf,CAiEA,SAASqqV,GAAiBn7L,EAAI4xK,EAAIvsQ,EAAOmvD,GACxC,IAAIT,EAjDL,SAAyBS,EAAcnvD,EAAOusQ,GAC7C,IAAI79M,EAAIwqM,GAAQ,KACZ/0H,GAAOooI,EAAG,UAAU,IAAIp9M,IAAI,CAAC,EACjCT,EAAEwmM,YAAY,EAAG/lM,GAEjBT,EAAEwmM,YAAY,EAAG,GAEjB,IAAI6gC,EAAQ,IACT5xJ,EAAIo6I,IAAKwX,EAAyB,GAAjB3W,GAAMj7I,EAAIo6I,KACtBp6I,EAAIm6I,MAAKyX,EAAkB,GAAV5xJ,EAAIm6I,KAC7B5vN,EAAEwmM,YAAY,EAAG6gC,GAEjBrnO,EAAEwmM,YAAY,EAAG,GAEjB,IAAI50Q,EAAQ,EACT6jJ,EAAI44E,QAAOz8N,GAAS6jJ,EAAI44E,OACxB54E,EAAIi6I,SAAQ99R,GAAS,KACrB6jJ,EAAIo6I,KAAOp6I,EAAIm6I,OAAKh+R,GAAS,IAChCouE,EAAEwmM,YAAY,EAAG50Q,GAEjBouE,EAAEwmM,YAAY,EAAG,GAGjB,IAAI8gC,EAAW,EAAGC,EAAMvnO,EAAErsH,EAC1BqsH,EAAErsH,GAAK,EAGP,IADA,IAAI6zV,EAAQ,CAAC5wS,EAAE6pE,EAAGtuG,EAAE,GACZze,EAAI,EAAGA,EAAI,KAAMA,EACxB,KAAI49D,EAAMz5B,EAAE1lB,EAAMze,EAAE,GAAM,IAAS49D,EAAM7uD,EAAE0P,EAAKze,GAAK,IAArD,CAEA,IADA,IAAIsS,GAAS,EAAG+7C,GAAQ,EAChBlkB,EAAKnqC,GAAG,GAAKmqC,EAAMnqC,EAAE,GAAI,KAAOmqC,EACvC2pT,EAAMr1U,EAAI0rB,GACCtrC,MAAMD,QAAQurU,IAAOA,EAAG2pB,EAAM5wS,IAAI,IAAI4wS,EAAMr1U,GAAK0rT,EAAGzB,GAAYorB,OAC7DxhV,EAAQ,IAAGA,EAAQ63B,GAAGkkB,EAAOlkB,GAEzC73B,EAAQ,MACTshV,EACFtnO,EAAEwmM,YAAY,EAAGxgT,GACjBg6G,EAAEwmM,YAAY,EAAGzkQ,GAVkD,CAapE,IAAIpuD,EAAIqsH,EAAErsH,EAKV,OAJAqsH,EAAErsH,EAAI4zV,EACNvnO,EAAEwmM,YAAY,EAAG8gC,GACjBtnO,EAAErsH,EAAIA,EAECqsH,EAAEnsH,OAASmsH,EAAErsH,EAAIqsH,EAAE9tH,MAAM,EAAG8tH,EAAErsH,GAAKqsH,CAC3C,CAESynO,CAAgBhnO,EAAGnvD,EAAOusQ,IAC9B79M,EAAEnsH,OAAS,KAAQgqU,EAAG,UAAU,IAAIp9M,KAAIm7M,GAAa3vK,EAAI,EAAwBjsC,EACtF,CAGA,IAAI0nO,GAAiBjnB,GACjBknB,GAAiBjnB,GA2IrB,SAASknB,GAAmB98V,GAG3B,MAAO,CAFI20U,GAAoB30U,GACnB61U,GAAW71U,GACF,IACtB,CAgIA,IAAI+8V,GAAqBpnB,GACrBqnB,GAAqBpnB,GAiFzB,IAAIqnB,GAAgB,CAAC,OAAO,QAAQ,MAAM,SAAS,SAAS,UA4X5D,SAASC,GAAkB/7L,EAAiBypC,EAAej1E,EAAcN,EAAchwG,EAAM0tT,EAAkBoqB,GAC9G,QAAcn0V,IAAX4hM,EAAK7jK,EAAiB,OAAO,EAChC,IAAI4yR,EAAK,GACT,OAAO/uH,EAAKz0J,GACX,IAAK,IAAKwjR,EAAK/uH,EAAK7jK,EAAI,IAAM,IAAK,MACnC,IAAK,KACJ6jK,EAAOygI,GAAIzgI,IACN5nJ,EAAI4nJ,EAAK5nJ,GAAKkxQ,GAAU,IAC7BtpH,EAAK7jK,EAAIyjS,GAAQj/K,GAAUq/C,EAAK7jK,IAAK6jK,EAAKz0J,EAAI,IAC9C,MAED,IAAK,IAAK,IAAK,IAAKwjR,EAAK,GAAG/uH,EAAK7jK,EAAG,MACpC,QAAS4yR,EAAK/uH,EAAK7jK,EAEpB,IAAImuF,EAAa,CAACppE,EAAE6pE,EAAGtuG,EAAEguG,GAKzB,OAHAH,EAAEnoF,EAAImsT,GAAe7zU,EAAK+nU,QAASxiJ,EAAMvlL,GACtCulL,EAAK/hM,GAAGkqU,EAAG,UAAUxkU,KAAK,CAAC+iU,GAAYp8M,GAAI01E,EAAK/hM,IAChD+hM,EAAKvjL,GAAG0rT,EAAG,aAAaxkU,KAAK,CAAC+iU,GAAYp8M,GAAI01E,EAAKvjL,IAC/CujL,EAAKz0J,GACX,IAAK,IAAK,IAAK,MAWd,OAVG9wB,EAAKgmU,SACP1xB,EAAKi/B,GAAWvzU,EAAKu0U,QAAUhvJ,EAAK7jK,EAAY1hB,EAAKw0U,YACrD3kO,EAAE/+E,EAAI,IAAK++E,EAAEnuF,EAAI4yR,EACdwjC,EAAWrsB,GAAa3vK,EAAI,GA7nBnC,SAA4BypC,EAAMwyJ,EAAOloO,GAIxC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,IAC1BkV,GAAoBwoB,EAAOloO,GAC3BA,EAAEwmM,YAAY,EAAG0hC,EAAMr2T,GAChBmuF,CACR,CAwnB8DmoO,CAAmBzyJ,EAAM11E,IAC9E47M,GAAa3vK,EAAI,EAzoB1B,SAA2BypC,EAAMwyJ,EAAOloO,GAIvC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,KAC1BgV,GAAe0oB,EAAOloO,GACtBA,EAAEwmM,YAAY,EAAG0hC,EAAMr2T,GAChBmuF,CACR,CAooBoDooO,CAAkB1yJ,EAAM11E,MAExEA,EAAE/+E,EAAI,MACHgnT,EAAWrsB,GAAa3vK,EAAI,GAljBnC,SAA0BypC,EAAMwyJ,EAAOloO,GAItC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,EAAI,EAAI90H,EAAK7jK,EAAEh+B,SACzC6rU,GAAoBwoB,EAAOloO,GAC3B2+M,GAAmBjpI,EAAK7jK,EAAGmuF,GACpBA,EAAEnsH,OAASmsH,EAAErsH,EAAIqsH,EAAE9tH,MAAM,EAAG8tH,EAAErsH,GAAKqsH,CAC3C,CA6iB4DqoO,CAAiB3yJ,EAAM11E,IAC1E47M,GAAa3vK,EAAI,EA9jB1B,SAAyBypC,EAAMwyJ,EAAOloO,GAIrC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,GAAK,EAAI90H,EAAK7jK,EAAEh+B,SAC1C2rU,GAAe0oB,EAAOloO,GACtB2+M,GAAmBjpI,EAAK7jK,EAAGmuF,GACpBA,EAAEnsH,OAASmsH,EAAErsH,EAAIqsH,EAAE9tH,MAAM,EAAG8tH,EAAErsH,GAAKqsH,CAC3C,CAyjBkDsoO,CAAgB5yJ,EAAM11E,MAE9D,EACR,IAAK,IAQF,OANC01E,EAAK7jK,IAAe,EAAT6jK,EAAK7jK,IAAU6jK,EAAK7jK,GAAK,KAAQ6jK,EAAK7jK,EAAI,IACpDo2T,EAAWrsB,GAAa3vK,EAAI,GAxlBnC,SAA0BypC,EAAMwyJ,EAAOloO,GAItC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,IAC1BkV,GAAoBwoB,EAAOloO,GAC3BsgN,GAAe5qI,EAAK7jK,EAAGmuF,GAChBA,CACR,CAmlB4DuoO,CAAiB7yJ,EAAM11E,IAC1E47M,GAAa3vK,EAAI,EApmB1B,SAAyBypC,EAAMwyJ,EAAOloO,GAIrC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,KAC1BgV,GAAe0oB,EAAOloO,GACtBsgN,GAAe5qI,EAAK7jK,EAAGmuF,GAChBA,CACR,CA+lBkDwoO,CAAgB9yJ,EAAM11E,IAEjEioO,EAAWrsB,GAAa3vK,EAAI,GAnnBnC,SAA4BypC,EAAMwyJ,EAAOloO,GAIxC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,KAC1BkV,GAAoBwoB,EAAOloO,GAC3B4gN,GAAWlrI,EAAK7jK,EAAGmuF,GACZA,CACR,CA8mB8DyoO,CAAmB/yJ,EAAM11E,IAC9E47M,GAAa3vK,EAAI,EA/nB1B,SAA2BypC,EAAMwyJ,EAAOloO,GAIvC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,KAC1BgV,GAAe0oB,EAAOloO,GACtB4gN,GAAWlrI,EAAK7jK,EAAGmuF,GACZA,CACR,CA0nBoD0oO,CAAkBhzJ,EAAM11E,KAChE,EACV,IAAK,IAIJ,OAHAA,EAAE/+E,EAAI,IACHgnT,EAAWrsB,GAAa3vK,EAAI,GAnsBlC,SAA4BypC,EAAMwyJ,EAAOloO,GAIxC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,IAC1BkV,GAAoBwoB,EAAOloO,GAC3BA,EAAEwmM,YAAY,EAAG9wH,EAAK7jK,EAAI,EAAI,GACvBmuF,CACR,CA8rB6D2oO,CAAmBjzJ,EAAM11E,IAC9E47M,GAAa3vK,EAAI,EA/sBzB,SAA2BypC,EAAMwyJ,EAAOloO,GAIvC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,IAC1BgV,GAAe0oB,EAAOloO,GACtBA,EAAEwmM,YAAY,EAAG9wH,EAAK7jK,EAAI,EAAI,GACvBmuF,CACR,CA0sBmD4oO,CAAkBlzJ,EAAM11E,KACjE,EACR,IAAK,IAIJ,OAHAA,EAAE/+E,EAAI,IACHgnT,EAAWrsB,GAAa3vK,EAAI,GAhrBlC,SAA6BypC,EAAMwyJ,EAAOloO,GAMzC,OALQ,MAALA,IAAWA,EAAIwqM,GAAQ,IAC1BkV,GAAoBwoB,EAAOloO,GAC3BA,EAAEwmM,YAAY,EAAG9wH,EAAK7jK,GACtBmuF,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACVxmM,CACR,CAyqB8D6oO,CAAoBnzJ,EAAM11E,IAChF47M,GAAa3vK,EAAI,EA5rBzB,SAA4BypC,EAAMwyJ,EAAOloO,GAIxC,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,IAC1BgV,GAAe0oB,EAAOloO,GACtBA,EAAEwmM,YAAY,EAAG9wH,EAAK7jK,GACfmuF,CACR,CAurBoD8oO,CAAmBpzJ,EAAM11E,KACnE,EAIT,OAFGioO,EAAWrsB,GAAa3vK,EAAI,GAluBhC,SAA6BypC,EAAMwyJ,EAAOloO,GAEzC,OADQ,MAALA,IAAWA,EAAIwqM,GAAQ,IACnBkV,GAAoBwoB,EAAOloO,EACnC,CA+tB4D+oO,CAAoBrzJ,EAAM11E,IAChF47M,GAAa3vK,EAAI,EA3uBvB,SAA4BypC,EAAMwyJ,EAAOloO,GAExC,OADQ,MAALA,IAAWA,EAAIwqM,GAAQ,IACnBgV,GAAe0oB,EAAOloO,EAC9B,CAwuBkDgpO,CAAmBtzJ,EAAM11E,KACnE,CACR,CA2BA,SAASipO,GAAiBh9L,EAAI4xK,GACzBA,GAAOA,EAAG,aACdjC,GAAa3vK,EAAI,IA/hBlB,SAAkCw+J,EAAKzqM,GAGtC,OAFQ,MAALA,IAAWA,EAAIwqM,GAAQ,IAC1BxqM,EAAEwmM,YAAY,EAAGiE,GACVzqM,CACR,CA2hBmDkpO,CAAyBrrB,EAAG,WAAWhqU,SACzFgqU,EAAG,WAAWrqU,SAAQ,SAASyG,GAAK2hU,GAAa3vK,EAAI,IAA2B67L,GAAmB7tV,GAAK,IACxG2hU,GAAa3vK,EAAI,KAClB,CAEA,SAASk9L,GAAel9L,EAAI4xK,GACvBA,GAAOA,EAAG,WACdjC,GAAa3vK,EAAI,KACjB4xK,EAAG,SAASrqU,SAAQ,SAASyG,EAAGvG,GAAQuG,GAAG2hU,GAAa3vK,EAAI,GAxe7D,SAA0B9rC,EAAc8yC,EAAKjzC,GACpC,MAALA,IAAWA,EAAIwqM,GAAQ,KAC1B,IAAI3pR,EAAI+iT,GAAUzjO,EAAG8yC,GACrBjzC,EAAEwmM,aAAa,EAAGrmM,GAClBH,EAAEwmM,aAAa,EAAGrmM,GAClBH,EAAEwmM,YAAY,EAAqB,KAAjB3lR,EAAEjlB,OAAS,KAC7BokG,EAAEwmM,YAAY,EAAG,GACjB,IAAI50Q,EAAQ,EAKZ,OAJGqhH,EAAIy8K,SAAQ99R,GAAS,GACH,iBAAX/Q,EAAEjlB,QAAmBg2B,GAAS,GACrCqhH,EAAIo7G,QAAOz8N,GAAUqhH,EAAIo7G,OAAS,GACrCruJ,EAAEwmM,YAAY,EAAG50Q,GACVouE,CACR,CA2dwFopO,CAAiB11V,EAAGuG,GAAK,IAChH2hU,GAAa3vK,EAAI,KAClB,CAEA,SAASo9L,GAAgBp9L,EAAI4xK,GACxBA,GAAOA,EAAG,UACdjC,GAAa3vK,EAAI,KACjB2vK,GAAa3vK,EAAI,IAxblB,SAA+Bt2C,GAC9B,IAAIqK,EAAIwqM,GAAQ,IAIhB,OAHAxqM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBka,GAAmB/qN,EAAKqK,GACjBA,CACR,CAkbgDspO,CAAsBtsB,GAAkBa,EAAG,WAC1FjC,GAAa3vK,EAAI,KAClB,CAEA,SAASs9L,GAAat9L,EAAI4xK,EAAkBuG,GAE3CvG,EAAG,UAAUrqU,SAAQ,SAASG,GAC7B,GAAIA,EAAE,GAAGgxU,OAAT,CACA,IAAIJ,EAAMD,GAASF,GAAO,EAAGzwU,EAAE,GAAGgxU,OAAOltU,QAAQ,OAAQ,IAAKghU,GAAKoK,OACnEjH,GAAa3vK,EAAI,IApiBnB,SAAwBt4J,EAAG4wU,GAC1B,IAAIvkN,EAAIwqM,GAAQ,GAAG,GAAG72T,EAAE,GAAGgxU,OAAO9wU,QAAUF,EAAE,GAAGq2U,SAAW,IAAIn2U,SAChE6sU,GAAmB,CAAC7oS,EAAEglS,GAAYlpU,EAAE,IAAK8O,EAAEo6T,GAAYlpU,EAAE,KAAMqsH,GAC/DigN,GAAY,MAAQsE,EAAKvkN,GACzB,IAAIwpO,EAAS71V,EAAE,GAAGgxU,OAAOhsU,QAAQ,KAKjC,OAHAgmU,KADqB,GAAX6qB,EAAe,GAAK71V,EAAE,GAAGgxU,OAAOzyU,MAAMs3V,EAAO,KAC7B,GAAIxpO,GAC9B2+M,GAAmBhrU,EAAE,GAAGq2U,SAAW,GAAIhqN,GACvC2+M,GAAmB,GAAI3+M,GAChBA,EAAE9tH,MAAM,EAAG8tH,EAAErsH,EACrB,CA0hB0C81V,CAAe91V,EAAG4wU,GAFnC,CAGxB,WACO1G,EAAG,SACX,CAoCA,SAAS6rB,GAAez9L,EAAI4xK,EAAIqnB,GAC/BtpB,GAAa3vK,EAAI,KAGhB2vK,GAAa3vK,EAAI,IAhgBnB,SAA8B4xK,EAAIqnB,EAAUllO,GACnC,MAALA,IAAWA,EAAIwqM,GAAQ,KAC1B,IAAIzyR,EAAI,IAcR,SAbMmtT,GAAU,CAAC,GAAGU,OAAO,IAAI,IAAI,CAAC,GAAGE,MAAK/tT,GAAK,IACjDioF,EAAEwmM,YAAY,EAAGzuR,GACjBioF,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,KACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACVxmM,CACR,CA+egD2pO,CAAqB9rB,EAAIqnB,IAKvEtpB,GAAa3vK,EAAI,KAGlB2vK,GAAa3vK,EAAI,IAClB,CAOA,SAAS29L,GAAmB39L,EAAI4xK,GAC3BA,EAAG,aAEPjC,GAAa3vK,EAAI,IAtflB,SAAkC61L,EAAI9hO,GAyBrC,OAxBQ,MAALA,IAAWA,EAAIwqM,GAAQ,KAC1BxqM,EAAEwmM,YAAY,EAAGs7B,EAAGv1V,SAAWoqV,GAAsCmL,EAAGv1V,UAAY,GACpFyzH,EAAEwmM,YAAY,EAAG,GACjB,CACC,CAAC,WAAuB,GACxB,CAAC,aAAuB,GACxB,CAAC,eAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,oBAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,qBAAuB,GACxB,CAAC,QAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,eAAwB,GACzB,CAAC,uBAAuB,IACvBhzT,SAAQ,SAASqiC,GAEfA,EAAE,GAAImqF,EAAEwmM,YAAY,EAAe,MAAZs7B,EAAGjsT,EAAE,KAAgBisT,EAAGjsT,EAAE,IAAU,EAAJ,GAChDmqF,EAAEwmM,YAAY,EAAe,MAAZs7B,EAAGjsT,EAAE,KAAeisT,EAAGjsT,EAAE,IAAM,EAAI,EAC/D,IACOmqF,CACR,CA4dmD6pO,CAAyBhsB,EAAG,aAC/E,CAEA,SAASisB,GAAat2T,EAAgBrjB,EAAMs2I,EAAiB29K,GAC5D,IAAIn4K,EAAKqvK,KACLzjS,EAAI4uH,EAAG+2K,WAAWhqS,GAAMqqS,EAAKp3K,EAAGg3K,OAAO5lS,IAAM,CAAC,EAC9C1lB,EAAe0lB,EAAG,IAAS4uH,GAAMA,EAAGy+L,WAAU/yU,EAAIs0I,EAAGy+L,SAASznB,OAAOjqS,GAAK2xT,UAAYhzU,EAAG,CAAE,MAAM1P,IAAI,CACzG,IAAIm0C,EAAIomR,GAAkBa,EAAG,SAAW,MACxC,GAAGjnR,EAAEn0C,EAAE0P,EAAI,OAAUykC,EAAEn0C,EAAEm0C,EAAI,QAAS,CACrC,GAAGzmC,EAAKk1T,IAAK,MAAM,IAAIz5U,MAAM,UAAYiyU,EAAG,SAAW,MAAQ,uCAC/DjnR,EAAEn0C,EAAE0P,EAAI7iB,KAAKia,IAAIqtC,EAAEn0C,EAAE0P,EAAG,OACxBykC,EAAEn0C,EAAEm0C,EAAItnD,KAAKia,IAAIqtC,EAAEn0C,EAAE0P,EAAG,QACzB,CA4CA,OA3CA0rT,EAAG,UAAY,GAEfA,EAAG,aAAe,GAClBjC,GAAa3vK,EAAI,MACdxF,EAAGu+L,QAAUnnB,EAAG,cAAajC,GAAa3vK,EAAI,IAt4BlD,SAAyBj6J,EAAKkvT,EAAMlhM,GAC3B,MAALA,IAAWA,EAAIwqM,GAAQ,GAAG,EAAEx4T,EAAI6B,SACnC,IAAIkkC,EAAI,IACLmpR,IACCA,EAAKskC,QAAOztT,IAAK,IACjBmpR,EAAK9mS,OAAO2d,IAAK,MAErBioF,EAAEwmM,YAAY,EAAGzuR,GACjB,IAAI,IAAIrkC,EAAI,EAAGA,EAAI,IAAKA,EAAGssH,EAAEwmM,YAAY,EAAE,GAK3C,OAJAqa,GAAe,CAACp8S,KAAK,GAAIu7F,GACzBA,EAAEwmM,aAAa,GAAG,GAClBxmM,EAAEwmM,aAAa,GAAG,GAClBoZ,GAAmB5tU,EAAKguH,GACjBA,EAAE9tH,MAAM,EAAG8tH,EAAErsH,EACrB,CAw3B0Eo2V,CAAgB53U,EAAG0rT,EAAG,cAC/FjC,GAAa3vK,EAAI,IAAuB07L,GAAe/wS,IACvD8yS,GAAez9L,EAAI4xK,EAAIp3K,EAAGy+L,UAE1BiE,GAAel9L,EAAI4xK,GAtIpB,SAAyB5xK,EAAI4xK,EAAkBrqS,EAAgBrjB,GAC9D,IAAmDwlG,EAA/CrkD,EAAQ0rQ,GAAkBa,EAAG,SAAW,MAAYj1M,EAAK,GAAIm1I,EAAyB,GAC1F69D,GAAa3vK,EAAI,KACjB,IAAI2xK,EAAQrrU,MAAMD,QAAQurU,GACtBmsB,EAAM14R,EAAM7uD,EAAEm0C,EACfinR,EAAG,WAAUmsB,EAAM16V,KAAKk3B,IAAI8qC,EAAM7uD,EAAEm0C,EAAGinR,EAAG,SAAShqU,OAAS,IAC/D,IAAI,IAAI4sH,EAAInvD,EAAMz5B,EAAE+e,EAAG6pE,GAAKupO,IAAOvpO,EAAG,CACrCmI,EAAK2zM,GAAW97M,GAGhB2mO,GAAiBn7L,EAAI4xK,EAAIvsQ,EAAOmvD,GAChC,IAAIwnO,GAAY,EAChB,GAAGxnO,GAAKnvD,EAAM7uD,EAAEm0C,EAAG,IAAI,IAAIupE,EAAI7uD,EAAMz5B,EAAE1lB,EAAGguG,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,EAAG,CAE3DM,IAAMnvD,EAAMz5B,EAAE+e,IAAGmnN,EAAK59I,GAAKq8M,GAAWr8M,IACzCxK,EAAMooJ,EAAK59I,GAAKyI,EAChB,IAAI8sE,EAAOkoI,GAASC,EAAGp9M,IAAI,IAAIN,GAAK09M,EAAGloN,GAGvCsyO,IAFIvyJ,GAEQsyJ,GAAkB/7L,EAAIypC,EAAMj1E,EAAGN,EAAGhwG,EAAM0tT,EAAIoqB,EACzD,CACD,CACArsB,GAAa3vK,EAAI,IAClB,CAgHCg+L,CAAgBh+L,EAAI4xK,EAAIrqS,EAAKrjB,GAE7By5U,GAAmB39L,EAAI4xK,GAzExB,SAA0B5xK,EAAI4xK,EAAIp3K,EAAIjzH,GACrC,GAAIqqS,EAAG,eAAP,CACA,IAAI/yU,EAAO+yU,EAAG,eACVloN,EAA0B,kBAAb7qH,EAAK6qH,IAAmB7qH,EAAK6qH,IAAMonN,GAAajyU,EAAK6qH,KAGlE8wC,EAAGy+L,WAAUz+L,EAAGy+L,SAAY,CAACznB,OAAO,KACpCh3K,EAAGy+L,SAASuB,QAAOhgM,EAAGy+L,SAASuB,MAAQ,IAC3C,IAAIxvF,EAAyBxwG,EAAGy+L,SAASuB,MACrCn1R,EAAQwrQ,GAAannN,GACtBrkD,EAAMz5B,EAAE+e,GAAK0a,EAAM7uD,EAAEm0C,IAAK0a,EAAM7uD,EAAEm0C,EAAIkmR,GAAae,EAAG,SAASp7T,EAAEm0C,EAAG++D,EAAMonN,GAAazrQ,IAC1F,IAAI,IAAI59D,EAAI,EAAGA,EAAIujQ,EAAMpjQ,SAAUH,EAAG,CACrC,IAAIiC,EAAOshQ,EAAMvjQ,GACjB,GAAgB,yBAAbiC,EAAK2rV,MACL3rV,EAAK+wV,OAASlzT,EAAjB,CACA79B,EAAKgxV,IAAM,IAAMlgM,EAAG+2K,WAAWhqS,GAAO,KAAOmiF,EAAK,KADpB,CAE/B,CACGjiH,GAAKujQ,EAAMpjQ,QAAQojQ,EAAM59P,KAAK,CAAEioV,KAAM,wBAAyBoF,MAAOlzT,EAAKmzT,IAAK,IAAMlgM,EAAG+2K,WAAWhqS,GAAO,KAAOmiF,IAErHimN,GAAa3vK,EAAI,IAA8By0K,GAAmB1D,GAAkBrnN,KAIpFimN,GAAa3vK,EAAI,IAtBY,CAuB9B,CAoDCi+L,CAAiBj+L,EAAI4xK,EAAIp3K,EAAIjzH,GAI7By1T,GAAiBh9L,EAAI4xK,GAIrB0rB,GAAat9L,EAAI4xK,EAAIuG,GAElBvG,EAAG,aAAajC,GAAa3vK,EAAI,IArkBrC,SAA0B0yE,EAAqB3+G,GAI9C,OAHQ,MAALA,IAAWA,EAAIwqM,GAAQ,KAC1Bs5B,GAAgBnlH,GAChBopH,GAAcv0V,SAAQ,SAAS+qC,GAAKqiS,GAAYjiG,EAAiBpgM,GAAIyhF,EAAI,IAClEA,CACR,CAgkB8DmqO,CAAiBtsB,EAAG,cAO7E1tT,IAAQA,EAAK82U,eAA+B,GAAlB92U,EAAK82U,UAAuBoC,GAAgBp9L,EAAI4xK,GAtG/E,SAA6B5xK,EAAI4xK,EAAkBrqS,EAAgB4wS,GAElE,GAAGvG,EAAG,aAAahqU,OAAS,EAAG,CAC9B,IAAI0wU,EAAMD,GAASF,GAAO,EAAG,0BAA4B5wS,EAAI,GAAK,OAAQilS,GAAKqK,KAC/ElH,GAAa3vK,EAAI,IAA+Bg0K,GAAY,MAAQsE,IACpE1G,EAAG,WAAa0G,CACjB,CACD,CAkGC6lB,CAAoBn+L,EAAI4xK,EAAIrqS,EAAK4wS,GAQjCxI,GAAa3vK,EAAI,KACVA,EAAGrnI,KACX,CAqJA,IAAIylU,GAAa,CAChB,CAAC,qBAA+B,EAAO,QACvC,CAAC,wBAA+B,EAAO,QACvC,CAAC,cAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,WAA+B,IAChC,CAAC,YAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAQ,OACxC,CAAC,iBAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,qBAA+B,EAAO,QACvC,CAAC,gBAA+B,EAAO,QACvC,CAAC,yBAA+B,EAAO,QACvC,CAAC,0BAA+B,EAAO,QACvC,CAAC,8BAA+B,EAAO,QACvC,CAAC,qBAA+B,EAAO,QACvC,CAAC,cAA+B,OAChC,CAAC,wBAA+B,EAAO,QACvC,CAAC,cAAe,YAgGjB,IAAIC,GAAwB,UAAWvwV,MAAM,IAC7C,SAASwwV,GAAc10T,EAAc20T,GACpC,GAAG30T,EAAEhiC,OAAS,GAAI,CAAE,GAAG22V,EAAM,OAAO,EAAO,MAAM,IAAI5+V,MAAM,qCAAuC,CAClG,IAAI6+V,GAAQ,EAMZ,OALAH,GAAS92V,SAAQ,SAAS2e,GACzB,IAAoB,GAAjB0jB,EAAEl9B,QAAQwZ,GAAb,CACA,IAAIq4U,EAAM,MAAM,IAAI5+V,MAAM,4CAC1B6+V,GAAQ,CAFqB,CAG9B,IACOA,CACR,CAWA,SAASC,GAASjkM,GACjB,IAAIA,IAAOA,EAAG+2K,aAAe/2K,EAAGg3K,OAAQ,MAAM,IAAI7xU,MAAM,oBACxD,IAAI66J,EAAG+2K,WAAW3pU,OAAQ,MAAM,IAAIjI,MAAM,qBAC1C,IAAI6xU,EAAUh3K,EAAGy+L,UAAYz+L,EAAGy+L,SAASznB,QAAW,IAbrD,SAAwBn9M,EAAGJ,EAAGyqO,GAC7BrqO,EAAE9sH,SAAQ,SAASqiC,EAAEniC,GACpB62V,GAAc10T,GACd,IAAI,IAAIgI,EAAI,EAAGA,EAAInqC,IAAKmqC,EAAG,GAAGhI,GAAKyqF,EAAEziF,GAAI,MAAM,IAAIjyC,MAAM,yBAA2BiqC,GACpF,GAAG80T,EAAO,CACT,IAAI/nD,EAAM1iL,GAAKA,EAAExsH,IAAMwsH,EAAExsH,GAAGyxV,UAAatvT,EACzC,GAAuB,IAApB+sQ,EAAGhrS,WAAW,IAAYgrS,EAAG/uS,OAAS,GAAI,MAAM,IAAIjI,MAAM,2BAA6Bg3S,EAC3F,CACD,GACD,CAKCgoD,CAAenkM,EAAG+2K,WAAYC,IAAUh3K,EAAGu+L,QAC3C,IAAI,IAAItxV,EAAI,EAAGA,EAAI+yJ,EAAG+2K,WAAW3pU,SAAUH,EAAG0wV,GAAS39L,EAAGg3K,OAAOh3K,EAAG+2K,WAAW9pU,IAAK+yJ,EAAG+2K,WAAW9pU,GAAIA,EAEvG,CAiKA,SAASm3V,GAAapkM,GACrB,IAAIzmC,EAAI,CAAC42M,IACT52M,EAAEA,EAAEnsH,QAAUqkU,GAAU,WAAY,KAAM,CACzC,MAASS,GAAW,GAGpB,UAAWP,GAAMxhR,IAGlB,IAAIk0S,EAAerkM,EAAGy+L,WAAaz+L,EAAGy+L,SAASuB,OAAO,IAAI5yV,OAAS,EAK/Dk3V,EAAsB,CAAC3F,SAAS,gBACjC3+L,EAAGy+L,UAAYz+L,EAAGy+L,SAAS8F,UAC7BX,GAAW72V,SAAQ,SAAS+lB,GAEe,MAAtCktI,EAAGy+L,SAAS8F,QAAQzxU,EAAE,KACtBktI,EAAGy+L,SAAS8F,QAAQzxU,EAAE,KAAgBA,EAAE,KAC5CwxU,EAAWxxU,EAAE,IAAOktI,EAAGy+L,SAAS8F,QAAQzxU,EAAE,IAC3C,IAEGktI,EAAGy+L,SAAS8F,QAAQ7F,WAAY4F,EAAW3F,SAAW3+L,EAAGy+L,SAAS8F,QAAQ7F,gBAAiB4F,EAAW5F,WAE1GnlO,EAAEA,EAAEnsH,QAAWqkU,GAAU,aAAc,KAAM6yB,GAI7C,IAAIxtB,EAAS92K,EAAGy+L,UAAYz+L,EAAGy+L,SAASznB,QAAU,GAC9C/pU,EAAI,EAGR,GAAG6pU,GAAUA,EAAO,IAAQA,EAAO,GAAG0tB,OAAQ,CAE7C,IADAjrO,EAAEA,EAAEnsH,QAAU,cACVH,EAAI,EAAGA,GAAK+yJ,EAAG+2K,WAAW3pU,QACzB0pU,EAAO7pU,IACP6pU,EAAO7pU,GAAGu3V,SAFyBv3V,GAIrCA,GAAK+yJ,EAAG+2K,WAAW3pU,SAAQH,EAAI,GAClCssH,EAAEA,EAAEnsH,QAAU,6BAA+BH,EAAI,gBAAkBA,EAAI,MACvEssH,EAAEA,EAAEnsH,QAAU,cACf,CAGA,IADAmsH,EAAEA,EAAEnsH,QAAU,WACVH,EAAI,EAAGA,GAAK+yJ,EAAG+2K,WAAW3pU,SAAUH,EAAG,CAC1C,IAAIg7U,EAAO,CAAC/4U,KAAKshU,GAAUxwK,EAAG+2K,WAAW9pU,GAAGxB,MAAM,EAAE,MAGpD,GAFAw8U,EAAIwc,QAAU,IAAIx3V,EAAE,GACpBg7U,EAAI,QAAU,OAAOh7U,EAAE,GACpB6pU,EAAO7pU,GAAI,OAAO6pU,EAAO7pU,GAAGu3V,QAC9B,KAAK,EAAGvc,EAAI5vT,MAAQ,SAAU,MAC9B,KAAK,EAAG4vT,EAAI5vT,MAAQ,aAErBkhG,EAAEA,EAAEnsH,QAAWqkU,GAAU,QAAQ,KAAKwW,EACvC,CA+BA,OA9BA1uN,EAAEA,EAAEnsH,QAAU,YAKXi3V,IACF9qO,EAAEA,EAAEnsH,QAAU,iBACX4yJ,EAAGy+L,UAAYz+L,EAAGy+L,SAASuB,OAAOhgM,EAAGy+L,SAASuB,MAAMjzV,SAAQ,SAASqiC,GACvE,IAAIsH,EAAY,CAACxnC,KAAKkgC,EAAEyrT,MACrBzrT,EAAEs1T,UAAShuT,EAAE6vN,QAAUn3N,EAAEs1T,SACd,MAAXt1T,EAAE6wT,QAAevpT,EAAEiuT,aAAe,GAAGv1T,EAAE6wT,OACvC7wT,EAAEo1T,SAAQ9tT,EAAEuyS,OAAS,KACpB75S,EAAE8wT,MACN3mO,EAAEA,EAAEnsH,QAAUqkU,GAAU,cAAejB,GAAUphS,EAAE8wT,KAAMxpT,GAC1D,IACA6iF,EAAEA,EAAEnsH,QAAU,mBAcZmsH,EAAEnsH,OAAO,IAAImsH,EAAEA,EAAEnsH,QAAU,cAAemsH,EAAE,GAAGA,EAAE,GAAGvoH,QAAQ,KAAK,MAC7DuoH,EAAEjjH,KAAK,GACf,CAUA,SAASsuV,GAAkBvgW,EAAMk1H,GAMhC,OALIA,IAAGA,EAAIwqM,GAAQ,MACnBxqM,EAAEwmM,YAAY,EAAG17T,EAAKmgW,QACtBjrO,EAAEwmM,YAAY,EAAG17T,EAAKwgW,QACtBrrB,GAAYn1U,EAAKygW,SAAUvrO,GAC3B2+M,GAAmB7zU,EAAK6K,KAAKzD,MAAM,EAAE,IAAK8tH,GACnCA,EAAEnsH,OAASmsH,EAAErsH,EAAIqsH,EAAE9tH,MAAM,EAAG8tH,EAAErsH,GAAKqsH,CAC3C,CAwNA,SAASwrO,GAAgBv/L,EAAIxF,GAE5B,GAAIA,EAAGy+L,UAAaz+L,EAAGy+L,SAASznB,OAAhC,CAGA,IAFA,IAAIF,EAAS92K,EAAGy+L,SAASznB,OACrB/pU,EAAI,EAAG+3V,GAAU,EAAG/b,GAAU,EAC5Bh8U,EAAI6pU,EAAO1pU,SAAUH,GACtB6pU,EAAO7pU,KAAO6pU,EAAO7pU,GAAGu3V,SAAqB,GAAXQ,EAAcA,EAAS/3V,EACjC,GAApB6pU,EAAO7pU,GAAGu3V,SAA0B,GAAXvb,IAAcA,EAASh8U,GAEtDg8U,EAAS+b,IACZ7vB,GAAa3vK,EAAI,KACjB2vK,GAAa3vK,EAAI,IAzBlB,SAA2Bz4H,EAAKwsF,GAW/B,OAVIA,IAAGA,EAAIwqM,GAAQ,KACnBxqM,EAAEwmM,aAAa,EAAG,GAClBxmM,EAAEwmM,aAAa,EAAG,KAClBxmM,EAAEwmM,YAAY,EAAI,OAClBxmM,EAAEwmM,YAAY,EAAI,OAClBxmM,EAAEwmM,YAAY,EAAI,KAClBxmM,EAAEwmM,YAAY,EAAIhzR,GAClBwsF,EAAEwmM,YAAY,EAAIhzR,GAElBwsF,EAAEwmM,YAAY,EADF,KAELxmM,EAAEnsH,OAASmsH,EAAErsH,EAAIqsH,EAAE9tH,MAAM,EAAG8tH,EAAErsH,GAAKqsH,CAC3C,CAa4C0rO,CAAkBD,IAE7D7vB,GAAa3vK,EAAI,KAX6B,CAY/C,CAuBA,SAAS0/L,GAAallM,EAAIt2I,GACzB,IAAI87I,EAAKqvK,KAyBT,OAxBAM,GAAa3vK,EAAI,KACjB2vK,GAAa3vK,EAAI,IAjElB,SAA8BnhK,EAAMk1H,GAC/BA,IAAGA,EAAIwqM,GAAQ,MACnB,IAAI,IAAI92T,EAAI,EAAQ,GAALA,IAAUA,EAAGssH,EAAEwmM,YAAY,EAAG,GAK7C,OAJAmY,GAAmB,UAAW3+M,GAC9B2+M,GAAmBpiB,GAAKxsS,QAASiwG,GACjC2+M,GAAmBpiB,GAAKxsS,QAASiwG,GACjC2+M,GAAmB,OAAQ3+M,GACpBA,EAAEnsH,OAASmsH,EAAErsH,EAAIqsH,EAAE9tH,MAAM,EAAG8tH,EAAErsH,GAAKqsH,CAC3C,CAyD+C4rO,IAE9ChwB,GAAa3vK,EAAI,IAxOlB,SAAyBnhK,EAAmBk1H,GACvCA,IAAGA,EAAIwqM,GAAQ,KACnB,IAAI54Q,EAAQ,EAQZ,OAPG9mD,GAECA,EAAK+gW,gBAAej6S,GAAS,GAEjCouE,EAAEwmM,YAAY,EAAG50Q,GACjBouE,EAAEwmM,YAAY,EAAG,GACjBoZ,GAAmB90U,GAAQA,EAAKq6V,UAAY,eAAgBnlO,GACrDA,EAAE9tH,MAAM,EAAG8tH,EAAErsH,EACrB,CA6N0Cm4V,CAAgBrlM,EAAGy+L,UAAYz+L,EAAGy+L,SAAS8F,SAAW,OAG/FQ,GAAgBv/L,EAAIxF,GAjFrB,SAAyBwF,EAAIxF,GAC5Bm1K,GAAa3vK,EAAI,KACjB,IAAI,IAAIz4H,EAAM,EAAGA,GAAOizH,EAAG+2K,WAAW3pU,SAAU2/B,EAG/CooS,GAAa3vK,EAAI,IAA0Bo/L,GADnC,CAAEJ,OADAxkM,EAAGy+L,UAAYz+L,EAAGy+L,SAASznB,QAAUh3K,EAAGy+L,SAASznB,OAAOjqS,IAAQizH,EAAGy+L,SAASznB,OAAOjqS,GAAKy3T,QAAU,EACrFK,OAAQ93T,EAAI,EAAG+3T,SAAU,OAAS/3T,EAAI,GAAI79B,KAAM8wJ,EAAG+2K,WAAWhqS,MAGtFooS,GAAa3vK,EAAI,IAClB,CA0EC8/L,CAAgB9/L,EAAIxF,GAepBm1K,GAAa3vK,EAAI,KAEVA,EAAGrnI,KACX,CAgEA,SAASonU,GAASlhW,EAAiB6K,EAAiBwa,EAAMs2I,EAAiB29K,GAC1E,OAAyB,SAAjBzuU,EAAKzD,OAAO,GAAc43V,GAAelF,IAAc95V,EAAMqlB,EAAMs2I,EAAI29K,EAChF,CAeA,SAAS6nB,GAAWnhW,EAAqB6K,EAAiBwa,GACzD,OAAyB,SAAjBxa,EAAKzD,OAAO,GAAc2qV,GAAqBZ,IAAoBnxV,EAAMqlB,EAClF,CA46BA,SAAS+7U,GAAiBzlM,EAAiBt2I,GAC1C,IAAI6vG,EAAsB,GAK1B,OAHGymC,EAAG0+K,OAAOnlN,EAAE3mH,KAtnYhB,SAA6B8rU,EAAOh1T,GACnC,IAAI6vG,EAAsB,GAgB1B,OAfA/rH,GAAK8xU,IAAiBjpU,KAAI,SAAS7C,GAClC,IAAI,IAAIvG,EAAI,EAAGA,EAAI2kU,GAAWxkU,SAAUH,EAAG,GAAG2kU,GAAW3kU,GAAG,IAAMuG,EAAG,OAAOo+T,GAAW3kU,GACvF,IAAIA,EAAI,EAAGA,EAAI6kU,GAAU1kU,SAAUH,EAAG,GAAG6kU,GAAU7kU,GAAG,IAAMuG,EAAG,OAAOs+T,GAAU7kU,GAChF,MAAMuG,CACP,IAAGzG,SAAQ,SAASqtC,GACnB,GAAkB,MAAfskS,EAAMtkS,EAAE,IAAX,CACA,IAAI5mC,EAAIkW,GAAQA,EAAKg1T,OAA6B,MAApBh1T,EAAKg1T,MAAMtkS,EAAE,IAAc1wB,EAAKg1T,MAAMtkS,EAAE,IAAMskS,EAAMtkS,EAAE,IAE9E,SADCA,EAAE,KACK5mC,EAAI,IAAI/L,KAAK+L,GAAG4D,cAAcpG,QAAQ,SAAS,MAE9C,iBAALwC,EAAeA,EAAIxB,OAAOwB,IACtB,IAANA,IAAoB,IAANA,EAAeA,EAAIA,EAAI,IAAM,IAC3CA,aAAa/L,OAAM+L,EAAI,IAAI/L,KAAK+L,GAAG4D,cAAcpG,QAAQ,SAAS,KAC1EuoH,EAAE3mH,KAAK2+T,GAAS+N,GAAgBllS,EAAE,KAAOA,EAAE,GAAI5mC,GARjB,CAS/B,IACOi+T,GAAU,qBAAsBl4M,EAAEjjH,KAAK,IAAK,CAAC82D,MAAM+kQ,GAAO54M,GAClE,CAomYqBmsO,CAAoB1lM,EAAG0+K,MAAOh1T,IAE/Cs2I,EAAG2lM,WAAWpsO,EAAE3mH,KArmYpB,SAA8B8rU,EAAOinB,GACpC,IAAIC,EAAY,CAAC,aAAa,cAC1Bt8R,EAAI,2BACJiwD,EAAsB,GA2B1B,OA1BGmlN,GAAOlxU,GAAKkxU,GAAO3xU,SAAQ,SAAS+qC,GAEtC,GAAIvxC,OAAO2E,UAAUsD,eAAehD,KAAKkzU,EAAO5mS,GAAhD,CACA,IAAI,IAAI7qC,EAAI,EAAGA,EAAI2kU,GAAWxkU,SAAUH,EAAG,GAAG6qC,GAAK85R,GAAW3kU,GAAG,GAAI,OACrE,IAAIA,EAAI,EAAGA,EAAI6kU,GAAU1kU,SAAUH,EAAG,GAAG6qC,GAAKg6R,GAAU7kU,GAAG,GAAI,OAC/D,IAAIA,EAAI,EAAGA,EAAI24V,EAAUx4V,SAAUH,EAAG,GAAG6qC,GAAK8tT,EAAU34V,GAAI,OAE5D,IAAIuG,EAAIkrU,EAAM5mS,GACV0C,EAAI,SACO,iBAALhnC,GAAiBgnC,EAAI,QAAShnC,EAAIxB,OAAOwB,KACrC,IAANA,IAAoB,IAANA,GAAegnC,EAAI,UAAWhnC,EAAIA,EAAI,IAAM,KAC7DA,EAAIxB,OAAOwB,GAChB+lH,EAAE3mH,KAAK6+T,GAAUhB,GAAa34R,GAAItkC,EAAG,CAAC,QAAQgnC,IAVY,CAW3D,IACGmrT,GAAWn4V,GAAKm4V,GAAW54V,SAAQ,SAAS+qC,GAE9C,GAAIvxC,OAAO2E,UAAUsD,eAAehD,KAAKm6V,EAAW7tT,MACjD4mS,IAASn4U,OAAO2E,UAAUsD,eAAehD,KAAKkzU,EAAO5mS,IAAxD,CACA,IAAItkC,EAAImyV,EAAU7tT,GACd0C,EAAI,SACO,iBAALhnC,GAAiBgnC,EAAI,QAAShnC,EAAIxB,OAAOwB,KACrC,IAANA,IAAoB,IAANA,GAAegnC,EAAI,UAAWhnC,EAAIA,EAAI,IAAM,KAC1DA,aAAa/L,MAAQ+yC,EAAI,cAAehnC,EAAIA,EAAE4D,eACjD5D,EAAIxB,OAAOwB,GAChB+lH,EAAE3mH,KAAK6+T,GAAUhB,GAAa34R,GAAItkC,EAAG,CAAC,QAAQgnC,IAPoB,CAQnE,IACO,IAAM8uB,EAAI,WAAa6oQ,GAAO54M,EAAI,KAAOA,EAAEjjH,KAAK,IAAM,KAAOgzD,EAAI,GACzE,CAskYyBu8R,CAAqB7lM,EAAG0+K,MAAO1+K,EAAG2lM,YACnDpsO,EAAEjjH,KAAK,GACf,CAoBA,SAASwvV,GAAgB12T,GAAK,OAAOqiS,GAAU,aAAc,KAAM,CAAC,UAAWriS,EAAEyrT,KAAM,cAAc,IAAMnR,GAASt6S,EAAE8wT,IAAK,CAAC/vS,EAAE,EAAEzkC,EAAE,KAAO,CAmJzI,SAASq6U,GAAmB92J,EAAM//E,EAAgBkoN,EAAI1tT,EAAMqjB,EAAgBizH,EAAIyiK,GAC/E,IAAIxzH,QAAmB5hM,GAAV4hM,EAAK7jK,QAA4B/9B,GAAV4hM,EAAK39J,EAAiB,MAAO,GAEjE,IAAIkqC,EAAO,CAAC,EAEZ,GADGyzH,EAAK39J,IAAGkqC,EAAK,cAAgB,IAAMg1P,GAAUkZ,GAASz6I,EAAK39J,EAAGmxR,KAC9DxzH,EAAKznJ,GAAKynJ,EAAKznJ,EAAE/7C,MAAM,EAAGyjH,EAAI9hH,SAAW8hH,EAAK,CAChD,IAAI/wF,EAAMi4S,GAAYnnI,EAAKznJ,EAAE/7C,MAAMyjH,EAAI9hH,OAAS,IAChDouE,EAAK,iBAAmB,QAAUr9C,EAAIgyB,GAAKsyQ,EAAKtyQ,EAAI,GAAK,KAAOhyB,EAAIgyB,EAAIsyQ,EAAKtyQ,GAAK,KAAO,KAAOhyB,EAAIzS,GAAK+2S,EAAK/2S,EAAI,GAAK,KAAOyS,EAAIzS,EAAI+2S,EAAK/2S,GAAK,IACjJ,CAOA,GALGujL,EAAK/hM,GAAK+hM,EAAK/hM,EAAEgxU,SACnB1iQ,EAAK,WAAag1P,GAAUvhI,EAAK/hM,EAAEgxU,QAChCjvI,EAAK/hM,EAAEq2U,UAAS/nQ,EAAK,mBAAqBg1P,GAAUvhI,EAAK/hM,EAAEq2U,WAG5DnM,EAAG,WAEL,IADA,IAAI4uB,EAAO5uB,EAAG,WACN/zJ,EAAK,EAAGA,GAAM2iL,EAAK54V,SAAUi2K,EACjC2iL,EAAK3iL,GAAIjyI,EAAE1lB,GAAK+2S,EAAK/2S,GAAKs6U,EAAK3iL,GAAIjyI,EAAE+e,GAAKsyQ,EAAKtyQ,IAC/C61S,EAAK3iL,GAAIrnK,EAAE0P,EAAIs6U,EAAK3iL,GAAIjyI,EAAE1lB,IAAG8vD,EAAK,kBAAoBwqR,EAAK3iL,GAAIrnK,EAAE0P,EAAIs6U,EAAK3iL,GAAIjyI,EAAE1lB,GAChFs6U,EAAK3iL,GAAIrnK,EAAEm0C,EAAI61S,EAAK3iL,GAAIjyI,EAAE+e,IAAGqrB,EAAK,gBAAkBwqR,EAAK3iL,GAAIrnK,EAAEm0C,EAAI61S,EAAK3iL,GAAIjyI,EAAE+e,IAInF,IAAI3V,EAAI,GAAIJ,EAAI,GAChB,OAAO60J,EAAKz0J,GACX,IAAK,IAAK,IAAI9wB,EAAKiuT,WAAY,MAAO,GAAI,MAC1C,IAAK,IAAKn9R,EAAI,SAAUJ,EAAIpoC,OAAOi9L,EAAK7jK,GAAI,MAC5C,IAAK,IAAKoP,EAAI,UAAWJ,EAAK60J,EAAK7jK,EAAI,IAAM,IAAM,MACnD,IAAK,IAAKoP,EAAI,QAASJ,EAAIw8R,GAAK3nI,EAAK7jK,GAAI,MACzC,IAAK,IAAKoP,EAAI,WAAYJ,EAAI,IAAI3yC,KAAKwnM,EAAK7jK,GAAGh0B,cAA4B,MAAV63L,EAAK5nJ,IAAW4nJ,EAAK5nJ,EAAI4nJ,EAAK5nJ,GAAKkxQ,GAAU,KAAK,MACnH,IAAK,IAAK/9Q,EAAI,SAAUJ,IAAe60J,EAAK7jK,GAAG,IA55cjC,IACNp6B,QAAQs/T,IAAU,SAASv9S,GAAK,OAAOs9S,GAAUt9S,EAAI,IAAG/hB,QAAQ0/T,IAAa,SAASt/R,GAAK,MAAO,MAASA,EAAEjgC,WAAW,GAAGlG,SAAS,IAAKuE,cAAgB,GAAK,IA85cvK,IAAI6sV,EAAKkB,GAAe7zU,EAAK+nU,QAASxiJ,EAAMvlL,GAC5C8xD,EAAK,cAAgB,KAAO,GAAG6gR,GAC/B7gR,EAAK,YAAcinP,EAAK/2S,EAAI,EAC5B,IAAIu6U,EAAgB,MAAVh3J,EAAK7jK,EAAYgP,EAAI,GAC3B5mC,EAAc,KAAVy7L,EAAKz0J,EAAW,GAAM,kBAAoBA,EAAI,KAAOyrT,EAAK,UAIlE,OAFIh3J,EAAKvjL,GAAG,IAAIte,OAAS,IAAGoG,GAA2By7L,EAAKvjL,EA/C5CrV,KAAI,SAASqV,GAE5B,IACIgrB,EAAG+6R,GAAU,WADK/lT,EAAE8uB,GAAG,IA92ckCxpC,QAAQ,iBAAiB,SA+2cvD,CAAC,MAAQ,oCACxC,OAAOygU,GAAU,UAAW/6R,EAAG,CAAC,YAAYhrB,EAAE5a,GAC/C,IAAGwF,KAAK,KA4CDm7T,GAAU,OAAQj+T,EAAGgoE,EAC7B,CACA,SAAS0qR,GAAkBlsO,EAAcg1E,GACxC,IAAIz1E,EAAI,mBAAqBS,EAAE,GAAK,IAMpC,OALGg1E,IACCA,EAAIm6I,MAAQn6I,EAAIo6I,MAAKp6I,EAAIo6I,IAAMC,GAAMr6I,EAAIm6I,MACzCn6I,EAAIo6I,MAAK7vN,GAAK,oCAAsCy1E,EAAIo6I,IAAM,KAC9Dp6I,EAAIi6I,SAAQ1vN,GAAK,mBAEdA,EAAI,GACZ,CAuCA,SAAS4sO,GAAcp5T,EAAgBrjB,EAAMs2I,GAC5C,IAAIzmC,EAAsB,GACtBnoF,EAAI4uH,EAAG+2K,WAAWhqS,GAClBqqS,EAAKp3K,EAAGg3K,OAAO5lS,GAEfoJ,EAAe48R,EArOpB,SAA6BA,EAAkB1tT,EAAMqjB,EAAgBizH,GACpE,IAAIo3K,EAAI,MAAO,GACf,MAAMp3K,GAAI,CAAC,GAAGy+L,UAAU,CAAC,GAAGuB,MAAO,MAAO,GAI1C,IAFA,IAAIxvF,EAAuBxwG,EAAGy+L,SAASuB,MACnCn7E,EAAwB,GACpB53Q,EAAI,EAAGA,EAAIujQ,EAAMpjQ,SAAUH,EAAG,CACrC,IAAImiC,EAAIohO,EAAMvjQ,GACXmiC,EAAE6wT,OAASlzT,IAIXqC,EAAEyrT,KAAK7iV,MAAM,aAChB6sQ,EAAIjyQ,KAAKkzV,GAAgB12T,IAC1B,CACA,OAAOy1O,EAAIvuQ,KAAK,GACjB,CAqNyB8vV,CAAoBhvB,EAAI1tT,EAAMqjB,EAAKizH,GAAM,GAUjE,OATGxlH,EAAEptC,OAAS,GAAGmsH,EAAE3mH,KAAK,UAAY4nC,EAAI,YAGxCA,EAAI48R,EA9CL,SAA6BA,EAAkB1tT,EAAMqjB,EAAgBizH,GACpE,IAAIo3K,EAAG,QAAS,MAAO,GACvB,IAAIvsQ,EAAkB0rQ,GAAkBa,EAAG,SACvC4uB,EAAwB5uB,EAAG,YAAc,GAAI/zJ,EAAK,EAClD9pD,EAAsB,GACvB69M,EAAG,UAAUA,EAAG,SAASrqU,SAAQ,SAASqiC,EAAGniC,GAC/Ci8U,GAAY95S,GACZ,IAAIxwB,IAAMwwB,EAAEja,MACRilB,EAAI+iT,GAAUlwV,EAAGmiC,GACjB0I,EAAY,CAAC,WAAW7qC,EAAE,GAC3B2R,IAAGk5B,EAAE,YAAciyS,GAAS3vS,EAAEjlB,QAC9Bia,EAAE65S,SAAQnxS,EAAE,aAAa,KAC5ByhF,EAAE3mH,KAAK6+T,GAAU,SAAS,KAAK35R,GAChC,IAEA,IADA,IAAIq/R,EAAQrrU,MAAMD,QAAQurU,GAClBp9M,EAAInvD,EAAMz5B,EAAE+e,EAAG6pE,GAAKnvD,EAAM7uD,EAAEm0C,IAAK6pE,EAAG,CAE3C,IADA,IAAIg1E,EAAM,CAACk3J,GAAkBlsO,GAAIo9M,EAAG,UAAU,IAAIp9M,KAC1CN,EAAI7uD,EAAMz5B,EAAE1lB,EAAGguG,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,EAAG,CAC3C,IAAI7zB,GAAO,EACX,IAAIw9E,EAAK,EAAGA,GAAM2iL,EAAK54V,SAAUi2K,EAChC,KAAG2iL,EAAK3iL,GAAIjyI,EAAE1lB,EAAIguG,MACfssO,EAAK3iL,GAAIjyI,EAAE+e,EAAI6pE,MACfgsO,EAAK3iL,GAAIrnK,EAAE0P,EAAIguG,MACfssO,EAAK3iL,GAAIrnK,EAAEm0C,EAAI6pE,GAAlB,CACGgsO,EAAK3iL,GAAIjyI,EAAE1lB,GAAKguG,GAAKssO,EAAK3iL,GAAIjyI,EAAE+e,GAAK6pE,IAAGn0B,GAAO,GAClD,KAF6B,CAI9B,IAAGA,EAAH,CACA,IAAI48N,EAAO,CAACtyQ,EAAE6pE,EAAEtuG,EAAEguG,GACdxK,EAAMymN,GAAYlT,GAAOxzH,EAAOkoI,GAASC,EAAGp9M,IAAI,IAAIN,GAAK09M,EAAGloN,GAChE8/E,EAAIp8L,KAAKmzV,GAAmB92J,EAAM//E,EAAKkoN,EAAI1tT,EAAMqjB,EAAKizH,EAAIyiK,GAHzC,CAIlB,CACAzzH,EAAIp8L,KAAK,UACNo8L,EAAI5hM,OAAS,GAAGmsH,EAAE3mH,KAAKo8L,EAAI14L,KAAK,IACpC,CACA,OAAOijH,EAAEjjH,KAAK,GACf,CAUU+vV,CAAoBjvB,EAAI1tT,GAAiB,GAC/C8wB,EAAEptC,OAAS,GAAGmsH,EAAE3mH,KAAK,UAAY4nC,EAAI,YAGxC++E,EAAE3mH,KA3NH,SAA8BwkU,EAAkB1tT,EAAMqjB,EAAgBizH,GACrE,IAAIo3K,EAAI,MAAO,GACf,IAAI79M,EAAsB,GA0C1B,GA1BG69M,EAAG,cACL79M,EAAE3mH,KAAK,eACJwkU,EAAG,YAAYp6T,QAAQu8G,EAAE3mH,KAAK6+T,GAAU,SAAU,KAAM,CAAC,WAAW2F,EAAG,YAAYp6T,UACnFo6T,EAAG,YAAY9vH,QAAQ/tF,EAAE3mH,KAAK6+T,GAAU,SAAU,KAAM,CAAC,WAAW2F,EAAG,YAAY9vH,UACtF/tF,EAAE3mH,KAAK6+T,GAAU,cAAe,KAAM,CACrC,WAAY2F,EAAG,YAAYv7S,QAAU,OACrC,SAAUu7S,EAAG,YAAYzjT,MAAQ,MACjC,UAAWyjT,EAAG,YAAYx7S,OAAS,MACnC,QAASw7S,EAAG,YAAYxjT,KAAO,UAEhC2lG,EAAE3mH,KAAK,iBAgBLotJ,GAAMA,EAAGy+L,UAAYz+L,EAAGy+L,SAASznB,QAAUh3K,EAAGy+L,SAASznB,OAAOjqS,GAEhE,GAAGizH,EAAGy+L,SAASznB,OAAOjqS,GAAKy3T,OAAQjrO,EAAE3mH,KAAK6+T,GAAU,UAA8C,GAAlCzxK,EAAGy+L,SAASznB,OAAOjqS,GAAKy3T,OAAc,cAAgB,kBAAoB,CAAC,QACtI,CAEJ,IAAI,IAAIv3V,EAAI,EAAGA,EAAI8/B,KAAaizH,EAAGy+L,SAASznB,OAAO/pU,IAAO+yJ,EAAGy+L,SAASznB,OAAO/pU,GAAGu3V,UAAtDv3V,GACvBA,GAAK8/B,GAAKwsF,EAAE3mH,KAAK,cACrB,CAqDD,UAhDOotJ,GAAI,CAAC,GAAGy+L,UAAU,CAAC,GAAGU,OAAO,IAAI,IAAI,CAAC,GAAGE,KAAK9lO,EAAE3mH,KAAK,yBA2BzDwkU,EAAG,cACL79M,EAAE3mH,KAAK2+T,GAAS,kBAAmB,SAChC6F,EAAG,YAAYkvB,SAAS/sO,EAAE3mH,KAAK2+T,GAAS,iBAAkB,SAC1D6F,EAAG,YAAYmvB,WAAWhtO,EAAE3mH,KAAK2+T,GAAS,mBAAoB,SAC1B,MAApC6F,EAAG,YAAYovB,mBAA8BpvB,EAAG,YAAYovB,kBACjB,MAAtCpvB,EAAG,YAAYqvB,qBAAgCrvB,EAAG,YAAYqvB,qBAAqBltO,EAAE3mH,KAAK2+T,GAAS,kBAAmB,kBAD5Ch4M,EAAE3mH,KAAK2+T,GAAS,kBAAmB,gBAEtH,CACC,CAAE,cAAe,oBACjB,CAAE,gBAAiB,iBACnB,CAAE,aAAc,iBAChB,CAAE,gBAAiB,mBACnB,CAAE,aAAc,mBAChB,CAAE,mBAAoB,yBACtB,CAAE,gBAAiB,mBACnB,CAAE,aAAc,mBAChB,CAAE,OAAQ,aACV,CAAE,aAAc,eAChB,CAAE,cAAe,wBAChBxkU,SAAQ,SAAS+lB,GAAQskT,EAAG,YAAYtkT,EAAE,KAAKymG,EAAE3mH,KAAK,IAAIkgB,EAAE,GAAG,KAAO,KAGzD,GAAZymG,EAAEnsH,OAAoB,GAClBqkU,GAAU,mBAAoBl4M,EAAEjjH,KAAK,IAAK,CAAC82D,MAAM+kQ,GAAOr/S,GAChE,CAiHQ4zU,CAAqBtvB,EAAI1tT,EAAMqjB,EAAKizH,IAEpCzmC,EAAEjjH,KAAK,GACf,CACA,SAASqwV,GAAW3mM,EAAIt2I,GACnBA,IAAMA,EAAO,CAAC,GACds2I,EAAGqxL,MAAKrxL,EAAGqxL,IAAM3hB,GAAInX,KACtBv4J,EAAGqxL,MACL7yB,KAAYF,GAAet+J,EAAGqxL,KAE9B3nU,EAAK8zU,OAAS7uB,GAAU3uK,EAAGqxL,KAAM3nU,EAAK8zU,OAAOx9L,EAAGqxL,IAAI,QAAU,EAC9D3nU,EAAK+zU,IAAMz9L,EAAGqxL,IACd3nU,EAAK+nU,QAAU,GACf8L,GAAe7zU,EAAK+nU,QAAS,CAAC,EAAG,CAAC+L,OAAO,CAAC,QAAU,MAErD,IAAI9mT,EAAsB,GAC1BA,EAAE9jC,KAAK6yV,GAAiBzlM,EAAIt2I,IAC5BgtB,EAAE9jC,KA3RK,IA4RP8jC,EAAE9jC,KAAK,IACP8jC,EAAE9jC,KAAK,IACP,IAAI,IAAI3F,EAAI,EAAGA,EAAI+yJ,EAAG+2K,WAAW3pU,SAAUH,EAC1CypC,EAAE9jC,KAAK6+T,GAAU,YAAa00B,GAAcl5V,EAAGyc,EAAMs2I,GAAK,CAAC,UAAUwwK,GAAUxwK,EAAG+2K,WAAW9pU,OAG9F,OAFAypC,EAAE,GA7RH,SAAwBspH,EAAIt2I,GAE3B,IAAIgP,EAA2B,CAAC,mEAQhC,OAPAhP,EAAK+nU,QAAQ1kV,SAAQ,SAAS2qK,EAAIr+J,GACjC,IAAIgX,EAA4B,GAChCA,EAAQzd,KAAK6+T,GAAU,eAAgB,KAAM,CAAC,YAAajB,GAAUjY,GAAU7gJ,EAAGg/J,cAElF,IAAIn9M,EAAW,CAAC,QAAS,KAAO,GAAGlgH,IACnCqf,EAAO9lB,KAAK6+T,GAAU,QAASphT,EAAQ/Z,KAAK,IAAKijH,GAClD,IACOk4M,GAAU,SAAU/4S,EAAOpiB,KAAK,IACxC,CAkRQswV,CAAe5mM,EAAIt2I,GAC1BgtB,EAAE,GAjRH,SAA0BspH,GACzB,MAAMA,GAAI,CAAC,GAAGy+L,UAAU,CAAC,GAAGuB,MAAO,MAAO,GAI1C,IAFA,IAAIxvF,EAAuBxwG,EAAGy+L,SAASuB,MACnCn7E,EAAwB,GACpB53Q,EAAI,EAAGA,EAAIujQ,EAAMpjQ,SAAUH,EAAG,CACrC,IAAImiC,EAAIohO,EAAMvjQ,GACA,MAAXmiC,EAAE6wT,QACF7wT,EAAEyrT,KAAK7iV,MAAM,aAChB6sQ,EAAIjyQ,KAAKkzV,GAAgB12T,IAC1B,CACA,OAAOqiS,GAAU,QAAS5sD,EAAIvuQ,KAAK,IACpC,CAqQQuwV,CAAiB7mM,GACjBmwK,GAAasB,GAAU,WAAY/6R,EAAEpgC,KAAK,IAAK,CACrD,MAAc67T,GAAO3X,GACrB,UAAc2X,GAAO54M,EACrB,UAAc44M,GAAOr/S,EACrB,WAAcq/S,GAAO3X,GACrB,WAAc2X,GAAO3zM,GACrB,aAAc2zM,GAAOppS,MAEvB,CAkmBA,IAAI+9T,GAAU,CACbC,GAAI,mCACJC,IAAK,mCACLC,IAAK,oCA+FN,SAASC,GAAalnM,EAAiBt2I,GACtC,IAAI6vG,EAAI7vG,GAAQ,CAAC,EACbw6S,EAAMxE,GAAIvqT,MAAMg4T,QAAQ,CAAC/6P,KAAK,MAC9B+0R,EAAS,YACb,OAAO5tO,EAAE0iN,UAAY,OACpB,IAAK,MAAO1iN,EAAE0iN,SAAW,QAEzB,IAAK,MAAW1iN,EAAE0iN,WAAU1iN,EAAE0iN,SAAW,OAEzC,IAAK,QAASkrB,EAAS,YAAa5tO,EAAEi8M,KAAO,EAAG,MAChD,IAAK,QAAS2xB,EAAS,QAAS5tO,EAAEi8M,KAAO,EAAG,MAC5C,QAAS,MAAM,IAAIrwU,MAAM,gBAAkBo0H,EAAE0iN,SAAW,gBAMzD,OAJAvc,GAAIvqT,MAAM62T,QAAQ9H,EAAKijC,EAAQC,GAAepnM,EAAIzmC,IACrC,GAAVA,EAAEi8M,OAAcx1K,EAAG0+K,OAAS1+K,EAAG2lM,YAvFnC,SAAyB3lM,EAAiBkkK,GACzC,IACWmjC,EADPC,EAAY,GAAIC,EAAW,GAAIC,EAAW,GAC1Cv6V,EAAI,EACJw6V,EAAyCh5B,GAAUiM,GAAkB,KACrEgtB,EAAsCj5B,GAAUkM,GAAc,KAClE,GAAG36K,EAAG0+K,MAGL,IAFA2oB,EAAO75V,GAAKwyJ,EAAG0+K,OAEXzxU,EAAI,EAAGA,EAAIo6V,EAAKj6V,SAAUH,GAAI1G,OAAO2E,UAAUsD,eAAehD,KAAKi8V,EAAcJ,EAAKp6V,IAAMq6V,EAAY/gW,OAAO2E,UAAUsD,eAAehD,KAAKk8V,EAAWL,EAAKp6V,IAAMs6V,EAAWC,GAAU50V,KAAK,CAACy0V,EAAKp6V,GAAI+yJ,EAAG0+K,MAAM2oB,EAAKp6V,MAE1N,GAAG+yJ,EAAG2lM,UAGL,IAFA0B,EAAO75V,GAAKwyJ,EAAG2lM,WAEX14V,EAAI,EAAGA,EAAIo6V,EAAKj6V,SAAUH,EAAO1G,OAAO2E,UAAUsD,eAAehD,KAAMw0J,EAAG0+K,OAAO,CAAC,EAAI2oB,EAAKp6V,MAAM1G,OAAO2E,UAAUsD,eAAehD,KAAKi8V,EAAcJ,EAAKp6V,IAAMq6V,EAAY/gW,OAAO2E,UAAUsD,eAAehD,KAAKk8V,EAAWL,EAAKp6V,IAAMs6V,EAAWC,GAAU50V,KAAK,CAACy0V,EAAKp6V,GAAI+yJ,EAAG2lM,UAAU0B,EAAKp6V,MAEjS,IAAI06V,EAAY,GAChB,IAAI16V,EAAI,EAAGA,EAAIu6V,EAASp6V,SAAUH,EAC9BqzU,GAAUpuU,QAAQs1V,EAASv6V,GAAG,KAAO,GAAK6xU,GAAiB5sU,QAAQs1V,EAASv6V,GAAG,KAAO,GACpE,MAAlBu6V,EAASv6V,GAAG,IACf06V,EAAU/0V,KAAK40V,EAASv6V,IAEtBs6V,EAASn6V,QAAQsyT,GAAIvqT,MAAM62T,QAAQ9H,EAAK,0BAA6B6c,GAAwBwmB,EAAUT,GAAQC,GAAIW,EAAW/sB,MAC9H2sB,EAAUl6V,QAAUu6V,EAAUv6V,SAAQsyT,GAAIvqT,MAAM62T,QAAQ9H,EAAK,kCAAqC6c,GAAwBumB,EAAWR,GAAQE,IAAKS,EAAc/sB,GAAkBitB,EAAUv6V,OAASu6V,EAAY,KAAMb,GAAQG,KACnO,CAgE+CW,CAAgB5nM,EAAIkkK,GAErD,GAAV3qM,EAAEi8M,MAAax1K,EAAGu+L,QA38NtB,SAAsBr6B,EAAK2jC,GACzBA,EAAIhnC,UAAU9zT,SAAQ,SAASqtC,EAAGntC,GAChC,GAAS,GAALA,EAAJ,CAEA,IAAI66V,EAAU1tT,EAAEppC,QAAQ,aAAc,sBACZ,MAAtB82V,EAAQr8V,OAAO,IACjBi0T,GAAIvqT,MAAM62T,QAAQ9H,EAAK4jC,EAASD,EAAIjnC,UAAU3zT,GAAGiE,QAH3C,CAIV,GACF,CAm8N8B62V,CAAa7jC,EAAKxE,GAAIz+S,KAAK++I,EAAGu+L,OAAQ,CAAC5yV,KAA0B,iBAAbq0J,EAAGu+L,OAAqB,SAAW,YAC7Gr6B,CACR,CAEA,IAAIkR,GAAiB,CACb,EAAe,CAAuB9jS,EAt1H9C,SAAyBjtC,EAAM+I,GAC9B,IAAIi6C,EAAK,CAAC,EACNg5Q,EAAMh8T,EAAK6I,EAAIE,EACnBi6C,EAAE8I,EAAI9rD,EAAK+7T,WAAW,GACtB/7T,EAAK6I,GAAK,EACV,IAAI0zV,EAAQv8V,EAAK+7T,WAAW,GAC5B/7T,EAAK6I,GAAK,EACV,IAAIi+C,EAAQ9mD,EAAK+7T,WAAW,GAK5B,OAJA/7T,EAAK6I,EAAImzT,EACE,EAARl1Q,IAAc9D,EAAEugO,MAAgB,EAARz8N,GAChB,GAARA,IAAc9D,EAAE4hS,QAAS,GACjB,GAAR99R,IAAc9D,EAAE8hS,IAAMyX,EAAQ,IAC1Bv5S,CACR,GA00HQ,EAAe,CAA0B/V,EA/uHjD,SAA4BjtC,GAE3B,MAAO,CADIw0U,GAAex0U,GAE3B,GA6uHQ,EAAe,CAAuBitC,EA3nH9C,SAAyBjtC,GAGxB,MAAO,CAFIw0U,GAAex0U,GACdo1U,GAAep1U,GACN,IACtB,GAwnHQ,EAAe,CAA0BitC,EAvsHjD,SAA4BjtC,GAG3B,MAAO,CAFIw0U,GAAex0U,GACbA,EAAK+7T,WAAW,GACP,IACvB,GAosHQ,EAAe,CAAyB9uR,EAhuHhD,SAA2BjtC,GAG1B,MAAO,CAFIw0U,GAAex0U,GACdA,EAAK+7T,WAAW,GACP,IACtB,GA6tHQ,EAAe,CAAyB9uR,EAtpHhD,SAA2BjtC,GAG1B,MAAO,CAFIw0U,GAAex0U,GACd61U,GAAW71U,GACF,IACtB,GAmpHQ,EAAe,CAAuBitC,EAhmH9C,SAAyBjtC,GAGxB,MAAO,CAFIw0U,GAAex0U,GACd2zU,GAAmB3zU,GACV,MACtB,GA6lHQ,EAAe,CAAyBitC,EAhrHhD,SAA2BjtC,GAG1B,MAAO,CAFIw0U,GAAex0U,GACfA,EAAK+7T,WAAW,GACP,IACrB,GA6qHQ,EAAe,CAA2B9uR,EA1hHlD,SAA6BjtC,EAAM+I,EAAQsc,GAC1C,IAAIyU,EAAM95B,EAAK6I,EAAIE,EACf6hM,EAAO4pI,GAAex0U,GAC1B4qM,EAAK9+I,EAAIzmC,EAAK,QACd,IACI6vG,EAAI,CAAC01E,EADG+oI,GAAmB3zU,GACT,OACtB,GAAGqlB,EAAKs+U,YAAa,CACpB3jW,EAAK6I,GAAK,EACV,IAAI07U,EAAU+T,GAA4Bt4V,EAAM85B,EAAM95B,EAAK6I,EAAGwc,GAC9D6vG,EAAE,GAAK2hO,GAAkBtS,EAAS,EAAe35I,EAAMvlL,EAAKgxU,SAAUhxU,EACvE,MACKrlB,EAAK6I,EAAIixB,EACd,OAAOo7F,CACR,GA8gHQ,EAAe,CAAwBjoF,EA3iH/C,SAA0BjtC,EAAM+I,EAAQsc,GACvC,IAAIyU,EAAM95B,EAAK6I,EAAIE,EACf6hM,EAAO4pI,GAAex0U,GAC1B4qM,EAAK9+I,EAAIzmC,EAAK,QACd,IACI6vG,EAAI,CAAC01E,EADGirI,GAAW71U,GACD,KACtB,GAAGqlB,EAAKs+U,YAAa,CACpB3jW,EAAK6I,GAAK,EACV,IAAI07U,EAAU+T,GAA4Bt4V,EAAM85B,EAAM95B,EAAK6I,EAAGwc,GAC9D6vG,EAAE,GAAK2hO,GAAkBtS,EAAS,EAAe35I,EAAMvlL,EAAKgxU,SAAUhxU,EACvE,MACKrlB,EAAK6I,EAAIixB,EACd,OAAOo7F,CACR,GA+hHQ,GAAe,CAAyBjoF,EA5kHhD,SAA2BjtC,EAAM+I,EAAQsc,GACxC,IAAIyU,EAAM95B,EAAK6I,EAAIE,EACf6hM,EAAO4pI,GAAex0U,GAC1B4qM,EAAK9+I,EAAIzmC,EAAK,QACd,IACI6vG,EAAI,CAAC01E,EADG5qM,EAAK+7T,WAAW,GACN,KACtB,GAAG12S,EAAKs+U,YAAa,CACpB3jW,EAAK6I,GAAK,EACV,IAAI07U,EAAU+T,GAA4Bt4V,EAAM85B,EAAM95B,EAAK6I,EAAGwc,GAC9D6vG,EAAE,GAAK2hO,GAAkBtS,EAAS,EAAe35I,EAAMvlL,EAAKgxU,SAAUhxU,EACvE,MACKrlB,EAAK6I,EAAIixB,EACd,OAAOo7F,CACR,GAgkHQ,GAAe,CAA0BjoF,EA7jHjD,SAA4BjtC,EAAM+I,EAAQsc,GACzC,IAAIyU,EAAM95B,EAAK6I,EAAIE,EACf6hM,EAAO4pI,GAAex0U,GAC1B4qM,EAAK9+I,EAAIzmC,EAAK,QACd,IACI6vG,EAAI,CAAC01E,EADG5qM,EAAK+7T,WAAW,GACN,KACtB,GAAG12S,EAAKs+U,YAAa,CACpB3jW,EAAK6I,GAAK,EACV,IAAI07U,EAAU+T,GAA4Bt4V,EAAM85B,EAAM95B,EAAK6I,EAAGwc,GAC9D6vG,EAAE,GAAK2hO,GAAkBtS,EAAS,EAAe35I,EAAMvlL,EAAKgxU,SAAUhxU,EACvE,MACKrlB,EAAK6I,EAAIixB,EACd,OAAOo7F,CACR,GAijHQ,GAAe,CAA2BjoF,EAlvHlD,SAA6BjtC,GAE5B,MAAO,CADI20U,GAAoB30U,GAEhC,GAgvHQ,GAAe,CAAwBitC,EA3nH/C,SAA0BjtC,GAGzB,MAAO,CAFI20U,GAAoB30U,GACnBo1U,GAAep1U,GACN,IACtB,GAwnHQ,GAAe,CAA2BitC,EAvsHlD,SAA6BjtC,GAG5B,MAAO,CAFI20U,GAAoB30U,GAClBA,EAAK+7T,WAAW,GACP,IACvB,GAosHQ,GAAe,CAA0B9uR,EAhuHjD,SAA4BjtC,GAG3B,MAAO,CAFI20U,GAAoB30U,GACnBA,EAAK+7T,WAAW,GACP,IACtB,GA6tHQ,GAAe,CAA0B9uR,EAAE6vT,IAC3C,GAAe,CAAwB7vT,EAhmH/C,SAA0BjtC,GAGzB,MAAO,CAFI20U,GAAoB30U,GACnB2zU,GAAmB3zU,GACV,MACtB,GA6lHQ,GAAe,CAA0BitC,EAhrHjD,SAA4BjtC,GAG3B,MAAO,CAFI20U,GAAoB30U,GACpBA,EAAK+7T,WAAW,GACP,IACrB,GA6qHQ,GAAe,CAAwB9uR,EAAEinS,IACzC,GAAe,CAA0B,EACzC,GAAe,CAAyB,EACxC,GAAe,CAA0B,EACzC,GAAe,CAAwB,EACvC,GAAe,CAAyB,EACxC,GAAe,CAA2B,EAC1C,GAAe,CAAwB,EACvC,GAAe,CAA2B,EAC1C,GAAe,CAA0B,EACzC,GAAe,CAA2B,EAC1C,GAAe,CAAyB,EACxC,GAAe,CAA0B,EACzC,GAAe,CAA4B,EAC3C,GAAe,CAAwB,EACvC,GAAe,CAA0B,EACzC,GAAe,CAAyBjvQ,EAAE,GAC1C,GAAe,CAAuBA,GAAG,GACzC,GAAe,CAAwBA,EAAE,GACzC,GAAe,CAAsBA,GAAG,GACxC,GAAe,CAAqBh4B,EA7xE5C,SAAuBjtC,EAAM+I,EAAQsc,GACpC,IAAIyU,EAAM95B,EAAK6I,EAAIE,EACnB/I,EAAK6I,GAAK,EACV7I,EAAK6I,GAAK,EACV,IAAIyuV,EAAOt3V,EAAK+7T,WAAW,GACvBlxT,EAAOoqU,GAAuBj1U,GAC9BukV,EAAUgU,GAA4Bv4V,EAAM,EAAGqlB,GAC/C68O,EAAU6yE,GAA2B/0U,GAOzCA,EAAK6I,EAAIixB,EACT,IAAI0mP,EAAO,CAACg2E,KAAK3rV,EAAM+4V,IAAIrf,GAG3B,OAFG+S,EAAO,YAAW92E,EAAIo7E,MAAQtE,GAC9Bp1F,IAASse,EAAI6/E,QAAUn+F,GACnBse,CACR,GA2wEQ,GAAe,CAA4B,EAC3C,GAAe,CAAyB,EACxC,GAAe,CAAqBvzO,EA55Q5C,SAAuBjtC,EAAM+I,EAAmBsc,GAC/C,IAAIm7P,EAAO,CAAC,EAEZA,EAAI++B,GAAKv/S,EAAK+7T,WAAW,GAAK,GAE9B,IAAIyxB,EAl4LL,SAAyBxtV,GACxB,IAAIqyC,EAAIryC,EAAK+7T,WAAW,GAYxB,OAXA/7T,EAAK6I,IACK,CACTg7V,MAAW,EAAJxxT,EACPyxT,QAAa,EAAJzxT,EACT0xT,WAAgB,EAAJ1xT,EACZ2xT,WAAgB,EAAJ3xT,EACZ4xT,SAAc,GAAJ5xT,EACV6xT,QAAa,GAAJ7xT,EACT8xT,UAAe,GAAJ9xT,EACX+xT,QAAa,IAAJ/xT,EAGX,CAo3LagyT,CAAgBrkW,GAW5B,OAVGwtV,EAAMsW,UAAStjF,EAAI4rB,OAAS,GAC5BohD,EAAM2W,YAAW3jF,EAAIktE,SAAW,GAChCF,EAAM4W,UAAS5jF,EAAIh0Q,OAAS,GAC5BghV,EAAM0W,UAAS1jF,EAAIjiN,OAAS,GAC5BivR,EAAMyW,WAAUzjF,EAAIixB,QAAU,GAC9B+7C,EAAMwW,aAAYxjF,EAAIitE,OAAS,GAGvB,MADDztV,EAAK+7T,WAAW,KACPv7C,EAAIotE,KAAO,GAEvB5tV,EAAK+7T,WAAW,IAEtB,KAAK,EAAGv7C,EAAIstE,UAAY,cAAe,MACvC,KAAK,EAAGttE,EAAIstE,UAAY,YAGzB,IAAIC,EAAY/tV,EAAK+7T,WAAW,GAChB,GAAbgyB,IAAgBvtE,EAAIutE,UAAYA,GAEnC,IAAIzhD,EAAStsS,EAAK+7T,WAAW,GAC1BzvB,EAAS,IAAG9rB,EAAI8rB,OAASA,GAE5B,IAAIg4D,EAAWtkW,EAAK+7T,WAAW,GAM/B,OALGuoC,EAAW,IAAG9jF,EAAItzC,QAAUo3H,GAE/BtkW,EAAK6I,IACL23Q,EAAIr0N,MA99LL,SAAwBnsD,GACvB,IAAIwgR,EAAM,CAAC,EAIP+jF,EAHIvkW,EAAK+7T,WAAW,KAGD,EAEnB3oT,EAAQpT,EAAK+7T,WAAW,GACxBia,EAAMh2U,EAAK+7T,WAAW,EAAG,KACzByoC,EAAKxkW,EAAK+7T,WAAW,GACrB0oC,EAAKzkW,EAAK+7T,WAAW,GACrB2oC,EAAK1kW,EAAK+7T,WAAW,GAGzB,OAFA/7T,EAAK6I,IAEG07V,GACP,KAAK,EAAG/jF,EAAI7mP,KAAO,EAAG,MACtB,KAAK,EACJ6mP,EAAIptQ,MAAQA,EACZ,IAAIuxV,EAAMnuB,GAAOpjU,GAEbuxV,IAAKnkF,EAAI9zN,IAAM8/R,GAAQmY,IAC3B,MACD,KAAK,EAEJnkF,EAAI9zN,IAAM8/R,GAAQ,CAACgY,EAAIC,EAAIC,IAC3B,MACD,KAAK,EAAGlkF,EAAIpkC,MAAQhpO,EAIrB,OAFW,GAAP4iU,IAAUx1D,EAAIy1D,KAAOD,EAAM,EAAIA,EAAM,MAAQA,EAAM,OAEhDx1D,CACR,CA+7LaokF,CAAe5kW,GAEpBA,EAAK+7T,WAAW,IAEtB,KAAK,EAAGv7C,EAAIwtE,OAAS,QAAS,MAC9B,KAAK,EAAGxtE,EAAIwtE,OAAS,QAKtB,OAFAxtE,EAAI31Q,KAAO8oU,GAAmB3zU,GAEvBwgR,CACR,GAk3QQ,GAAe,CAAoBvzO,EA56Q3C,SAAsBjtC,EAAM+I,GAG3B,MAAO,CAFQ/I,EAAK+7T,WAAW,GACf4X,GAAmB3zU,GAEpC,GAy6QQ,GAAe,CAAqBitC,EAAEkhT,IACtC,GAAe,CAAuBlhT,EAAEwhT,IACxC,GAAe,CAAmBxhT,EAtyQ1C,SAAqBjtC,EAAM+I,GAC1B,IAAIizT,EAAMh8T,EAAK6I,EAAIE,EACf87V,EAAa7kW,EAAK+7T,WAAW,GAC7B+oC,EAAO9kW,EAAK+7T,WAAW,GAE3B,OADA/7T,EAAK6I,EAAImzT,EACF,CAACkiB,KAAK2mB,EAAYxyB,SAASyyB,EACnC,GAiyQQ,GAAe,CAAoB,EACnC,GAAe,CAAyB73T,EAzidhD,SAAuBjtC,GACtB,OAAOA,EAAK+7T,WAAW,EAAG,IAC3B,GAwidQ,GAAe,CAAwB,EACvC,GAAe,CAAmB9uR,EA3qP1C,SAAsBjtC,GAGpB,IAFA,IAAIwgR,EAAM,GACNm/C,EAAM3/T,EAAK+7T,WAAW,GACnB4D,KAAQ,GACbn/C,EAAIjyQ,KAAK,CAACvO,EAAK+7T,WAAW,GAAI/7T,EAAK+7T,WAAW,KAChD,OAAOv7C,CACT,GAsqPQ,GAAe,CAAyBv7M,EAAE,GAC1C,GAAe,CAAuBA,GAAG,GACzC,GAAe,CAAyBA,EAAE,GAC1C,GAAe,CAAuBA,GAAG,GACzC,GAAe,CAA8BA,EAAE,GAC/C,GAAe,CAA4BA,GAAG,GAC9C,GAAe,CAAyB,EACxC,GAAe,CAAkB,EACjC,GAAe,CAAwBh4B,EAAEkyS,IACzC,GAAe,CAA4BlyS,EA7pHnD,SAA8BjtC,GAG7B,MAAO,CAFIw0U,GAAex0U,GACdk0U,GAAcl0U,GACL,KACtB,GA0pHQ,GAAe,CAA+BitC,EA3+OtD,SAAiCjtC,GAChC,IAAIwgR,EAAM,CAAC,EACXA,EAAI53Q,EAAI5I,EAAK+7T,WAAW,GACxB,IAAInxH,EAAO,CAAC,EACZA,EAAK9+I,EAAI9rD,EAAK+7T,WAAW,GACzBnxH,EAAKvjL,EAAIrnB,EAAK+7T,WAAW,GACzBv7C,EAAI10N,EAAIwlR,GAAY1mI,GACpB,IAAI9jJ,EAAQ9mD,EAAK+7T,WAAW,GAG5B,OAFW,EAARj1Q,IAAa05N,EAAI33Q,EAAI,KACb,EAARi+C,IAAa05N,EAAI/zQ,EAAI,KACjB+zQ,CACR,GAi+OQ,GAAe,CAAqBvzO,EAl6G5C,WACA,GAk6GQ,GAAe,CAAyB,EACxC,GAAe,CAAyB,EACxC,GAAe,CAA0B,EACzC,GAAe,CAAyB,EACxC,GAAe,CAA0B,EACzC,GAAe,CAAyB,EACxC,IAAe,CAA0B,EACzC,IAAe,CAA2Bg4B,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,EAAGh4B,EAAEsjS,GAAWx6R,EAAE,GAC7D,IAAe,CAAwBkvB,GAAG,GAC1C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA4BA,EAAE,EAAGh4B,EAh/GxD,SAA8BjtC,GAC7B,IAAIitC,EAAIjtC,EAAK+7T,WAAW,GAExB,OADA/7T,EAAK6I,GAAK,GACH,CAAEmyV,IAAS,GAAJ/tT,EACf,GA6+GQ,IAAe,CAA0Bg4B,GAAG,GAC5C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAuBh4B,EAj2H9C,SAAyBjtC,EAAM+I,GAC9B,IAAIi6C,EAAI,CAAC,EACL/V,EAAIjtC,EAAKA,EAAK6I,GAMlB,QANwB7I,EAAK6I,EAC7Bm6C,EAAE03S,QAAc,GAAJztT,GACZ+V,EAAE1zB,OAAc,IAAJ2d,GAEZjtC,EAAK6I,GAAK,GACVm6C,EAAEn4C,KAAOgqU,GAAmB70U,EAAM+I,EAAS,IACpCi6C,CACR,GAy1HQ,IAAe,CAAsB/V,EAAE2vT,GAAgB7mT,EAAE,IACzD,IAAe,CAAqB9I,EAzjH5C,WACA,GAyjHQ,IAAe,CAAkB,EACjC,IAAe,CAAuBA,EA/3E9C,SAAyBjtC,EAAM+I,GAC9B,IAAImsH,EAAiB,CAAC,EAClBpuE,EAAQ9mD,EAAK+7T,WAAW,GAC5B7mM,EAAE6vO,oBAAsB/kW,EAAK+7T,WAAW,GACxC,IAAIipC,EAAWj8V,EAAS,EAAK4qU,GAAmB3zU,GAAQ,GAiBxD,OAhBGglW,EAAQj8V,OAAS,IAAGmsH,EAAEmlO,SAAW2K,GACpC9vO,EAAE+vO,wBAAkC,MAARn+S,GAC5BouE,EAAEgwO,cAAwB,GAARp+S,GAClBouE,EAAEiwO,sBAAgC,KAARr+S,GAC1BouE,EAAE6/L,YAAsB,EAARjuQ,GAChBouE,EAAE6rO,iBAA2B,EAARj6S,GACrBouE,EAAEkwO,sBAAgC,KAARt+S,GAC1BouE,EAAEmwO,qBAA+B,GAARv+S,GACzBouE,EAAEowO,gBAA0B,KAARx+S,GACpBouE,EAAEqwO,yBAAmC,OAARz+S,GAC7BouE,EAAEswO,0BAAoC,IAAR1+S,GAC9BouE,EAAEuwO,8BAAwC,EAAR3+S,GAClCouE,EAAEwwO,qBAA+B,GAAR5+S,GACzBouE,EAAEywO,YAAc,CAAC,MAAO,eAAgB,QAAS7+S,GAAS,GAAM,GAChEouE,EAAE0wO,wBAAkC,MAAR9+S,GAC5BouE,EAAE2wO,YAAc,CAAC,UAAW,QAAS,UAAW/+S,GAAS,EAAK,GACvDouE,CACR,GA02EQ,IAAe,CAAwB,EACvC,IAAe,CAA0B,EACzC,IAAe,CAAyBjoF,EAp5EhD,SAA2BjtC,EAAM+I,GAChC,IAAIi6C,EAAI,CAAC,EAKT,OAJAA,EAAEm9S,OAASngW,EAAK+7T,WAAW,GAC3B/4Q,EAAEw9S,OAASxgW,EAAK+7T,WAAW,GAC3B/4Q,EAAEy9S,SAAWvrB,GAAYl1U,EAAK+I,EAAO,GACrCi6C,EAAEn4C,KAAO8oU,GAAmB3zU,GACrBgjD,CACR,GA84EQ,IAAe,CAAuB,EACtC,IAAe,CAAuB,EACtC,IAAe,CAAyBiiB,EAAE,EAAGh4B,EA/7SrD,SAA2BjtC,GAC1B,MAAO,CAACA,EAAK+7T,WAAW,GAAI/7T,EAAK+7T,WAAW,GAC7C,GA87SQ,IAAe,CAAuB92P,GAAG,GACzC,IAAe,CAA6BA,EAAE,EAAGh4B,EAAE0oS,IACnD,IAAe,CAA2B1wQ,GAAG,GAC7C,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAqB,EACpC,IAAe,CAA0B,EACzC,IAAe,CAAyB,EACxC,IAAe,CAA0B,EACzC,IAAe,CAA4B,EAC3C,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA2B,EAC1C,IAAe,CAAmC,EAClD,IAAe,CAA0Bh4B,EAAE8vT,IAC3C,IAAe,CAAgC93R,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAuCA,EAAE,GACxD,IAAe,CAAqCA,GAAG,GACvD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAqCA,EAAE,GACtD,IAAe,CAAmCA,GAAG,GACrD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAAqCA,EAAE,GACtD,IAAe,CAAmCA,GAAG,GACrD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAqCA,EAAE,GACtD,IAAe,CAAmCA,GAAG,GACrD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAAyBA,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAA2B,EAC1C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAAwBh4B,EAz5P/C,SAA0BjtC,EAAM+I,GAC9B,MAAO,CACL+9C,MAAO9mD,EAAK+7T,WAAW,GACvB92S,QAASjlB,EAAK+7T,WAAW,GACzBlxT,KAAM8oU,GAAmB3zU,GAE7B,GAo5PQ,IAAe,CAA6BilE,GAAG,GAC/C,IAAe,CAA2Bh4B,EAv3PlD,SAA6BjtC,GAE3B,OADAA,EAAK6I,GAAK,EACmB,GAAtB7I,EAAK+7T,WAAW,EACzB,EAo3PyE92P,EAAE,GACnE,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAyB,EACxC,IAAe,CAAyB,EACxC,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA2Bh4B,EAAEioS,IAC5C,IAAe,CAAsB,EACrC,IAAe,CAAsB,EACrC,IAAe,CAAsB,EACrC,IAAe,CAA6BjwQ,EAAE,GAC9C,IAAe,CAA8B,EAC7C,IAAe,CAA4Bh4B,EAAE6xS,IAC7C,IAAe,CAA+B,EAC9C,IAAe,CAA6B,EAC5C,IAAe,CAA2B,EAC1C,IAAe,CAA8B,EAC7C,IAAe,CAA6B,EAC5C,IAAe,CAA6B,EAC5C,IAAe,CAA8B,EAC7C,IAAe,CAA+B,EAC9C,IAAe,CAA2B75Q,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAkB,EACjC,IAAe,CAA2B,EAC1C,IAAe,CAAmB,EAClC,IAAe,CAAmB,EAClC,IAAe,CAAkB,EACjC,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAkB,EACjC,IAAe,CAAkB,EACjC,IAAe,CAAuB,EACtC,IAAe,CAA0B,EACzC,IAAe,CAAqB,EACpC,IAAe,CAAwB,EACvC,IAAe,CAAwB,EACvC,IAAe,CAA2B,EAC1C,IAAe,CAAuB,EACtC,IAAe,CAAyB,EACxC,IAAe,CAAyB,EACxC,IAAe,CAAyB,EACxC,IAAe,CAAwB,EACvC,IAAe,CAAqB,EACpC,IAAe,CAAyB,EACxC,IAAe,CAAsB,EACrC,IAAe,CAAuB,EACtC,IAAe,CAA0B,EACzC,IAAe,CAAwB,EACvC,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAwBh4B,EAr0H/C,SAA0BjtC,EAAM+I,EAAQsc,GACvC,IAAIyU,EAAM95B,EAAK6I,EAAIE,EACf+8V,EAAMpwB,GAAU11U,GAChB+lW,EAAc/lW,EAAK+7T,WAAW,GAC9B7mM,EAAI,CAAC4wO,GACT,GADe5wO,EAAE,GAAK6wO,EACnB1gV,EAAKs+U,YAAa,CACpB,IAAIpf,EAAU8T,GAA6Br4V,EAAM85B,EAAM95B,EAAK6I,EAAGwc,GAC/D6vG,EAAE,GAAKqvN,CACR,MAAOvkV,EAAK6I,EAAIixB,EAChB,OAAOo7F,CACR,GA4zHQ,IAAe,CAAwBjoF,EAzzH/C,SAA0BjtC,EAAM+I,EAAQsc,GACvC,IAAIyU,EAAM95B,EAAK6I,EAAIE,EAEfmsH,EAAI,CADEygN,GAAmB31U,EAAM,KAEnC,GAAGqlB,EAAKs+U,YAAa,CACpB,IAAIpf,EAAUiU,GAA8Bx4V,EAAM85B,EAAM95B,EAAK6I,EAAGwc,GAChE6vG,EAAE,GAAKqvN,EACPvkV,EAAK6I,EAAIixB,CACV,MAAO95B,EAAK6I,EAAIixB,EAChB,OAAOo7F,CACR,GAgzHQ,IAAe,CAAoB,EACnC,IAAe,CAAoCjwD,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAAyBA,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA2CA,EAAE,GAC5D,IAAe,CAAyCA,GAAG,GAC3D,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAmB,EAClC,IAAe,CAA8B,EAC7C,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA2B,EAC1C,IAAe,CAAwBh4B,EA30H/C,SAA0BjtC,GACzB,IAAI6zO,EAAW,CAAC,EAEhB,OADAopH,GAAcv0V,SAAQ,SAAS+qC,GAAKogM,EAAQpgM,GAAKoiS,GAAW71U,EAAU,IAC/D6zO,CACR,GAw0HQ,IAAe,CAA2B,EAC1C,IAAe,CAAwB,EACvC,IAAe,CAAkC5uK,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA0Bh4B,EAnrIjD,WACA,GAmrIQ,IAAe,CAAyBg4B,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAwBA,EAAE,GACzC,IAAe,CAAsBA,GAAG,GACxC,IAAe,CAAyBA,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAAsBh4B,EAt6H7C,SAAwBjtC,EAAM+I,GAC7B,IAAI+wB,EAAM95B,EAAK6I,EAAIE,EACf+8V,EAAMnwB,GAAmB31U,EAAM,IAC/BgmW,EAAQjxB,GAA2B/0U,GACnCiqO,EAAM0pG,GAAmB3zU,GACzBk8V,EAAUvoB,GAAmB3zU,GAC7B48D,EAAU+2Q,GAAmB3zU,GACjCA,EAAK6I,EAAIixB,EACT,IAAIo7F,EAAK,CAAC4wO,IAAIA,EAAKE,MAAMA,EAAO/7H,IAAIA,EAAKrtK,QAAQA,GAEjD,OADGs/R,IAAShnO,EAAEgqN,QAAUgd,GACjBhnO,CACR,GA45HQ,IAAe,CAA0BjwD,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAAmB,EAClC,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAyBA,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAAkB,EACjC,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAAkB,EACjC,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgC,EAC/C,IAAe,CAA+B,EAC9C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA0B,EACzC,IAAe,CAAqB,EACpC,IAAe,CAAqB,EACpC,IAAe,CAAqB,EACpC,IAAe,CAAqB,EACpC,IAAe,CAAsB,EACrC,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA6B,EAC5C,IAAe,CAA8B,EAC7C,IAAe,CAA8B,EAC7C,IAAe,CAA2B,EAC1C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA0B,EACzC,IAAe,CAAsB,EACrC,IAAe,CAAwBh4B,EAAEioS,IACzC,IAAe,CAA4B,EAC3C,IAAe,CAA8B,EAC7C,IAAe,CAAqB,EACpC,IAAe,CAAiCjwQ,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAoB,EACnC,IAAe,CAAoB,EACnC,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAuB,EACtC,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA2B,EAC1C,IAAe,CAAgC,EAC/C,IAAe,CAA8B,EAC7C,IAAe,CAAyB,EACxC,IAAe,CAAyB,EACxC,IAAe,CAAwB,EACvC,IAAe,CAAyB,EACxC,IAAe,CAA0B,EACzC,IAAe,CAA0B,EACzC,IAAe,CAA0B,EACzC,IAAe,CAAyB,EACxC,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAmC,EAClD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA2B,EAC1C,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAwB,EACvC,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA0B,EACzC,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAsB,EACrC,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAA8Bh4B,EAAE6kT,IAC/C,IAAe,CAAiC7sR,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAA6BA,EAAE,EAAGh4B,EAtmPzD,SAA+BjtC,GAC9B,IAAIwgR,EAAM,CAAC,EACXA,EAAI4wE,QAAUpxV,EAAK+7T,WAAW,GAC9B,IAAI+pC,EAAMnwB,GAAmB31U,EAAM,IAInC,OAHAwgR,EAAIslF,IAAMA,EAAI/4T,EACdyzO,EAAI31J,IAAMymN,GAAYw0B,EAAI/4T,GAC1B/sC,EAAK6I,GAAK,GACH23Q,CACR,GA+lPQ,IAAe,CAA2Bv7M,GAAG,GAC7C,IAAe,CAA4Bh4B,EAAEonS,IAC7C,IAAe,CAAgCpvQ,EAAE,GACjD,IAAe,CAAwB,EACvC,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAqCA,EAAE,GACtD,IAAe,CAAsB,EACrC,IAAe,CAAmCA,GAAG,GACrD,IAAe,CAA2CA,EAAE,GAC5D,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAA2B,EAC1C,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAAuBh4B,EAh0G9C,SAAyBjtC,EAAM+I,GAG9B,OAFA/I,EAAK6I,GAAK,GAEH,CAAEgC,KADE8oU,GAAmB3zU,GAE/B,GA6zGQ,IAAe,CAA0B,EACzC,IAAe,CAAiCilE,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAA2B,EAC1C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAAuB,EACtC,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA4B,EAC3C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAAsB,EACrC,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAuB,EACtC,IAAe,CAA0B,EACzC,IAAe,CAA2B,EAC1C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAyB,EACxC,IAAe,CAA6B,EAC5C,IAAe,CAAgC,EAC/C,IAAe,CAAiC,EAChD,IAAe,CAA8B,EAC7C,IAAe,CAAiC,EAChD,IAAe,CAAuB,EACtC,KAAe,CAAwB,EACvC,KAAe,CAAyB,EACxC,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAmC,EAClD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAAgC,EAC/C,KAAe,CAAsB,EACrC,KAAe,CAAqB,EACpC,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAAqB,EACpC,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAwB,EACvC,KAAe,CAAqB,EACpC,KAAe,CAA4B,EAC3C,KAAe,CAA6CA,EAAE,GAC9D,KAAe,CAA2CA,GAAG,GAC7D,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAAqB,EACpC,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAAuBh4B,EAx9H9C,WACA,GAw9HQ,KAAe,CAA6Bg4B,EAAE,GAC9C,KAAe,CAAsB,EACrC,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAAqB,EACpC,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA2BA,EAAE,GAC5C,KAAe,CAAyBA,GAAG,GAC3C,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA4BA,EAAE,GAC7C,KAAe,CAA0BA,GAAG,GAC5C,KAAe,CAAqC,EACpD,KAAe,CAAyCA,EAAE,GAC1D,KAAe,CAAuCA,GAAG,GACzD,KAAe,CAA2CA,EAAE,GAC5D,KAAe,CAAyCA,GAAG,GAC3D,KAAe,CAA0CA,EAAE,GAC3D,KAAe,CAAwCA,GAAG,GAC1D,KAAe,CAAyCA,EAAE,GAC1D,KAAe,CAAuCA,GAAG,GACzD,KAAe,CAAwCA,EAAE,GACzD,KAAe,CAAsCA,GAAG,GACxD,KAAe,CAAkC,EACjD,KAAe,CAA2CA,EAAE,GAC5D,KAAe,CAAmC,EAClD,KAAe,CAAyCA,GAAG,GAC3D,KAAe,CAAuCA,EAAE,GACxD,KAAe,CAAqCA,GAAG,GACvD,KAAe,CAAoC,EACnD,KAAe,CAAgC,EAC/C,KAAe,CAAmC,EAClD,KAAe,CAA6B,EAC5C,KAAe,CAAqB,EACpC,KAAe,CAAqB,EACpC,KAAe,CAA+CA,EAAE,GAChE,KAAe,CAA6CA,GAAG,GAC/D,KAAe,CAA6BA,EAAE,GAC9C,KAAe,CAA2BA,GAAG,GAC7C,KAAe,CAAuB,EACtC,KAAe,CAA4BA,EAAE,GAC7C,KAAe,CAA0BA,GAAG,GAC5C,KAAe,CAA6BA,EAAE,GAC9C,KAAe,CAA2BA,GAAG,GAC7C,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA2B,EAC1C,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAiC,EAChD,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAA8CA,EAAE,GAC/D,KAAe,CAA4CA,GAAG,GAC9D,KAAe,CAA4CA,EAAE,GAC7D,KAAe,CAA0CA,GAAG,GAC5D,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAyB,EACxC,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAAyCA,EAAE,GAC1D,KAAe,CAAuCA,GAAG,GACzD,KAAe,CAAwB,EACvC,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAA2BA,GAAG,GAC7C,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA6BA,EAAE,GAC9C,KAAe,CAA2BA,GAAG,GAC7C,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAAoB,EACnC,KAAe,CAA4BA,EAAE,GAC7C,KAAe,CAA0BA,GAAG,GAC5C,KAAe,CAAuB,EACtC,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAA6B,EAC5C,KAAe,CAA2B,EAC1C,KAAe,CAAuC,EACtD,KAAe,CAA4CA,EAAE,GAC7D,KAAe,CAA0CA,GAAG,GAC5D,KAAe,CAAoC,EACnD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAA4B,EAC3C,KAAe,CAAyC,EACxD,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA2BA,EAAE,GAC5C,KAAe,CAAyBA,GAAG,GAC3C,KAAe,CAA2B,EAC1C,KAAe,CAAoB,EACnC,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAA2B,EAC1C,KAAe,CAAwB,EACvC,KAAe,CAA0CA,EAAE,GAC3D,KAAe,CAAwCA,GAAG,GAC1D,KAAe,CAAkC,EACjD,KAAe,CAAiC,EAChD,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAyB,EACxC,KAAe,CAAgDA,EAAE,GACjE,KAAe,CAA8CA,GAAG,GAChE,KAAe,CAAwC,EACvD,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAA2B,EAC1C,KAAe,CAAqB,EACpC,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAAmC,EAClD,KAAe,CAA6CA,EAAE,GAC9D,KAAe,CAA2CA,GAAG,GAC7D,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAA2CA,EAAE,GAC5D,KAAe,CAAyCA,GAAG,GAC3D,KAAe,CAAoB,EACnC,KAAe,CAA4BA,EAAE,GAC7C,KAAe,CAA0BA,GAAG,GAC5C,KAAe,CAA6C,EAC5D,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAA6B,EAC5C,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAAuB,EACtC,KAAe,CAAwB,EACvC,KAAe,CAA0B,EACzC,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAAwB,EACvC,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAyB,EACxC,KAAe,CAAwCA,EAAE,GACzD,KAAe,CAAsCA,GAAG,GACxD,KAAe,CAAgC,EAC/C,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAkC,EACjD,KAAe,CAAkC,EACjD,KAAe,CAAqB,EACpC,KAAe,CAAwCA,EAAE,GACzD,KAAe,CAAsCA,GAAG,GACxD,KAAe,CAAuCA,EAAE,GACxD,KAAe,CAAqCA,GAAG,GACvD,KAAe,CAAuC,EACtD,KAAe,CAAkB,EACjC,KAAe,CAA0B,EACzC,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAyB,EACxC,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAuCA,EAAE,GACxD,KAAe,CAAqCA,GAAG,GACvD,KAAe,CAA+B,EAC9C,KAAe,CAA8B,EAC7C,KAAe,CAAgC,EAC/C,KAAe,CAAuCA,EAAE,GACxD,KAAe,CAAqCA,GAAG,GACvD,KAAe,CAAsC,EACrD,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAA0B,EACzC,KAAe,CAA8B,EAC7C,MAAe,CAAEl6B,EAAE,KAkd3B,SAAS4/S,GAAexpL,EAAiB75J,EAAiB0kB,EAASjjB,GAClE,IAAIotC,EAAe7uC,EACnB,IAAG27G,MAAM9sE,GAAT,CACA,IAAI9sC,EAAMN,IAAWijB,GAAS,IAAIjjB,QAAU,EACxCmsH,EAAIisC,EAAG/gK,KAAK,GAChB80H,EAAEwmM,YAAY,EAAGvlR,GACjB++E,EAAEwmM,YAAY,EAAGryT,GACOA,EAAM,GAAK+lU,GAAOpjT,IAAUm1I,EAAG5yJ,KAAKyd,EALzC,CAMpB,CAyBA,SAASi6U,GAAgBzlF,EAAK10N,EAAczkC,GAM3C,OALIm5P,IAAKA,EAAMk/C,GAAQ,IACvBl/C,EAAIk7C,YAAY,EAAG5vQ,GACnB00N,EAAIk7C,YAAY,EAAGr0S,GACnBm5P,EAAIk7C,YAAY,EAAG,GACnBl7C,EAAIk7C,YAAY,EAAG,GACZl7C,CACR,CAkBA,SAAS0lF,GAAoB/kM,EAAiBypC,EAAej1E,EAAcN,GAC1E,GAAa,MAAVu1E,EAAK7jK,EAAW,OAAO6jK,EAAKz0J,GAC9B,IAAK,IAAK,IAAK,IACd,IAAIpP,EAAc,KAAV6jK,EAAKz0J,EAAWq0R,GAAQj/K,GAAUq/C,EAAK7jK,IAAM6jK,EAAK7jK,EAK1D,YAJIA,IAAQ,EAAFA,IAAUA,GAAK,GAAOA,EAAI,MACnC4jT,GAAexpL,EAAI,EAjxZvB,SAAwBr1G,EAAczkC,EAAcpf,GACnD,IAAIu4Q,EAAMk/C,GAAQ,GAGlB,OAFAumC,GAAgBzlF,EAAK10N,EAAGzkC,GACxBm5P,EAAIk7C,YAAY,EAAGzzT,GACZu4Q,CACR,CA4wZ+B2lF,CAAexwO,EAAGN,EAAGtuF,IAEhD4jT,GAAexpL,EAAI,EAlyZvB,SAAwBr1G,EAAczkC,EAAcpf,GACnD,IAAIu4Q,EAAMk/C,GAAQ,IAGlB,OAFAumC,GAAgBzlF,EAAK10N,EAAGzkC,GACxBm5P,EAAIk7C,YAAY,EAAGzzT,EAAK,KACjBu4Q,CACR,CA6xZ+B4lF,CAAezwO,EAAEN,EAAGtuF,KAEjD,IAAK,IAAK,IAAK,IAAwE,YAAnE4jT,GAAexpL,EAAI,EAzBzC,SAAyBr1G,EAAczkC,EAAcpf,EAAKkuC,GACzD,IAAIqqO,EAAMk/C,GAAQ,GAGlB,OAFAumC,GAAgBzlF,EAAK10N,EAAGzkC,GACxB81T,GAAUl1U,EAAKkuC,GAAK,IAAKqqO,GAClBA,CACR,CAoBiD6lF,CAAgB1wO,EAAGN,EAAGu1E,EAAK7jK,EAAG6jK,EAAKz0J,IAElF,IAAK,IAAK,IAAK,MAEd,YADAw0S,GAAexpL,EAAI,EApBtB,SAA0Br1G,EAAczkC,EAAcpf,GACrD,IAAIu4Q,EAAMk/C,GAAQ,EAAI,EAAEz3T,EAAIc,QAI5B,OAHAk9V,GAAgBzlF,EAAK10N,EAAGzkC,GACxBm5P,EAAIk7C,YAAY,EAAGzzT,EAAIc,QACvBy3Q,EAAIk7C,YAAYzzT,EAAIc,OAAQd,EAAK,QAC1Bu4Q,EAAI33Q,EAAI23Q,EAAIz3Q,OAASy3Q,EAAIp5Q,MAAM,EAAGo5Q,EAAI33Q,GAAK23Q,CACnD,CAc8B8lF,CAAiB3wO,EAAGN,GAAIu1E,EAAK7jK,GAAG,IAAI3/B,MAAM,EAAE,OAGzEujV,GAAexpL,EAAI,EAAQ8kM,GAAgB,KAAMtwO,EAAGN,GACrD,CAyBA,SAASkxO,GAAgB5qM,EAAiBt2I,GACzC,IAAI6vG,EAAI7vG,GAAQ,CAAC,EACL,MAATitS,IAA4B,MAAXp9L,EAAE49M,QAAe59M,EAAE49M,MAAQxgB,IAG/C,IAFA,IAAInxJ,EAAKqvK,KACL9nS,EAAM,EACF9/B,EAAE,EAAEA,EAAE+yJ,EAAG+2K,WAAW3pU,SAASH,EAAM+yJ,EAAG+2K,WAAW9pU,IAAMssH,EAAElgD,QAAOtsC,EAAI9/B,GAC5E,GAAU,GAAP8/B,GAAcwsF,EAAElgD,OAAS2mF,EAAG+2K,WAAW,IAAMx9M,EAAElgD,MAAO,MAAM,IAAIl0E,MAAM,oBAAsBo0H,EAAElgD,OAMjG,OALA21Q,GAAexpL,EAAe,GAAVjsC,EAAEi8M,KAAY,KAAoB,GAAVj8M,EAAEi8M,KAAY,IAAS,EAAUqN,GAAU7iL,EAAI,GAAMzmC,IA9BlG,SAAwBisC,EAAiB4xK,EAAkBrqS,EAAgBrjB,GAC1E,IACmDwlG,EAD/CioN,EAAQrrU,MAAMD,QAAQurU,GACtBvsQ,EAAQ0rQ,GAAkBa,EAAG,SAAW,MAAuBj1M,EAAK,GAAIm1I,EAAyB,GACrG,GAAGzsM,EAAM7uD,EAAE0P,EAAI,KAAQm/C,EAAM7uD,EAAEm0C,EAAI,MAAQ,CAC1C,GAAGzmC,EAAKk1T,IAAK,MAAM,IAAIz5U,MAAM,UAAYiyU,EAAG,SAAW,MAAQ,oCAC/DvsQ,EAAM7uD,EAAE0P,EAAI7iB,KAAKia,IAAI+nD,EAAM7uD,EAAE0P,EAAG,KAChCm/C,EAAM7uD,EAAEm0C,EAAItnD,KAAKia,IAAI+nD,EAAM7uD,EAAE0P,EAAG,OAChCwjG,EAAMonN,GAAazrQ,EACpB,CACA,IAAI,IAAImvD,EAAInvD,EAAMz5B,EAAE+e,EAAG6pE,GAAKnvD,EAAM7uD,EAAEm0C,IAAK6pE,EAAG,CAC3CmI,EAAK2zM,GAAW97M,GAChB,IAAI,IAAIN,EAAI7uD,EAAMz5B,EAAE1lB,EAAGguG,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,EAAG,CACxCM,IAAMnvD,EAAMz5B,EAAE+e,IAAGmnN,EAAK59I,GAAKq8M,GAAWr8M,IACzCxK,EAAMooJ,EAAK59I,GAAKyI,EAChB,IAAI8sE,EAAOkoI,GAASC,EAAGp9M,IAAI,IAAIN,GAAK09M,EAAGloN,GACnC+/E,GAEJs7J,GAAoB/kM,EAAIypC,EAAMj1E,EAAGN,EAClC,CACD,CACD,CAYCmxO,CAAerlM,EAAIxF,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOA,EAAKwsF,GAEvDy1N,GAAexpL,EAAI,IACZA,EAAGrnI,KACX,CAEA,SAAS2sU,GAAkBtlM,EAAInhK,EAAMqlB,GACpCslU,GAAexpL,EAAI,GAr+apB,SAAoBnhK,EAAMqlB,GACzB,IAAIxa,EAAO7K,EAAK6K,MAAQ,QACpBykR,EAAMjqQ,GAAsB,GAAbA,EAAK8rT,KACpBj8M,EAAIwqM,GADkCpwC,EAAM,GAAKzkR,EAAK9B,OAAW,GAAK,EAAI8B,EAAK9B,QAUnF,OARAmsH,EAAEwmM,YAAY,EAAqB,IAAjB17T,EAAKu/S,IAAM,KAC7BrqL,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,KACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG7wT,EAAK9B,QAClBumR,GAAIp6J,EAAEwmM,YAAY,EAAG,GACzBxmM,EAAEwmM,aAAapsC,EAAK,EAAI,GAAKzkR,EAAK9B,OAAQ8B,EAAOykR,EAAK,OAAS,WACxDp6J,CACR,CAw9auCwxO,CAAW,CAChDnnD,GAAG,GACHpzP,MAAO,CAACiwL,MAAM,GACdvxO,KAAM,QACNyhS,OAAQ,EACR0hD,OAAQ,SACN3oU,GACJ,CA2CA,SAASshV,GAAoBxlM,EAAI8xG,GAChC,GAAIA,EAAJ,CACA,IAAI0sD,EAAM,EACV1sD,EAAKvqQ,SAAQ,SAASy/J,EAAKz/H,KACrBi3R,GAAO,KAAOx3J,GAClBwiL,GAAexpL,EAAI,IAt9ZtB,SAAuBgH,EAAKz/H,GAC3B,IAAIwsF,EAAIwqM,GAAQ,IAChBxqM,EAAEwmM,YAAY,EAAGhzR,GACjBwsF,EAAEwmM,YAAY,EAAGhzR,GACjBwsF,EAAEwmM,YAAY,EAAe,IAAZvzJ,EAAIr3I,OACrBokG,EAAEwmM,YAAY,EAAG,GACjB,IAAIzuR,EAAI,EAMR,OALGk7H,EAAIy8K,SAAQ33S,GAAK,GACpBioF,EAAEwmM,YAAY,EAAGzuR,GACjBA,EAAIk7H,EAAIo7G,OAAS,EACjBruJ,EAAEwmM,YAAY,EAAGzuR,GACjBioF,EAAEwmM,YAAY,EAAG,GACVxmM,CACR,CAy8Z4C0xO,CAAc9N,GAAUpwT,EAAKy/H,GAAMz/H,GAE9E,GANgB,CAOjB,CAEA,SAASm+T,GAAoB1lM,EAAiBypC,EAAej1E,EAAcN,EAAchwG,GACxF,IAAI2yU,EAAK,GAAKkB,GAAe7zU,EAAK+nU,QAASxiJ,EAAMvlL,GACjD,GAAa,MAAVulL,EAAK7jK,GAAc6jK,EAAK54B,GAI3B,GAAG44B,EAAK54B,GAAI24K,GAAexpL,EAAI,EAAsB42L,GAAcntJ,EAAMj1E,EAAGN,EAAGhwG,EAAM2yU,SAChF,OAAOptJ,EAAKz0J,GAChB,IAAK,IAAK,IAAK,IAGdw0S,GAAexpL,EAAI,IAp0atB,SAAsBxrC,EAAcN,EAActuF,EAAGixT,GACpD,IAAI9iO,EAAIwqM,GAAQ,IAGhB,OAFAue,GAActoN,EAAGN,EAAG2iO,EAAI9iO,GACxB4gN,GAAW/uS,EAAGmuF,GACPA,CACR,CA+za2C4xO,CAAanxO,EAAGN,EAFtC,KAAVu1E,EAAKz0J,EAAWq0R,GAAQj/K,GAAUq/C,EAAK7jK,IAAM6jK,EAAK7jK,EAEIixT,IAC9D,MACD,IAAK,IAAK,IAAK,IACdrN,GAAexpL,EAAI,IAt1atB,SAAuBxrC,EAAcN,EAActuF,EAAGixT,EAAe3yU,EAAM8wB,GAC1E,IAAI++E,EAAIwqM,GAAQ,GAGhB,OAFAue,GAActoN,EAAGN,EAAG2iO,EAAI9iO,GACxBioN,GAAUp2S,EAAGoP,EAAG++E,GACTA,CACR,CAi1a4C6xO,CAAcpxO,EAAGN,EAAGu1E,EAAK7jK,EAAGixT,EAAI3yU,EAAMulL,EAAKz0J,IACpF,MAED,IAAK,IAAK,IAAK,MACd,GAAG9wB,EAAKgmU,QAEPV,GAAexpL,EAAI,IAhibvB,SAAwBxrC,EAAcN,EAActuF,EAAcixT,GACjE,IAAI9iO,EAAIwqM,GAAQ,IAGhB,OAFAue,GAActoN,EAAGN,EAAG2iO,EAAI9iO,GACxBA,EAAEwmM,YAAY,EAAG30R,GACVmuF,CACR,CA2hb8C8xO,CAAerxO,EAAGN,EADjDujO,GAAWvzU,EAAKu0U,QAAShvJ,EAAK7jK,EAAG1hB,EAAKw0U,YACoB7B,SAC/DrN,GAAexpL,EAAI,IAhhb7B,SAAqBxrC,EAAcN,EAActuF,EAAcixT,EAAe3yU,GAC7E,IAAIoqQ,GAAMpqQ,GAAqB,GAAbA,EAAK8rT,KACnBj8M,EAAIwqM,IAAkBjwC,EAAV,GAAiB,EAAIA,GAAM1oP,EAAEh+B,QAK7C,OAJAk1U,GAActoN,EAAGN,EAAG2iO,EAAI9iO,GACxBA,EAAEwmM,YAAY,EAAG30R,EAAEh+B,QAChB0mR,GAAIv6J,EAAEwmM,YAAY,EAAG,GACxBxmM,EAAEwmM,aAAa,EAAIjsC,GAAM1oP,EAAEh+B,OAAQg+B,EAAG0oP,EAAK,UAAY,QAChDv6J,CACR,CAwgbiD+xO,CAAYtxO,EAAGN,GAAIu1E,EAAK7jK,GAAG,IAAI3/B,MAAM,EAAE,KAAM4wV,EAAI3yU,IAC/F,MACD,QACCslU,GAAexpL,EAAI,IAAoB88K,GAActoN,EAAGN,EAAG2iO,SArB5DrN,GAAexpL,EAAI,IAAoB88K,GAActoN,EAAGN,EAAG2iO,GAuB7D,CAGA,SAASkP,GAAex+T,EAAgBrjB,EAAMs2I,GAC7C,IAMI9wC,EANAs2C,EAAKqvK,KACLzjS,EAAI4uH,EAAG+2K,WAAWhqS,GAAMqqS,EAAKp3K,EAAGg3K,OAAO5lS,IAAM,CAAC,EAC9Co6T,GAAsBxrM,GAAI,CAAC,GAAGy+L,UAAU,CAAC,EACzCgN,GAAwBD,EAAIx0B,QAAQ,IAAIjqS,IAAM,CAAC,EAC/CoqS,EAAQrrU,MAAMD,QAAQurU,GACtBtjD,EAAkB,GAAbpqQ,EAAK8rT,KACMrzM,EAAK,GAAIm1I,EAAyB,GAClDzsM,EAAQ0rQ,GAAkBa,EAAG,SAAW,MACxCs0B,EAAW53E,EAAK,MAAQ,MAC5B,GAAGjpN,EAAM7uD,EAAE0P,EAAI,KAAQm/C,EAAM7uD,EAAEm0C,GAAKu7S,EAAU,CAC7C,GAAGhiV,EAAKk1T,IAAK,MAAM,IAAIz5U,MAAM,UAAYiyU,EAAG,SAAW,MAAQ,oCAC/DvsQ,EAAM7uD,EAAE0P,EAAI7iB,KAAKia,IAAI+nD,EAAM7uD,EAAE0P,EAAG,KAChCm/C,EAAM7uD,EAAEm0C,EAAItnD,KAAKia,IAAI+nD,EAAM7uD,EAAE0P,EAAGggV,EAAS,EAC1C,CAEA1c,GAAexpL,EAAI,KAAQq9K,GAAU7iL,EAAI,GAAMt2I,IAE/CslU,GAAexpL,EAAI,GAAuB+7K,GAAY,IACtDyN,GAAexpL,EAAI,GAAwB+7K,GAAY,MACvDyN,GAAexpL,EAAI,GAA0B67K,IAAU,IACvD2N,GAAexpL,EAAI,GAAuB67K,IAAU,IACpD2N,GAAexpL,EAAI,GAAwB20K,GAAW,OACtD6U,GAAexpL,EAAI,GAA6B67K,IAAU,IAC1D2N,GAAexpL,EAAI,GAA0B67K,IAAU,IACvD2N,GAAexpL,EAAI,GAAwB67K,IAAU,IACrD2N,GAAexpL,EAAI,IAAsB+7K,GAAY,IACrDyN,GAAexpL,EAAI,IAj5apB,SAAoBmmM,GACnB,IAAIpyO,EAAIwqM,GAAQ,GAIhB,OAHAxqM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG4rC,EAAK,GAAKA,EAAK,GAAK,EAAI,GACzCpyO,EAAEwmM,YAAY,EAAG4rC,EAAK,GAAKA,EAAK,GAAK,EAAI,GAClCpyO,CACR,CA24auCqyO,CAAW,CAAC,EAAE,KAIpD5c,GAAexpL,EAAI,IAAsB67K,IAAU,IACnD2N,GAAexpL,EAAI,IAAsB67K,IAAU,IAEhDvtD,GAAIk3E,GAAoBxlM,EAAI4xK,EAAG,UAElC4X,GAAexpL,EAAI,IArhbpB,SAA0B36F,EAAOnhD,GAChC,IAAI9K,EAAiB,GAAb8K,EAAK8rT,MAAc9rT,EAAK8rT,KAAW,EAAJ,EACnCj8M,EAAIwqM,GAAQ,EAAEnlT,EAAI,GAMtB,OALA26G,EAAEwmM,YAAYnhT,EAAGisD,EAAMz5B,EAAE+e,GACzBopE,EAAEwmM,YAAYnhT,EAAGisD,EAAM7uD,EAAEm0C,EAAI,GAC7BopE,EAAEwmM,YAAY,EAAGl1P,EAAMz5B,EAAE1lB,GACzB6tG,EAAEwmM,YAAY,EAAGl1P,EAAM7uD,EAAE0P,EAAI,GAC7B6tG,EAAEwmM,YAAY,EAAG,GACVxmM,CACR,CA4gb2BsyO,CAAiBhhS,EAAOnhD,IAG/CoqQ,IAAIsjD,EAAG,UAAY,IACtB,IAAI,IAAIp9M,EAAInvD,EAAMz5B,EAAE+e,EAAG6pE,GAAKnvD,EAAM7uD,EAAEm0C,IAAK6pE,EAAG,CAC3CmI,EAAK2zM,GAAW97M,GAChB,IAAI,IAAIN,EAAI7uD,EAAMz5B,EAAE1lB,EAAGguG,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,EAAG,CACxCM,IAAMnvD,EAAMz5B,EAAE+e,IAAGmnN,EAAK59I,GAAKq8M,GAAWr8M,IACzCxK,EAAMooJ,EAAK59I,GAAKyI,EAChB,IAAI8sE,EAAOkoI,GAASC,EAAGp9M,IAAI,IAAIN,GAAK09M,EAAGloN,GACnC+/E,IAEJi8J,GAAoB1lM,EAAIypC,EAAMj1E,EAAGN,EAAGhwG,GACjCoqQ,GAAM7kF,EAAK/hM,GAAGkqU,EAAG,UAAUxkU,KAAK,CAACs8G,EAAK+/E,EAAK/hM,IAC/C,CACD,CACA,IAAIsxV,EAAmBiN,EAAO/M,UAAY+M,EAAOv8V,MAAQkiC,EAazD,OAXG0iP,GAAIk7D,GAAexpL,EAAI,IAjpb3B,SAAuBxnH,GACtB,IAAIu7E,EAAIwqM,GAAQ,IAAKzyR,EAAI,KAOzB,OANG0M,GAAQA,EAAKqhT,MAAK/tT,GAAK,IAC1BioF,EAAEwmM,YAAY,EAAGzuR,GACjBioF,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,IACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACVxmM,CACR,CAwobiDuyO,EAAeN,EAAIrM,OAAO,IAAI,KAE3ErrE,IAAOsjD,EAAG,YAAY,IAAIhqU,QAAQ4hV,GAAexpL,EAAI,IAzuazD,SAA0B46L,GACzB,IAAI7mO,EAAIwqM,GAAQ,EAAoB,EAAhBq8B,EAAOhzV,QAC3BmsH,EAAEwmM,YAAY,EAAGqgC,EAAOhzV,QACxB,IAAI,IAAIH,EAAI,EAAGA,EAAImzV,EAAOhzV,SAAUH,EAAG21U,GAAYwd,EAAOnzV,GAAIssH,GAC9D,OAAOA,CACR,CAouakFwyO,CAAiB30B,EAAG,aAElGtjD,GA1GJ,SAA+BtuH,EAAiB4xK,GAC/C,IAAI,IAAIp9M,EAAE,EAAGA,EAAEo9M,EAAG,UAAUhqU,SAAU4sH,EAAG,CACxC,IAAIz4E,EAAK61R,EAAG,UAAUp9M,GACtBg1N,GAAexpL,EAAI,IAAoB69K,GAAY9hS,IAChDA,EAAG,GAAGgiS,SAASyL,GAAexpL,EAAI,KAA2B89K,GAAmB/hS,GACpF,QACO61R,EAAG,SACX,CAmGQ40B,CAAsBxmM,EAAI4xK,GAEjC4X,GAAexpL,EAAI,IAAuBy8K,GAAsBuc,IAE7D1qE,GArIJ,SAAoBtuH,EAAI4xK,GAEvB,IAAI79M,EAAIwqM,GAAQ,IAChBxqM,EAAEwmM,YAAY,EAAG,MAAQxmM,EAAEwmM,YAAY,EAAG,GAAIxmM,EAAEwmM,YAAY,EAAG,GAC/DxmM,EAAEwmM,YAAY,EAAG,GAAIxmM,EAAEwmM,YAAY,EAAG,GAAIxmM,EAAEwmM,YAAY,EAAG,GAC3DivB,GAAexpL,EAAI,KAAsBjsC,IAEzCA,EAAIwqM,GAAQ,KACVhE,YAAY,EAAG,MAAQxmM,EAAEwmM,YAAY,EAAG,GAAIxmM,EAAEwmM,YAAY,EAAG,GAC/DxmM,EAAEwmM,YAAY,EAAG,GAAIxmM,EAAEwmM,YAAY,EAAG,GAAIxmM,EAAEwmM,YAAY,EAAG,GAC3DxmM,EAAEwmM,YAAY,EAAG,GAAIxmM,EAAEwmM,YAAY,EAAG,GAAIxmM,EAAEwmM,YAAY,EAAG,GAC3D6iB,GAAYrM,GAAkBa,EAAG,SAAS,MAAO79M,GACjDA,EAAEwmM,YAAY,EAAG,GACjBivB,GAAexpL,EAAI,KAAmBjsC,EACvC,CAuHQ0yO,CAAWzmM,EAAI4xK,GAEtB4X,GAAexpL,EAAI,IACZA,EAAGrnI,KACX,CAGA,SAAS+tU,GAAmBlsM,EAAiB03J,EAAMhuS,GAClD,IAAI49B,EAAIutR,KACJ22B,GAAsBxrM,GAAI,CAAC,GAAGy+L,UAAU,CAAC,EACzC0N,EAA+BX,EAAIx0B,QAAQ,GAC3Co1B,EAA0BZ,EAAIjH,SAAS,CAA8B,EACrEzwE,EAAkB,GAAbpqQ,EAAK8rT,KAAW7hD,EAAkB,GAAbjqQ,EAAK8rT,MACnCwZ,GAAe1nS,EAAG,KAAQu7R,GAAU7iL,EAAI,EAAMt2I,IAC1B,OAAjBA,EAAKuyT,UAAmB+S,GAAe1nS,EAAG,KAC7C0nS,GAAe1nS,EAAG,IAA2BwsO,EAAKytD,GAAY,MAAU,MACxEyN,GAAe1nS,EAAG,IAjxcnB,SAAqBlY,EAAGmqF,GAASA,IAAGA,EAAEwqM,GAAQ30R,IAAI,IAAI,IAAIgI,EAAE,EAAGA,EAAEhI,IAAKgI,EAAGmiF,EAAEwmM,YAAY,EAAG,GAAI,OAAOxmM,CAAG,CAixcnE8yO,CAAY,IAC7C14E,GAAIq7D,GAAe1nS,EAAG,KACtBqsO,GAAIq7D,GAAe1nS,EAAG,KACzB0nS,GAAe1nS,EAAG,KAClB0nS,GAAe1nS,EAAG,GAv0bnB,SAA2BlW,EAAc1nB,GACxC,IAAIoqQ,GAAMpqQ,GAAqB,GAAbA,EAAK8rT,KACnBj8M,EAAIwqM,GAAQjwC,EAAK,IAAM,IAK3B,IAJAv6J,EAAEwmM,YAAyB,GAAbr2S,EAAK8rT,KAAY,EAAI,EAAG,GACnC1hD,GAAIv6J,EAAEwmM,YAAY,EAAG,GACxBxmM,EAAEwmM,YAAY,EAAG,WACjBxmM,EAAEwmM,YAAY,EAAI,SAAcjsC,EAAK,EAAI,YACnCv6J,EAAErsH,EAAIqsH,EAAEnsH,QAAQmsH,EAAEwmM,YAAY,EAAIjsC,EAAK,EAAI,IACjD,OAAOv6J,CACR,CA8zb6C+yO,CAAkB,EAAW5iV,IAEzEslU,GAAe1nS,EAAG,GAAuBi6R,GAAYztD,EAAK,KAAS,OAEhEA,GAAIk7D,GAAe1nS,EAAG,IAAkBi6R,GAAY,IACpDztD,GAAIk7D,GAAe1nS,EAAG,KACzB0nS,GAAe1nS,EAAG,IA5ianB,SAAuBlY,GAEtB,IADA,IAAIy1O,EAAMk/C,GAAQ,EAAI30R,GACdniC,EAAI,EAAGA,EAAImiC,IAAKniC,EAAG43Q,EAAIk7C,YAAY,EAAG9yT,EAAE,GAChD,OAAO43Q,CACR,CAwiayC0nF,CAAcvsM,EAAG+2K,WAAW3pU,SACjE0mR,GAAM9zH,EAAGu+L,QAAQvP,GAAe1nS,EAAG,KAEnCwsO,GAAM9zH,EAAGu+L,SAEXvP,GAAe1nS,EAAG,IAAuB26R,GADlBmqB,EAAI1N,UAAY,iBAGxC1P,GAAe1nS,EAAG,IAAkCi6R,GAAY,KAIhEyN,GAAe1nS,EAAG,GAAyB+5R,IAAU,IACrD2N,GAAe1nS,EAAG,GAAsB+5R,IAAU,IAClD2N,GAAe1nS,EAAG,GAAuBi6R,GAAY,IAClDztD,GAAIk7D,GAAe1nS,EAAG,IAAuB+5R,IAAU,IACvDvtD,GAAIk7D,GAAe1nS,EAAG,IAA2Bi6R,GAAY,IAChEyN,GAAe1nS,EAAG,GAttbnB,WACC,IAAIiyE,EAAIwqM,GAAQ,IAUhB,OATAxqM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,OACjBxmM,EAAEwmM,YAAY,EAAG,OACjBxmM,EAAEwmM,YAAY,EAAG,IACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,KACVxmM,CACR,CA0sbyCizO,IACxCxd,GAAe1nS,EAAG,GAAqB+5R,IAAU,IACjD2N,GAAe1nS,EAAG,IAAsBi6R,GAAY,IACpDyN,GAAe1nS,EAAG,GAAuB+5R,GAAwB,QAlrIlE,SAAkBrhL,GAEjB,OAAIA,EAAGy+L,UACHz+L,EAAGy+L,SAAS8F,SACT3zB,GAAa5wK,EAAGy+L,SAAS8F,QAAQnrC,UAAY,OAF5B,OAGzB,CA6qIoDqzC,CAASzsM,KAC5DgvL,GAAe1nS,EAAG,GAA4B+5R,IAAU,IACrDvtD,GAAIk7D,GAAe1nS,EAAG,IAAyB+5R,IAAU,IAC5D2N,GAAe1nS,EAAG,IAAuBi6R,GAAY,IAErDupB,GAAkBxjT,EAAG04G,EAAIt2I,GA/L1B,SAA0B87I,EAAI8rL,EAAkB5nU,GAC3C4nU,GACJ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAO,GAAgB,MAAMvkV,SAAQ,SAASojD,GAEpE,IAAI,IAAIljD,EAAIkjD,EAAE,GAAIljD,GAAKkjD,EAAE,KAAMljD,EAAe,MAATqkV,EAAGrkV,IAAY+hV,GAAexpL,EAAI,KAAqBw9K,GAAa/1U,EAAGqkV,EAAGrkV,GAAIyc,GACpH,GACD,CA0LCgjV,CAAiBplT,EAAG04G,EAAGqxL,IAAK3nU,GAxK7B,SAA6B87I,EAAI97I,GAChC,IAAI,IAAIzc,EAAI,EAAGA,EAAI,KAAMA,EAAG+hV,GAAexpL,EAAI,IAAiBy9K,GAAS,CAACvM,SAAS,EAAGn2Q,OAAM,GAAO,EAAG72C,IACtGA,EAAK+nU,QAAQ1kV,SAAQ,SAAS2e,GAC7BsjU,GAAexpL,EAAI,IAAiBy9K,GAASv3T,EAAG,EAAGhC,GACpD,GACD,CAoKCijV,CAAoBrlT,EAAG59B,GAEpBoqQ,GAAIk7D,GAAe1nS,EAAG,IAAuB+5R,IAAU,IAC1D,IAAIvwU,EAAIw2C,EAAEnpB,MAENu7F,EAAIm7M,KAEL/gD,GAAIk7D,GAAet1N,EAAG,IAhqa1B,SAAuBH,GAItB,OAHIA,IAAGA,EAAIwqM,GAAQ,IACnBxqM,EAAEwmM,YAAY,EAAG,GACjBxmM,EAAEwmM,YAAY,EAAG,GACVxmM,CACR,CA2pakCqzO,IAI9B94E,GAAMpqQ,EAAKu0U,SA/Tf,SAA6Bz4L,EAAiB75J,EAAiB0kB,EAASjjB,GACvE,IAAIM,EAAMN,IAAWijB,GAAS,IAAIjjB,QAAU,EAC5C,GAAGM,GAAO,KAAM,OAAOshV,GAAexpL,EAAI75J,EAAM0kB,EAAS3iB,GACzD,IAAI8sC,EAAI7uC,EACR,IAAG27G,MAAM9sE,GAAT,CAGA,IAFA,IAAIkrL,EAAQr1M,EAAQq1M,OAAS,GAAIonH,EAAO,EACpC7/U,EAAI,EAAG2R,EAAI,EACTA,GAAK8mN,EAAMonH,IAAS,OAAS,MAAQluU,GAAK8mN,EAAMonH,IAAS,KAAOA,IACtE,IAAIvzN,EAAIisC,EAAG/gK,KAAK,GAKhB,IAJA80H,EAAEwmM,YAAY,EAAGvlR,GACjB++E,EAAEwmM,YAAY,EAAGnhT,GACjB4mJ,EAAG5yJ,KAAKyd,EAAQ5kB,MAAMwB,EAAGA,EAAI2R,IAC7B3R,GAAK2R,EACC3R,EAAIS,GAAK,CAId,KAHA6rH,EAAIisC,EAAG/gK,KAAK,IACVs7T,YAAY,EAAG,IACjBnhT,EAAI,EACEA,GAAK8mN,EAAMonH,IAAS,OAAS,MAAQluU,GAAK8mN,EAAMonH,IAAS,KAAOA,IACtEvzN,EAAEwmM,YAAY,EAAGnhT,GACjB4mJ,EAAG5yJ,KAAKyd,EAAQ5kB,MAAMwB,EAAGA,EAAE2R,IAAK3R,GAAI2R,CACrC,CAhBmB,CAiBpB,CA0SwBiuV,CAAoBnzO,EAAG,IAzzb/C,SAAmB+1N,EAAK/lU,GACvB,IAAI1M,EAAS+mT,GAAQ,GACrB/mT,EAAO+iT,YAAY,EAAG0vB,EAAIE,OAC1B3yU,EAAO+iT,YAAY,EAAG0vB,EAAIG,QAE1B,IADA,IAAItU,EAAO,GACHlkS,EAAI,EAAGA,EAAIq4S,EAAIriV,SAAUgqC,EAAGkkS,EAAKlkS,GAAKuqS,GAAkC8N,EAAIr4S,IACpF,IAAImiF,EAAIk+L,GAAQ,CAACz6S,GAAQpY,OAAO02U,IAEhC,OADO/hN,EAAcmsG,MAAQ,CAAC1oN,EAAO5P,QAAQxI,OAAO02U,EAAKjlU,KAAI,SAAS9K,GAAO,OAAOA,EAAI6B,MAAQ,KACzFmsH,CACR,CAgzbuDuzO,CAAUpjV,EAAKu0U,UAGrEjP,GAAet1N,EAAG,IAClB,IAAIhuG,EAAIguG,EAAEv7F,MAENi8F,EAAIy6M,KACJk4B,EAAO,EAAG31T,EAAI,EAClB,IAAIA,EAAI,EAAGA,EAAI4oH,EAAG+2K,WAAW3pU,SAAUgqC,EAAG21T,IAASj5E,EAAK,GAAK,KAAOA,EAAK,EAAI,GAAK9zH,EAAG+2K,WAAW3/R,GAAGhqC,OACnG,IAAI8wB,EAAQptB,EAAE1D,OAAS2/V,EAAOrhV,EAAEte,OAChC,IAAIgqC,EAAI,EAAGA,EAAI4oH,EAAG+2K,WAAW3pU,SAAUgqC,EAAG,CAEzC43S,GAAe50N,EAAG,IAA0B0oN,GAAkB,CAACpgE,IAAIxkP,EAAO6kT,IADhDopB,EAAQ/0T,IAAO,CAAC,GAC0CotT,QAAQ,EAAGhmO,GAAG,EAAGtvH,KAAK8wJ,EAAG+2K,WAAW3/R,IAAK1tB,IAC7HwU,GAASw5R,EAAKtgR,GAAGhqC,MAClB,CAEA,IAAI2D,EAAIqpH,EAAEj8F,MACV,GAAG4uU,GAAQh8V,EAAE3D,OAAQ,MAAM,IAAIjI,MAAM,OAAS4nW,EAAO,OAASh8V,EAAE3D,QAEhE,IAAIy3Q,EAAM,GAIV,OAHG/zQ,EAAE1D,QAAQy3Q,EAAIjyQ,KAAK9B,GACnBC,EAAE3D,QAAQy3Q,EAAIjyQ,KAAK7B,GACnB2a,EAAEte,QAAQy3Q,EAAIjyQ,KAAK8Y,GACf+rS,GAAQ5yC,EAChB,CA8BA,SAASuiF,GAAepnM,EAAiBt2I,GACxC,IAAI,IAAIzc,EAAI,EAAGA,GAAK+yJ,EAAG+2K,WAAW3pU,SAAUH,EAAG,CAC9C,IAAImqU,EAAKp3K,EAAGg3K,OAAOh3K,EAAG+2K,WAAW9pU,IACjC,GAAImqU,GAAOA,EAAG,QACFf,GAAae,EAAG,SACnBp7T,EAAE0P,EAAI,KACM,oBAAXtlB,SAA0BA,QAAQwP,OAAOxP,QAAQwP,MAAM,cAAgBoqJ,EAAG+2K,WAAW9pU,GAAK,uDAErG,CAEA,IAAIssH,EAAI7vG,GAAQ,CAAC,EACjB,OAAO6vG,EAAEi8M,MAAQ,GAChB,KAAK,EAAG,KAAK,EAAG,OAvClB,SAAyBx1K,EAAiBt2I,GACzC,IAAI6vG,EAAI7vG,GAAQ,CAAC,EACbguS,EAAO,GAER13J,IAAOA,EAAGqxL,MACZrxL,EAAGqxL,IAAM3hB,GAAInX,KAEXv4J,GAAMA,EAAGqxL,MACX7yB,KAAYF,GAAet+J,EAAGqxL,KAE9B93N,EAAEikO,OAAS7uB,GAAU3uK,EAAGqxL,KAAM93N,EAAEikO,OAAOx9L,EAAGqxL,IAAI,QAAU,EACxD93N,EAAEkkO,IAAMz9L,EAAGqxL,KAGZ93N,EAAE0kO,QAAkB,GAAqB1kO,EAAE0kO,QAAQtO,MAAQ,EAAGp2N,EAAE0kO,QAAQrO,OAAS,EACjFod,GAAezzO,GAEfA,EAAEk4N,QAAU,GACZ8L,GAAehkO,EAAEk4N,QAAS,CAAC,EAAG,CAAC+L,OAAO,CAAC,QAAU,KAE7Cx9L,EAAG0+K,QAAO1+K,EAAG0+K,MAAQ,CAAC,GAE1B,IAAI,IAAIzxU,EAAI,EAAGA,EAAI+yJ,EAAG+2K,WAAW3pU,SAAUH,EAAGyqT,EAAKA,EAAKtqT,QAAUm+V,GAAet+V,EAAGssH,EAAGymC,GAEvF,OADA03J,EAAKhtS,QAAQwhV,GAAmBlsM,EAAI03J,EAAMn+L,IACnCk+L,GAAQC,EAChB,CAcyBu1C,CAAgBjtM,EAAIt2I,GAC3C,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,OAAOkhV,GAAgB5qM,EAAIt2I,GAEpD,MAAM,IAAIvkB,MAAM,gBAAkBo0H,EAAE0iN,SAAW,YAChD,CA4DA,SAASixB,GAAc91B,EAAkBjnR,EAAa6pE,EAAcT,GAGnE,IAFA,IAAII,EAAsBy9M,EAAG,YAAa,GACtCnD,EAAuB,GACnBv6M,EAAIvpE,EAAE/e,EAAE1lB,EAAGguG,GAAKvpE,EAAEn0C,EAAE0P,IAAKguG,EAAG,CAEnC,IADA,IAAIkwN,EAAK,EAAG3M,EAAK,EACT7lS,EAAI,EAAGA,EAAIuiF,EAAEvsH,SAAUgqC,EAC9B,KAAGuiF,EAAEviF,GAAGhG,EAAE+e,EAAI6pE,GAAKL,EAAEviF,GAAGhG,EAAE1lB,EAAIguG,MAC3BC,EAAEviF,GAAGp7B,EAAEm0C,EAAI6pE,GAAKL,EAAEviF,GAAGp7B,EAAE0P,EAAIguG,GAA9B,CACA,GAAGC,EAAEviF,GAAGhG,EAAE+e,EAAI6pE,GAAKL,EAAEviF,GAAGhG,EAAE1lB,EAAIguG,EAAG,CAAEkwN,GAAM,EAAG,KAAO,CACnDA,EAAKjwN,EAAEviF,GAAGp7B,EAAEm0C,EAAIwpE,EAAEviF,GAAGhG,EAAE+e,EAAI,EAAG8sR,EAAKtjN,EAAEviF,GAAGp7B,EAAE0P,EAAIiuG,EAAEviF,GAAGhG,EAAE1lB,EAAI,EAAG,KAFnB,CAI1C,KAAGk+T,EAAK,GAAR,CACA,IAAIO,EAAQxU,GAAY,CAACxlR,EAAE6pE,EAAEtuG,EAAEguG,IAC3Bu1E,EAAO11E,EAAE49M,OAASC,EAAGp9M,IAAI,IAAIN,GAAK09M,EAAG+S,GAErCvrU,EAAKqwL,GAAkB,MAAVA,EAAK7jK,IAAe6jK,EAAK31L,GAAKq3T,GAAW1hI,EAAKrwL,IAAM+3T,GAAY1nI,GAAOA,EAAKrwL,IAAM,MAAQ,GACvGy8U,EAAM,CAAC,EACRzR,EAAK,IAAGyR,EAAG8R,QAAUvjB,GACrB3M,EAAK,IAAGoe,EAAG+R,QAAUnwB,GACrB1jN,EAAE8zO,SAAUzuV,EAAI,gCAAkCA,EAAI,UACjDqwL,IACPosJ,EAAG,UAAYpsJ,GAAQA,EAAKz0J,GAAK,IACpB,MAAVy0J,EAAK7jK,IAAWiwT,EAAG,UAAYpsJ,EAAK7jK,GAC1B,MAAV6jK,EAAK5nJ,IAAWg0S,EAAG,UAAYpsJ,EAAK5nJ,GACpC4nJ,EAAK/hM,GAAyC,MAAnC+hM,EAAK/hM,EAAEgxU,QAAU,KAAKx7T,OAAO,KAAW9D,EAAI,YAAcqwL,EAAK/hM,EAAEgxU,OAAQ,KAAOt/T,EAAI,SAEnGy8U,EAAGhiV,IAAMkgH,EAAElgH,IAAM,OAAS,IAAM8wU,EAChClW,EAAGrhU,KAAK6+T,GAAU,KAAM7yT,EAAGy8U,GAhBR,CAiBpB,CAEA,MADe,OACGpnB,EAAG39T,KAAK,IAAM,OACjC,CAEA,IAAIg3V,GAAa,sFACbC,GAAW,iBAWf,SAASC,GAAmBp2B,EAAkBp9M,EAAaT,GAE1D,MAD4B,GACjBjjH,KAAK,IAAM,UAAYijH,GAAKA,EAAElgH,GAAK,QAAUkgH,EAAElgH,GAAK,IAAM,IAAM,GAC5E,CAEA,SAASo0V,GAAcr2B,EAAkB1tT,GACxC,IAAI6vG,EAAI7vG,GAAQ,CAAC,EACb1M,EAAqB,MAAZu8G,EAAEv8G,OAAiBu8G,EAAEv8G,OAASswV,GACvChmJ,EAAqB,MAAZ/tF,EAAE+tF,OAAiB/tF,EAAE+tF,OAASimJ,GACvC1oF,EAAwB,CAAC7nQ,GACzBmzC,EAAIkmR,GAAae,EAAG,SACxB79M,EAAE49M,MAAQrrU,MAAMD,QAAQurU,GACxBvyD,EAAIjyQ,KAAK46V,GAAmBp2B,EAAIjnR,EAAGopE,IACnC,IAAI,IAAIS,EAAI7pE,EAAE/e,EAAE+e,EAAG6pE,GAAK7pE,EAAEn0C,EAAEm0C,IAAK6pE,EAAG6qJ,EAAIjyQ,KAAKs6V,GAAc91B,EAAIjnR,EAAG6pE,EAAGT,IAErE,OADAsrJ,EAAIjyQ,KAAK,WAAa00M,GACfu9D,EAAIvuQ,KAAK,GACjB,CAEA,SAASo3V,GAAct2B,EAAkBziJ,EAAuBkwI,GAC/D,IAAIn7S,EAAOm7S,GAAS,CAAC,EACT,MAATlO,KAAejtS,EAAKytT,MAAQxgB,IAC/B,IAAIg3C,EAAO,EAAGC,EAAO,EACrB,GAAkB,MAAflkV,EAAK+kB,OACP,GAAyB,iBAAf/kB,EAAK+kB,OAAoBk/T,EAAOjkV,EAAK+kB,WAC1C,CACJ,IAAIsvC,EAAgD,iBAAfr0D,EAAK+kB,OAAqB2nS,GAAY1sT,EAAK+kB,QAAU/kB,EAAK+kB,OAC/Fk/T,EAAO5vR,EAAQ5tB,EAAGy9S,EAAO7vR,EAAQryD,CAClC,CAGD,IAAI2mL,EAA+C1d,EAAM0tC,qBAAqB,MAC1EoiH,EAAY57U,KAAKia,IAAI4G,EAAK+6T,WAAW,IAAUpyI,EAAKjlM,QACpDy9D,EAAkB,CAACz5B,EAAE,CAAC+e,EAAE,EAAEzkC,EAAE,GAAG1P,EAAE,CAACm0C,EAAEw9S,EAAKjiV,EAAEkiV,IAC/C,GAAGx2B,EAAG,QAAS,CACd,IAAIG,EAAmBlB,GAAae,EAAG,SACvCvsQ,EAAMz5B,EAAE+e,EAAItnD,KAAKia,IAAI+nD,EAAMz5B,EAAE+e,EAAGonR,EAAOnmS,EAAE+e,GACzC0a,EAAMz5B,EAAE1lB,EAAI7iB,KAAKia,IAAI+nD,EAAMz5B,EAAE1lB,EAAG6rT,EAAOnmS,EAAE1lB,GACzCm/C,EAAM7uD,EAAEm0C,EAAItnD,KAAKk3B,IAAI8qC,EAAM7uD,EAAEm0C,EAAGonR,EAAOv7T,EAAEm0C,GACzC0a,EAAM7uD,EAAE0P,EAAI7iB,KAAKk3B,IAAI8qC,EAAM7uD,EAAE0P,EAAG6rT,EAAOv7T,EAAE0P,IAC7B,GAATiiV,IAAY9iS,EAAM7uD,EAAEm0C,EAAIw9S,EAAOp2B,EAAOv7T,EAAEm0C,EAAI,EAChD,CACA,IAAIiwS,EAA0B,GAAIyN,EAAO,EACrC3lB,EAA6B9Q,EAAG,WAAaA,EAAG,SAAW,IAC3DC,EAAK,EAAGr9M,EAAI,EAAGs9M,EAAK,EAAG59M,EAAI,EAAGkwN,EAAK,EAAG3M,EAAK,EAE/C,IADI7F,EAAG,WAAUA,EAAG,SAAW,IACzBC,EAAKhlI,EAAKjlM,QAAU4sH,EAAIyqN,IAAapN,EAAI,CAC9C,IAAIroI,EAA8BqD,EAAKglI,GACvC,GAAIy2B,GAAsB9+J,GAAM,CAC/B,GAAItlL,EAAKu3C,QAAS,SAClBinR,EAAQluN,GAAK,CAACivN,QAAQ,EACvB,CACA,IAAI8kB,EAAiD/+J,EAAIjnM,SACzD,IAAIuvU,EAAK59M,EAAI,EAAG49M,EAAKy2B,EAAK3gW,SAAUkqU,EAAI,CACvC,IAAI3S,EAA+BopC,EAAKz2B,GACxC,IAAI5tT,EAAKu3C,UAAW6sS,GAAsBnpC,GAA1C,CACA,IAAIv5R,EAAgBu5R,EAAInqP,aAAa,UAAYmqP,EAAIx9P,aAAa,UAAYw9P,EAAInqP,aAAa,KAAOmqP,EAAIx9P,aAAa,KAAOiqQ,GAAWzM,EAAIr5P,WACzIjkB,EAAgBs9Q,EAAIx9P,aAAa,WAAaw9P,EAAIx9P,aAAa,KACnE,IAAI0mS,EAAO,EAAGA,EAAOzN,EAAOhzV,SAAUygW,EAAM,CAC3C,IAAIr6V,EAAc4sV,EAAOyN,GACtBr6V,EAAE49B,EAAE1lB,GAAKguG,EAAIk0O,GAAQp6V,EAAE49B,EAAE+e,EAAI6pE,EAAI2zO,GAAQ3zO,EAAI2zO,GAAQn6V,EAAEwI,EAAEm0C,IAAKupE,EAAIlmH,EAAEwI,EAAE0P,EAAE,EAAIkiV,EAAMC,GAAQ,EAC9F,CAEA5wB,GAAMtY,EAAIx9P,aAAa,YAAc,IAC/ByiR,GAAOjlB,EAAIx9P,aAAa,YAAc,GAAK,GAAK81Q,EAAG,IAAGmjB,EAAOxtV,KAAK,CAACw+B,EAAE,CAAC+e,EAAE6pE,EAAI2zO,EAAKjiV,EAAEguG,EAAIk0O,GAAM5xV,EAAE,CAACm0C,EAAE6pE,EAAI2zO,GAAQ/jB,GAAI,GAAK,EAAGl+T,EAAEguG,EAAIk0O,GAAQ3wB,GAAI,GAAK,KACvJ,IAAI1jN,EAAa,CAAC/+E,EAAE,IAAKpP,EAAEA,GACvBgnD,EAAgBuyO,EAAIx9P,aAAa,WAAaw9P,EAAIx9P,aAAa,MAAQ,GACnE,MAAL/7B,IACa,GAAZA,EAAEh+B,OAAamsH,EAAE/+E,EAAI43C,GAAM,IACtB1oE,EAAKogP,KAA0B,GAAnB1+N,EAAErhC,OAAOqD,QAAqB,KAANglF,IAC9B,SAANhnD,EAAcmuF,EAAI,CAAC/+E,EAAE,IAAKpP,GAAE,GACtB,UAANA,EAAemuF,EAAI,CAAC/+E,EAAE,IAAKpP,GAAE,GAC5Bk8E,MAAMqoN,GAASvkS,IACfk8E,MAAMuoN,GAAUzkS,GAAGk4G,aAC3B/pB,EAAK,CAAC/+E,EAAE,IAAKpP,EAAEwkH,GAAUxkH,IACrB1hB,EAAKkuT,YAAWr+M,EAAK,CAAC/+E,EAAE,IAAKpP,EAAEyjS,GAAQt1M,EAAEnuF,KAC7CmuF,EAAElyE,EAAI39B,EAAKi0S,QAAUpF,GAAU,KAJHh/L,EAAI,CAAC/+E,EAAE,IAAKpP,EAAEukS,GAASvkS,WAO1C/9B,IAARksH,EAAElyE,GAAwB,MAALA,IAAWkyE,EAAElyE,EAAIA,GAGzC,IAAIn6C,EAAI,GAAI8gW,EAAQrpC,EAAItiG,qBAAqB,KAC7C,GAAG2rI,GAASA,EAAM5gW,OAAQ,IAAI,IAAI6gW,EAAQ,EAAGA,EAAQD,EAAM5gW,UAAoB4gW,EAAMC,GAAOzzR,aAAa,SAC/C,MAAzDttE,EAAI8gW,EAAMC,GAAO9mS,aAAa,SAAczkD,OAAO,MADiBurV,GAGlE/gW,GAAoB,KAAfA,EAAEwV,OAAO,KAAW62G,EAAErsH,EAAK,CAAEgxU,OAAQhxU,IAC1Cwc,EAAKytT,OAAaC,EAAGp9M,EAAI2zO,KAAOv2B,EAAGp9M,EAAI2zO,GAAQ,IAAIv2B,EAAGp9M,EAAI2zO,GAAMj0O,EAAIk0O,GAAQr0O,GAC1E69M,EAAGzB,GAAY,CAACjqT,EAAEguG,EAAIk0O,EAAMz9S,EAAE6pE,EAAI2zO,KAAUp0O,EAC9C1uD,EAAM7uD,EAAE0P,EAAIguG,EAAIk0O,IAAM/iS,EAAM7uD,EAAE0P,EAAIguG,EAAIk0O,GACzCl0O,GAAKujN,CAnCmD,CAoCzD,GACEjjN,CACH,CAKA,OAJGomO,EAAOhzV,SAAQgqU,EAAG,YAAcA,EAAG,YAAc,IAAIxyU,OAAOw7V,IAC/Dv1R,EAAM7uD,EAAEm0C,EAAItnD,KAAKk3B,IAAI8qC,EAAM7uD,EAAEm0C,EAAG6pE,EAAI,EAAI2zO,GACxCv2B,EAAG,QAAUd,GAAazrQ,GACvBmvD,GAAKyqN,IAAWrN,EAAG,YAAcd,IAAczrQ,EAAM7uD,EAAEm0C,EAAIkiJ,EAAKjlM,OAAOiqU,EAAGr9M,EAAE,EAAI2zO,EAAK9iS,KACjFusQ,CACR,CAEA,SAAS82B,GAAgBv5K,EAAuBkwI,GAG/C,OAAO6oC,IAFI7oC,GAAS,CAAC,GACOsS,MAAS,GAAe,CAAC,EAC5BxiJ,EAAOkwI,EACjC,CAMA,SAASipC,GAAsB76U,GAC9B,IAAIguC,EAAqB,GACrBktS,EAOL,SAAyCl7U,GAExC,OAAGA,EAAQ8I,cAAcgB,aAA6E,oBAAvD9J,EAAQ8I,cAAcgB,YAAYjB,iBAAwC7I,EAAQ8I,cAAcgB,YAAYjB,iBAE5H,oBAArBA,iBAAwCA,iBAC3C,IACR,CAbwCsyU,CAAgCn7U,GAGvE,OAFGk7U,IAAoBltS,EAAUktS,EAAmBl7U,GAASiqD,iBAAiB,YAC1Ejc,IAASA,EAAUhuC,EAAQstC,OAASttC,EAAQstC,MAAMU,SACnC,SAAZA,CACR,CAmkBA,IAAIotS,GAAmE,WACtE,IAAIC,EAAgB,CACnB,yBACC,oEACC,kBACA,6CACA,kBACA,6CACD,uBACD,2BACCh4V,KAAK,IAEH+Z,EAAU,2BAA6BmhT,GAAW,CACrD,eAAkB,mDAClB,cAAkB,kDAClB,cAAkB,kDAClB,aAAkB,iDAClB,aAAkB,oDAClB,WAAkB,8DAClB,cAAkB,+BAClB,WAAkB,mCAClB,eAAkB,sDAClB,YAAkB,2DAClB,WAAkB,+CAClB,iBAAkB,QACd,IAAM88B,EAAgB,4BAE3B,OAAO,WACN,OAAOn+B,GAAa9/S,CACrB,CACD,CA9BuE,GA+BnEk+U,GAAoE,WAEvE,IAQIC,EAAgB,mCAEhBjJ,EAAW,SAASnuB,EAAIp3K,EAAiB/yJ,GAE5C,IAAIssH,EAAsB,GAC1BA,EAAE3mH,KAAK,kCAAoC49T,GAAUxwK,EAAG+2K,WAAW9pU,IAAM,+BACzE,IAAI+sH,EAAE,EAAEN,EAAE,EAAG7uD,EAAQwrQ,GAAae,EAAG,SAAS,MAC1C4uB,EAAwB5uB,EAAG,YAAc,GAAI/zJ,EAAK,EAClD8zJ,EAAQrrU,MAAMD,QAAQurU,GAC1B,GAAGA,EAAG,SACL,IAAI19M,EAAI,EAAGA,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,EAAGH,EAAE3mH,KAAK,+BAAiCwkU,EAAG,SAAS19M,GAAK,wBAA0B09M,EAAG,SAAS19M,GAAG+0O,IAAM,IAAM,IAAM,4BAErJ,IAAIn0O,EAAI,GAAIo0O,EAAOt3B,EAAG,UAAU,GAChC,IAAIp9M,EAAI,EAAGA,EAAInvD,EAAMz5B,EAAE+e,IAAK6pE,EAC3BM,EAAIo0O,EAAK10O,GAAK,wBAA0B00O,EAAK10O,GAAGy0O,IAAM,IAAM,GAC5Dl1O,EAAE3mH,KAAK,2BAA6B0nH,EAAI,yBAEzC,KAAMN,GAAKnvD,EAAM7uD,EAAEm0C,IAAK6pE,EAAG,CAG1B,IAFAM,EAAIo0O,EAAK10O,GAAK,wBAA0B00O,EAAK10O,GAAGy0O,IAAM,IAAM,GAC5Dl1O,EAAE3mH,KAAK,2BAA6B0nH,EAAI,OACpCZ,EAAE,EAAGA,EAAI7uD,EAAMz5B,EAAE1lB,IAAKguG,EAAGH,EAAE3mH,KAAK47V,GACpC,KAAM90O,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,EAAG,CAC1B,IAAI7zB,GAAO,EAAO04B,EAAK,CAAC,EAAGowO,EAAQ,GACnC,IAAItrL,EAAK,EAAGA,GAAM2iL,EAAK54V,SAAUi2K,EAChC,KAAG2iL,EAAK3iL,GAAIjyI,EAAE1lB,EAAIguG,MACfssO,EAAK3iL,GAAIjyI,EAAE+e,EAAI6pE,MACfgsO,EAAK3iL,GAAIrnK,EAAE0P,EAAIguG,MACfssO,EAAK3iL,GAAIrnK,EAAEm0C,EAAI6pE,GAAlB,CACGgsO,EAAK3iL,GAAIjyI,EAAE1lB,GAAKguG,GAAKssO,EAAK3iL,GAAIjyI,EAAE+e,GAAK6pE,IAAGn0B,GAAO,GAClD04B,EAAG,gCAAmCynO,EAAK3iL,GAAIrnK,EAAE0P,EAAIs6U,EAAK3iL,GAAIjyI,EAAE1lB,EAAI,EACpE6yG,EAAG,6BAAmCynO,EAAK3iL,GAAIrnK,EAAEm0C,EAAI61S,EAAK3iL,GAAIjyI,EAAE+e,EAAI,EACpE,KAJ6B,CAM9B,GAAG01C,EAAQ0zB,EAAE3mH,KAhCO,+CAgCpB,CACA,IAAIs8G,EAAMymN,GAAY,CAACxlR,EAAE6pE,EAAGtuG,EAAEguG,IAAKu1E,EAAOkoI,GAASC,EAAGp9M,IAAI,IAAIN,GAAI09M,EAAGloN,GACrE,GAAG+/E,GAAQA,EAAK39J,IACfitF,EAAG,iBAAmBiyM,GAAUssB,GAAmB7tJ,EAAK39J,IACrD29J,EAAKznJ,GACJynJ,EAAKznJ,EAAE/7C,MAAM,EAAGyjH,EAAI9hH,SAAW8hH,GAAK,CACtC,IAAI0/O,EAAQv4B,GAAapnI,EAAKznJ,GAC9B+2E,EAAG,uCAA0CqwO,EAAM5yV,EAAE0P,EAAIkjV,EAAMx9T,EAAE1lB,EAAI,EACrE6yG,EAAG,oCAA0CqwO,EAAM5yV,EAAEm0C,EAAIy+S,EAAMx9T,EAAE+e,EAAI,CACtE,CAGF,GAAI8+I,EAAJ,CACA,OAAOA,EAAKz0J,GACX,IAAK,IACJm0T,EAAS1/J,EAAK7jK,EAAI,OAAS,QAC3BmzF,EAAG,qBAAuB,UAC1BA,EAAG,wBAA2B0wE,EAAK7jK,EAAI,OAAS,QAChD,MACD,IAAK,IACJujU,EAAS1/J,EAAKrwL,GAAG5M,OAAOi9L,EAAK7jK,GAAG,GAChCmzF,EAAG,qBAAuB,QAC1BA,EAAG,gBAAmB0wE,EAAK7jK,GAAG,EAC9B,MACD,IAAK,IAAK,IAAK,MACdujU,EAAkB,MAAV1/J,EAAK7jK,EAAY,GAAK6jK,EAAK7jK,EACnCmzF,EAAG,qBAAuB,SAC1B,MACD,IAAK,IACJowO,EAAS1/J,EAAKrwL,GAAIgxI,GAAUq/C,EAAK7jK,GAAGh0B,cACpCmnH,EAAG,qBAAuB,OAC1BA,EAAG,qBAAwBqxB,GAAUq/C,EAAK7jK,GAAGh0B,cAC7CmnH,EAAG,oBAAsB,MACzB,MAED,QAAShF,EAAE3mH,KAAK47V,GAAgB,SAEjC,IAAIK,EA7ECr+B,GA6EqBm+B,GA5E1B39V,QAAQ,QAAQ,SAAS+pT,GAAI,MAAO,mBAAmBA,EAAG3tT,OAAO,KAAM,IACvE4D,QAAQ,MAAO,eACfA,QAAQ,MAAO,qBACfA,QAAQ,KAAM,aAAaA,QAAQ,KAAM,aA0EzC,GAAGi+L,EAAK/hM,GAAK+hM,EAAK/hM,EAAEgxU,OAAQ,CAC3B,IAAI4wB,EAAO7/J,EAAK/hM,EAAEgxU,OAGG,MAFrB4wB,EAAyB,KAAlBA,EAAKpsV,OAAO,GAAY,IAAMq6U,GAAc+R,EAAKrjW,MAAM,IAAMqjW,GAE5DpsV,OAAO,IAAcosV,EAAK92V,MAAM,WAAU82V,EAAO,MAAQA,GACjED,EAASp9B,GAAU,SAAUo9B,EAAQ,CAAC,aAAcC,EAAK99V,QAAQ,KAAM,UACxE,CACAuoH,EAAE3mH,KAAK,aAAe6+T,GAAU,mBAAoBA,GAAU,SAAUo9B,EAAQ,CAAC,GAAItwO,GAAM,KAjC9C,MAAjChF,EAAE3mH,KAAK47V,EAZ4B,CA8ChD,CACAj1O,EAAE3mH,KAAK,+BACR,CAEA,OADA2mH,EAAE3mH,KAAK,0BACA2mH,EAAEjjH,KAAK,GACf,EA6DA,OAAO,SAAa0pJ,EAAIt2I,GACvB,IAAI6vG,EAAI,CAAC42M,IAEL30P,EAAOg2P,GAAW,CACrB,eAAsB,mDACtB,cAAsB,kDACtB,cAAsB,kDACtB,aAAsB,iDACtB,aAAsB,oDACtB,WAAsB,8DACtB,cAAsB,+BACtB,WAAsB,mCACtB,aAAsB,iDACtB,eAAsB,sDACtB,qBAAsB,yDACtB,YAAsB,2DACtB,cAAsB,kDACtB,aAAsB,iDACtB,aAAsB,qCACtB,aAAsB,iDACtB,eAAsB,mDACtB,YAAsB,oCACtB,aAAsB,oCACtB,aAAsB,kCACtB,YAAsB,oCACtB,eAAsB,gCACtB,YAAsB,mCACtB,YAAsB,4CACtB,cAAsB,8CACtB,YAAsB,oCACtB,WAAsB,+CACtB,cAAsB,+BACtB,cAAsB,sCACtB,iBAAsB,mCACtB,gBAAsB,kCACtB,gBAAsB,uEACtB,cAAsB,uEACtB,cAAsB,mEACtB,cAAsB,qEACtB,cAAsB,kCACtB,iBAAsB,QAGnBu9B,EAAOv9B,GAAW,CACrB,eAAmB,mDACnB,kBAAmB,mDAGA,QAAjB9nT,EAAKuyT,UACP1iN,EAAE3mH,KAAK,mBAAqB4oE,EAAOuzR,EAAO,OAC1Cx1O,EAAE3mH,KAAKyrU,KAAiBrtU,QAAQ,wBAAyB,iBAEnDuoH,EAAE3mH,KAAK,2BAA6B4oE,EAAQ,OA/GnB,SAAS+9C,EAAqBymC,GAC9DzmC,EAAE3mH,KAAK,gCAEP2mH,EAAE3mH,KAAK,0EACP2mH,EAAE3mH,KAAK,4CACP2mH,EAAE3mH,KAAK,qCACP2mH,EAAE3mH,KAAK,0CACP2mH,EAAE3mH,KAAK,qCACP2mH,EAAE3mH,KAAK,uBACP2mH,EAAE3mH,KAAK,4BAGP,IAAIo8V,EAAO,EACXhvM,EAAG+2K,WAAW1gU,KAAI,SAAS+4B,GAAK,OAAO4wH,EAAGg3K,OAAO5nS,EAAI,IAAGriC,SAAQ,SAASqqU,GACxE,GAAIA,GACDA,EAAG,SACL,IAAI,IAAI19M,EAAI,EAAGA,EAAI09M,EAAG,SAAShqU,SAAUssH,EAAG,GAAG09M,EAAG,SAAS19M,GAAI,CAC9D,IAAIu1O,EAAS73B,EAAG,SAAS19M,GACzB,GAAmB,MAAhBu1O,EAAO95U,OAA+B,MAAd85U,EAAOnlB,KAA6B,MAAdmlB,EAAOtqB,IAAa,SACrEuE,GAAY+lB,GACZA,EAAOR,IAAMO,EACb,IAAIpwV,EAAIw4T,EAAG,SAAS19M,GAAGowN,IAAM,KAC7BvwN,EAAE3mH,KAAK,gCAAkCo8V,EAAO,oCAChDz1O,EAAE3mH,KAAK,gFAAkFgM,EAAI,SAC7F26G,EAAE3mH,KAAK,wBACLo8V,CACH,CAEF,IAGA,IAAIh/B,EAAO,EACXhwK,EAAG+2K,WAAW1gU,KAAI,SAAS+4B,GAAK,OAAO4wH,EAAGg3K,OAAO5nS,EAAI,IAAGriC,SAAQ,SAASqqU,GACxE,GAAIA,GACDA,EAAG,SACL,IAAI,IAAIp9M,EAAI,EAAGA,EAAIo9M,EAAG,SAAShqU,SAAU4sH,EAAG,GAAGo9M,EAAG,SAASp9M,GAAI,CAC9Do9M,EAAG,SAASp9M,GAAGy0O,IAAMz+B,EACrB,IAAI12T,EAAI89T,EAAG,SAASp9M,GAAGovN,IAAM,KAC7B7vN,EAAE3mH,KAAK,gCAAkCo9T,EAAO,iCAChDz2M,EAAE3mH,KAAK,2EAA6E0G,EAAI,SACxFigH,EAAE3mH,KAAK,wBACLo9T,CACH,CAEF,IAGAz2M,EAAE3mH,KAAK,wFACP2mH,EAAE3mH,KAAK,kFACP2mH,EAAE3mH,KAAK,sBAGP2mH,EAAE3mH,KAAK,+HAIP2mH,EAAE3mH,KAAK,gCACR,CAwDCs8V,CAA2B31O,EAAGymC,GAC9BzmC,EAAE3mH,KAAK,qBACP2mH,EAAE3mH,KAAK,8BACP,IAAI,IAAI3F,EAAI,EAAGA,GAAK+yJ,EAAG+2K,WAAW3pU,SAAUH,EAAGssH,EAAE3mH,KAAK2yV,EAASvlM,EAAGg3K,OAAOh3K,EAAG+2K,WAAW9pU,IAAK+yJ,EAAI/yJ,IAKhG,OAJAssH,EAAE3mH,KAAK,+BACP2mH,EAAE3mH,KAAK,sBACa,QAAjB8W,EAAKuyT,SAAoB1iN,EAAE3mH,KAAK,sBAC9B2mH,EAAE3mH,KAAK,8BACL2mH,EAAEjjH,KAAK,GACf,CACD,CA3NwE,GA6NxE,SAAS64V,GAAUnvM,EAAYt2I,GAC9B,GAAoB,QAAjBA,EAAKuyT,SAAoB,OAAOsyB,GAAkBvuM,EAAIt2I,GAEzD,IAAI0yF,EAAM8zN,KACN5+R,EAAI,GAEJ89T,EAAqC,GACrCC,EAAkC,GAiCtC,OA7BAv/B,GAAa1zN,EADb9qE,EAAI,WACiB,kDAIrBw+R,GAAa1zN,EADb9qE,EAAI,cACiBi9T,GAAkBvuM,EAAIt2I,IAC3C0lV,EAASx8V,KAAK,CAAC0+B,EAAG,aAClB+9T,EAAIz8V,KAAK,CAAC0+B,EAAG,gBAIbw+R,GAAa1zN,EADb9qE,EAAI,aACiB+8T,GAAiBruM,EAAIt2I,IAC1C0lV,EAASx8V,KAAK,CAAC0+B,EAAG,aAClB+9T,EAAIz8V,KAAK,CAAC0+B,EAAG,eAIbw+R,GAAa1zN,EADb9qE,EAAI,WACiB6+R,GAAakO,MAClC+wB,EAASx8V,KAAK,CAAC0+B,EAAG,aAClB+9T,EAAIz8V,KAAK,CAAC0+B,EAAG,iBAIbw+R,GAAa1zN,EADb9qE,EAAI,eAhrgBL,SAAmB+9T,GAClB,IARsB7gU,EAAiBo8K,EAQnCrxF,EAAI,CAAC42M,IACT52M,EAAE3mH,KAAK,uEACP,IAAI,IAAI3F,EAAI,EAAGA,GAAKoiW,EAAIjiW,SAAUH,EACjCssH,EAAE3mH,KAAKwrU,GAAeixB,EAAIpiW,GAAG,GAAIoiW,EAAIpiW,GAAG,KACxCssH,EAAE3mH,MAZmB47B,EAYA,GAZiBo8K,EAYdykJ,EAAIpiW,GAAG,GAXzB,CACN,iCAAmCuhC,EAAO,OAC1C,iGAAmGo8K,EAAO,QAC1G,0BACCt0M,KAAK,MAWP,OAFAijH,EAAE3mH,KAAKwrU,GAAe,GAAG,WAAY,QACrC7kN,EAAE3mH,KAAK,cACA2mH,EAAEjjH,KAAK,GACf,CAuqgBsBg5V,CAAUD,IAC/BD,EAASx8V,KAAK,CAAC0+B,EAAG,wBAIlBw+R,GAAa1zN,EADb9qE,EAAI,wBA7sgBL,SAAwB89T,GACvB,IAAI71O,EAAI,CAAC42M,IACT52M,EAAE3mH,KAAK,oHACP2mH,EAAE3mH,KAAK,iJACP,IAAI,IAAI3F,EAAI,EAAGA,EAAImiW,EAAShiW,SAAUH,EAAGssH,EAAE3mH,KAAK,8CAAgDw8V,EAASniW,GAAG,GAAK,0BAA4BmiW,EAASniW,GAAG,GAAK,SAE9J,OADAssH,EAAE3mH,KAAK,wBACA2mH,EAAEjjH,KAAK,GACf,CAusgBsBi5V,CAAeH,IAE7BhzP,CACR,CAGA,SAASozP,GAAen0Q,GACtB,OAAO,IAAIqG,SAASrG,EAAMlrF,OAAQkrF,EAAMgM,WAAYhM,EAAMiM,WAC5D,CAIA,SAASmoQ,GAAMlkW,GACb,MAA6B,oBAAfi7J,aAA6B,IAAIA,aAAc3uJ,OAAOtM,GAAO+rT,GAAI4W,GAAU3iU,GAC3F,CAWA,SAASmkW,GAASC,GAChB,IAAIjiW,EAAMiiW,EAAIn2U,QAAO,SAASH,EAAKvG,GACjC,OAAOuG,EAAMvG,EAAE1lB,MACjB,GAAG,GACCy3Q,EAAM,IAAIv2Q,WAAWZ,GACrBo6N,EAAM,EAKV,OAJA6nI,EAAI5iW,SAAQ,SAAS0zQ,GACnBoE,EAAI5xQ,IAAIwtQ,EAAI34C,GACZA,GAAO24C,EAAGrzQ,MACZ,IACOy3Q,CACT,CAsBA,SAAS+qF,GAAextF,EAAKytF,GAC3B,IAAI3iW,EAAI2iW,EAAMA,EAAI,GAAK,EACnBplC,EAAe,IAATroD,EAAIl1Q,GACd4iW,EACE,GAAI1tF,EAAIl1Q,MAAQ,IAAK,CAEnB,GADAu9T,IAAiB,IAATroD,EAAIl1Q,KAAa,EACrBk1Q,EAAIl1Q,KAAO,IACb,MAAM4iW,EAER,GADArlC,IAAiB,IAATroD,EAAIl1Q,KAAa,GACrBk1Q,EAAIl1Q,KAAO,IACb,MAAM4iW,EAER,GADArlC,IAAiB,IAATroD,EAAIl1Q,KAAa,GACrBk1Q,EAAIl1Q,KAAO,IACb,MAAM4iW,EAGR,GAFArlC,IAAiB,IAATroD,EAAIl1Q,IAAYrE,KAAK0gD,IAAI,EAAG,MAClCr8C,EACEk1Q,EAAIl1Q,KAAO,IACb,MAAM4iW,EAGR,GAFArlC,IAAiB,IAATroD,EAAIl1Q,IAAYrE,KAAK0gD,IAAI,EAAG,MAClCr8C,EACEk1Q,EAAIl1Q,KAAO,IACb,MAAM4iW,EAGR,GAFArlC,IAAiB,IAATroD,EAAIl1Q,IAAYrE,KAAK0gD,IAAI,EAAG,MAClCr8C,EACEk1Q,EAAIl1Q,KAAO,IACb,MAAM4iW,CACV,CAGF,OAFID,IACFA,EAAI,GAAK3iW,GACJu9T,CACT,CACA,SAASslC,GAAe3kU,GACtB,IAAIq/R,EAAM,IAAIn8T,WAAW,GACzBm8T,EAAI,GAAS,IAAJr/R,EACT,IAAIg+B,EAAI,EACRw6O,EACE,GAAIx4Q,EAAI,IAAK,CAIX,GAHAq/R,EAAIrhQ,EAAI,IAAM,IACdqhQ,EAAIrhQ,GAAKh+B,GAAK,EAAI,MAChBg+B,EACEh+B,GAAK,MACP,MAAMw4Q,EAIR,GAHA6mB,EAAIrhQ,EAAI,IAAM,IACdqhQ,EAAIrhQ,GAAKh+B,GAAK,GAAK,MACjBg+B,EACEh+B,GAAK,QACP,MAAMw4Q,EAIR,GAHA6mB,EAAIrhQ,EAAI,IAAM,IACdqhQ,EAAIrhQ,GAAKh+B,GAAK,GAAK,MACjBg+B,EACEh+B,GAAK,UACP,MAAMw4Q,EAIR,GAHA6mB,EAAIrhQ,EAAI,IAAM,IACdqhQ,EAAIrhQ,GAAKh+B,EAAI,MAAQ,GAAK,MACxBg+B,EACEh+B,GAAK,YACP,MAAMw4Q,EAIR,GAHA6mB,EAAIrhQ,EAAI,IAAM,IACdqhQ,EAAIrhQ,GAAKh+B,EAAI,QAAU,GAAK,MAC1Bg+B,EACEh+B,GAAK,cACP,MAAMw4Q,EACR6mB,EAAIrhQ,EAAI,IAAM,IACdqhQ,EAAIrhQ,GAAKh+B,EAAI,WAAa,GAAK,MAC7Bg+B,CACJ,CACF,OAAOqhQ,EAAIh/T,MAAM,EAAG29D,EACtB,CACA,SAAS4mS,GAAc5tF,GACrB,IAAIl1Q,EAAI,EAAG+iW,EAAe,IAAT7tF,EAAIl1Q,GACrB4iW,EACE,GAAI1tF,EAAIl1Q,MAAQ,IAAK,CAEnB,GADA+iW,IAAiB,IAAT7tF,EAAIl1Q,KAAa,EACrBk1Q,EAAIl1Q,KAAO,IACb,MAAM4iW,EAER,GADAG,IAAiB,IAAT7tF,EAAIl1Q,KAAa,GACrBk1Q,EAAIl1Q,KAAO,IACb,MAAM4iW,EAER,GADAG,IAAiB,IAAT7tF,EAAIl1Q,KAAa,GACrBk1Q,EAAIl1Q,KAAO,IACb,MAAM4iW,EACRG,IAAiB,IAAT7tF,EAAIl1Q,KAAa,EAC3B,CACF,OAAO+iW,CACT,CACA,SAASC,GAAc9tF,GAErB,IADA,IAAIyC,EAAM,GAAIgrF,EAAM,CAAC,GACdA,EAAI,GAAKztF,EAAIh1Q,QAAQ,CAC1B,IAKI8hO,EALApH,EAAM+nI,EAAI,GACVtnW,EAAMqnW,GAAextF,EAAKytF,GAC1BlkW,EAAa,EAANpD,EAEPmF,EAAM,EAEV,GAAW,IAHXnF,EAAMM,KAAKC,MAAMP,EAAM,IAIrB,MACF,OAAQoD,GACN,KAAK,EAGD,IADA,IAAIuB,EAAI2iW,EAAI,GACLztF,EAAIytF,EAAI,OAAS,MAExB3gI,EAAMkzC,EAAI32Q,MAAMyB,EAAG2iW,EAAI,IAEzB,MACF,KAAK,EACHniW,EAAM,EACNwhO,EAAMkzC,EAAI32Q,MAAMokW,EAAI,GAAIA,EAAI,GAAKniW,GACjCmiW,EAAI,IAAMniW,EACV,MACF,KAAK,EACHA,EAAM,EACNwhO,EAAMkzC,EAAI32Q,MAAMokW,EAAI,GAAIA,EAAI,GAAKniW,GACjCmiW,EAAI,IAAMniW,EACV,MACF,KAAK,EACHA,EAAMkiW,GAAextF,EAAKytF,GAC1B3gI,EAAMkzC,EAAI32Q,MAAMokW,EAAI,GAAIA,EAAI,GAAKniW,GACjCmiW,EAAI,IAAMniW,EACV,MAGF,QACE,MAAM,IAAIvI,MAAM,WAAWP,OAAO+G,EAAM,eAAe/G,OAAO2D,EAAK,eAAe3D,OAAOkjO,IAE7F,IAAI18L,EAAI,CAAE/mC,KAAM6qO,EAAKvjO,KAAMA,GACX,MAAZk5Q,EAAIt8Q,GACNs8Q,EAAIt8Q,GAAO,CAAC6iC,GAEZy5O,EAAIt8Q,GAAKqK,KAAKw4B,EAClB,CACA,OAAOy5O,CACT,CACA,SAASsrF,GAAcptQ,GACrB,IAAI8hL,EAAM,GAWV,OAVA9hL,EAAMh2F,SAAQ,SAASonC,EAAOpH,GAC5BoH,EAAMpnC,SAAQ,SAASm+B,GAChBA,EAAK7mC,OAEVwgR,EAAIjyQ,KAAKm9V,GAAqB,EAANhjU,EAAU7B,EAAKv/B,OACtB,GAAbu/B,EAAKv/B,MACPk5Q,EAAIjyQ,KAAKm9V,GAAe7kU,EAAK7mC,KAAK+I,SACpCy3Q,EAAIjyQ,KAAKs4B,EAAK7mC,MAChB,GACF,IACOqrW,GAAS7qF,EAClB,CAMA,SAASurF,GAAehuF,GAGtB,IAFA,IAAI/tP,EACAwwP,EAAM,GAAIgrF,EAAM,CAAC,GACdA,EAAI,GAAKztF,EAAIh1Q,QAAQ,CAC1B,IAAIM,EAAMkiW,GAAextF,EAAKytF,GAC1B1tL,EAAK+tL,GAAc9tF,EAAI32Q,MAAMokW,EAAI,GAAIA,EAAI,GAAKniW,IAClDmiW,EAAI,IAAMniW,EACV,IAAIwhO,EAAM,CACR71N,GAAI22V,GAAc7tL,EAAG,GAAG,GAAG99K,MAC3BgsW,SAAU,IAEZluL,EAAG,GAAGp1K,SAAQ,SAASgE,GACrB,IAAIsyK,EAAK6sL,GAAcn/V,EAAE1M,MACrBgrL,EAAK2gL,GAAc3sL,EAAG,GAAG,GAAGh/K,MAChC6qO,EAAImhI,SAASz9V,KAAK,CAChBo9B,KAAMqzI,EACNh/K,KAAM+9Q,EAAI32Q,MAAMokW,EAAI,GAAIA,EAAI,GAAKxgL,KAEnCwgL,EAAI,IAAMxgL,CACZ,KACoB,OAAfh7J,EAAK8tJ,EAAG,SAAc,EAAS9tJ,EAAG,MACrC66M,EAAI3+N,MAAQy/V,GAAc7tL,EAAG,GAAG,GAAG99K,QAAU,EAAI,GACnDwgR,EAAIjyQ,KAAKs8N,EACX,CACA,OAAO21C,CACT,CACA,SAASyrF,GAAeC,GACtB,IAAI74C,EAAO,GAoBX,OAnBA64C,EAAIxjW,SAAQ,SAAS2qI,GACnB,IAAIyqC,EAAK,GACTA,EAAG,GAAK,CAAC,CAAE99K,KAAM0rW,GAAer4N,EAAGr+H,IAAK1N,KAAM,IAC9Cw2K,EAAG,GAAK,GACQ,MAAZzqC,EAAGnnI,QACL4xK,EAAG,GAAK,CAAC,CAAE99K,KAAM0rW,MAAkBr4N,EAAGnnI,OAAQ5E,KAAM,KACtD,IAAI6kW,EAAS,GACb94N,EAAG24N,SAAStjW,SAAQ,SAASs2K,GAC3BmtL,EAAO59V,KAAKywK,EAAGh/K,MACfg/K,EAAGrzI,KAAK,GAAK,CAAC,CAAErkC,KAAM,EAAGtH,KAAM0rW,GAAe1sL,EAAGh/K,KAAK+I,UACtD+0K,EAAG,GAAGvvK,KAAK,CAAEvO,KAAM8rW,GAAc9sL,EAAGrzI,MAAOrkC,KAAM,GACnD,IACA,IAAI8kW,EAAYN,GAAchuL,GAC9Bu1I,EAAK9kT,KAAKm9V,GAAeU,EAAUrjW,SACnCsqT,EAAK9kT,KAAK69V,GACVD,EAAOzjW,SAAQ,SAASokG,GACtB,OAAOumN,EAAK9kT,KAAKu+F,EACnB,GACF,IACOu+P,GAASh4C,EAClB,CACA,SAASg5C,GAAmB/kW,EAAMy2Q,GAChC,GAAY,GAARz2Q,EACF,MAAM,IAAIxG,MAAM,gCAAgCP,OAAO+G,IAIzD,IAHA,IAAIkkW,EAAM,CAAC,GACPplC,EAAMmlC,GAAextF,EAAKytF,GAC1B1tM,EAAS,GACN0tM,EAAI,GAAKztF,EAAIh1Q,QAAQ,CAC1B,IAAIm5F,EAAoB,EAAd67K,EAAIytF,EAAI,IAClB,GAAW,GAAPtpQ,EAAJ,CAqBE,IAAItmE,EAAS,EAAG7yB,EAAS,EAgBzB,GAfW,GAAPm5F,GACFn5F,EAAkC,GAAxBg1Q,EAAIytF,EAAI,KAAO,EAAI,GAC7B5vU,GAA0B,IAAhBmiP,EAAIytF,EAAI,QAAgB,EAClC5vU,GAAUmiP,EAAIytF,EAAI,QAElBziW,EAAgC,GAAtBg1Q,EAAIytF,EAAI,OAAS,GAChB,GAAPtpQ,GACFtmE,EAASmiP,EAAIytF,EAAI,IAAMztF,EAAIytF,EAAI,GAAK,IAAM,EAC1CA,EAAI,IAAM,IAEV5vU,GAAUmiP,EAAIytF,EAAI,IAAMztF,EAAIytF,EAAI,GAAK,IAAM,EAAIztF,EAAIytF,EAAI,GAAK,IAAM,GAAKztF,EAAIytF,EAAI,GAAK,IAAM,MAAQ,EAClGA,EAAI,IAAM,IAGd1tM,EAAS,CAACutM,GAASvtM,IACL,GAAVliI,EACF,MAAM,IAAI96B,MAAM,oBAClB,GAAI86B,EAASkiI,EAAO,GAAG/0J,OACrB,MAAM,IAAIjI,MAAM,gCAClB,GAAIiI,GAAU6yB,EAGZ,IAFAkiI,EAAOvvJ,KAAKuvJ,EAAO,GAAG12J,OAAOw0B,IAC7B7yB,GAAU6yB,EACH7yB,GAAU+0J,EAAOA,EAAO/0J,OAAS,GAAGA,QACzC+0J,EAAOvvJ,KAAKuvJ,EAAOA,EAAO/0J,OAAS,IACnCA,GAAU+0J,EAAOA,EAAO/0J,OAAS,GAAGA,OAGxC+0J,EAAOvvJ,KAAKuvJ,EAAO,GAAG12J,OAAOw0B,GAASA,EAAS7yB,GACjD,KAlDA,CACE,IAAIM,EAAM00Q,EAAIytF,EAAI,OAAS,EAC3B,GAAIniW,EAAM,KACNA,MACC,CACH,IAAIge,EAAIhe,EAAM,GACdA,EAAM00Q,EAAIytF,EAAI,IACVnkV,EAAI,IACNhe,GAAO00Q,EAAIytF,EAAI,GAAK,IAAM,GACxBnkV,EAAI,IACNhe,GAAO00Q,EAAIytF,EAAI,GAAK,IAAM,IACxBnkV,EAAI,IACNhe,GAAO00Q,EAAIytF,EAAI,GAAK,IAAM,IAC5BniW,KAAS,EACTA,IACAmiW,EAAI,IAAMnkV,CACZ,CACAy2I,EAAOvvJ,KAAKwvQ,EAAI32Q,MAAMokW,EAAI,GAAIA,EAAI,GAAKniW,IACvCmiW,EAAI,IAAMniW,CAgCZ,CACF,CACA,IAAI6rH,EAAIm2O,GAASvtM,GACjB,GAAI5oC,EAAEnsH,QAAUq9T,EACd,MAAM,IAAItlU,MAAM,sBAAsBP,OAAO20H,EAAEnsH,OAAQ,QAAQxI,OAAO6lU,IACxE,OAAOlxM,CACT,CACA,SAASo3O,GAAoBvuF,GAG3B,IAFA,IAAIyC,EAAM,GACN33Q,EAAI,EACDA,EAAIk1Q,EAAIh1Q,QAAQ,CACrB,IAAIotC,EAAI4nO,EAAIl1Q,KACRQ,EAAM00Q,EAAIl1Q,GAAKk1Q,EAAIl1Q,EAAI,IAAM,EAAIk1Q,EAAIl1Q,EAAI,IAAM,GACnDA,GAAK,EACL23Q,EAAIjyQ,KAAK89V,GAAmBl2T,EAAG4nO,EAAI32Q,MAAMyB,EAAGA,EAAIQ,KAChDR,GAAKQ,CACP,CACA,GAAIR,IAAMk1Q,EAAIh1Q,OACZ,MAAM,IAAIjI,MAAM,sCAClB,OAAOuqW,GAAS7qF,EAClB,CACA,SAAS+rF,GAAkBxuF,GAGzB,IAFA,IAAIyC,EAAM,GACN33Q,EAAI,EACDA,EAAIk1Q,EAAIh1Q,QAAQ,CACrB,IAAIse,EAAI7iB,KAAKia,IAAIs/P,EAAIh1Q,OAASF,EAAG,WAC7B2jW,EAAQ,IAAIviW,WAAW,GAC3Bu2Q,EAAIjyQ,KAAKi+V,GACT,IAAIpmC,EAAMslC,GAAerkV,GACrB09C,EAAIqhQ,EAAIr9T,OACZy3Q,EAAIjyQ,KAAK63T,GACL/+S,GAAK,IACP09C,IACAy7M,EAAIjyQ,KAAK,IAAItE,WAAW,CAACod,EAAI,GAAK,MACzBA,GAAK,KACd09C,GAAK,EACLy7M,EAAIjyQ,KAAK,IAAItE,WAAW,CAAC,IAAKod,EAAI,EAAI,QAC7BA,GAAK,OACd09C,GAAK,EACLy7M,EAAIjyQ,KAAK,IAAItE,WAAW,CAAC,IAAKod,EAAI,EAAI,IAAKA,EAAI,GAAK,EAAI,QAC/CA,GAAK,UACd09C,GAAK,EACLy7M,EAAIjyQ,KAAK,IAAItE,WAAW,CAAC,IAAKod,EAAI,EAAI,IAAKA,EAAI,GAAK,EAAI,IAAKA,EAAI,GAAK,GAAK,QAClEA,GAAK,aACd09C,GAAK,EACLy7M,EAAIjyQ,KAAK,IAAItE,WAAW,CAAC,IAAKod,EAAI,EAAI,IAAKA,EAAI,GAAK,EAAI,IAAKA,EAAI,GAAK,GAAK,IAAKA,EAAI,IAAM,GAAK,QAEjGm5P,EAAIjyQ,KAAKwvQ,EAAI32Q,MAAMyB,EAAGA,EAAIwe,IAC1B09C,GAAK19C,EACLmlV,EAAM,GAAK,EACXA,EAAM,GAAS,IAAJznS,EACXynS,EAAM,GAAKznS,GAAK,EAAI,IACpBynS,EAAM,GAAKznS,GAAK,GAAK,IACrBl8D,GAAKwe,CACP,CACA,OAAOgkV,GAAS7qF,EAClB,CA6HA,SAASisF,GAAkB7hK,EAAMwgJ,GAC/B,IAAI5qE,EAAM,IAAIv2Q,WAAW,IAAKyiW,EAAKvB,GAAe3qF,GAAM33Q,EAAI,GAAIi+C,EAAQ,EAExE,OADA05N,EAAI,GAAK,EACD51E,EAAKz0J,GACX,IAAK,IACHqqO,EAAI,GAAK,EAtcf,SAA2BzC,EAAKniP,EAAQx5B,GACtC,IAAI6iD,EAAMzgD,KAAKC,MAAe,GAATrC,EAAa,EAAIoC,KAAKgxT,OAAShxT,KAAKxC,IAAIwC,KAAKmzB,IAAIv1B,KAAW,KAAO,GACpFuqW,EAAWvqW,EAAQoC,KAAK0gD,IAAI,GAAID,EAAM,MAC1C84N,EAAIniP,EAAS,KAAOqpB,GAAO,EAC3B84N,EAAIniP,EAAS,MAAc,IAANqpB,IAAc,EACnC,IAAK,IAAIr8C,EAAI,EAAG+jW,GAAY,IAAK/jW,EAAG+jW,GAAY,IAC9C5uF,EAAIniP,EAAShzB,GAAgB,IAAX+jW,EACpB5uF,EAAIniP,EAAS,KAAOx5B,GAAS,EAAI,EAAI,GACvC,CA+bMwqW,CAAkBpsF,EAAK33Q,EAAG+hM,EAAK7jK,GAC/B+f,GAAS,EACTj+C,GAAK,GACL,MACF,IAAK,IACH23Q,EAAI,GAAK,EACTksF,EAAGG,WAAWhkW,EAAG+hM,EAAK7jK,EAAI,EAAI,GAAG,GACjC+f,GAAS,EACTj+C,GAAK,EACL,MACF,IAAK,IACH,IAA4B,GAAxBuiV,EAAIv9U,QAAQ+8L,EAAK7jK,GACnB,MAAM,IAAIjmC,MAAM,SAASP,OAAOqqM,EAAK7jK,EAAG,uBAC1Cy5O,EAAI,GAAK,EACTksF,EAAGI,UAAUjkW,EAAGuiV,EAAIv9U,QAAQ+8L,EAAK7jK,IAAI,GACrC+f,GAAS,EACTj+C,GAAK,EACL,MACF,QACE,KAAM,yBAA2B+hM,EAAKz0J,EAG1C,OADAu2T,EAAGI,UAAU,EAAGhmT,GAAO,GAChB05N,EAAIp5Q,MAAM,EAAGyB,EACtB,CACA,SAASkkW,GAAkBniK,EAAMwgJ,GAC/B,IAAI5qE,EAAM,IAAIv2Q,WAAW,IAAKyiW,EAAKvB,GAAe3qF,GAAM33Q,EAAI,GAAIi+C,EAAQ,EAExE,OADA05N,EAAI,GAAK,EACD51E,EAAKz0J,GACX,IAAK,IACHqqO,EAAI,GAAK,EACTksF,EAAGG,WAAWhkW,EAAG+hM,EAAK7jK,GAAG,GACzB+f,GAAS,GACTj+C,GAAK,EACL,MACF,IAAK,IACH23Q,EAAI,GAAK,EACTksF,EAAGG,WAAWhkW,EAAG+hM,EAAK7jK,EAAI,EAAI,GAAG,GACjC+f,GAAS,GACTj+C,GAAK,EACL,MACF,IAAK,IACH,IAA4B,GAAxBuiV,EAAIv9U,QAAQ+8L,EAAK7jK,GACnB,MAAM,IAAIjmC,MAAM,SAASP,OAAOqqM,EAAK7jK,EAAG,uBAC1Cy5O,EAAI,GAAK,EACTksF,EAAGI,UAAUjkW,EAAGuiV,EAAIv9U,QAAQ+8L,EAAK7jK,IAAI,GACrC+f,GAAS,GACTj+C,GAAK,EACL,MACF,QACE,KAAM,yBAA2B+hM,EAAKz0J,EAG1C,OADAu2T,EAAGI,UAAU,EAAGhmT,GAAO,GAChB05N,EAAIp5Q,MAAM,EAAGyB,EACtB,CAcA,SAASmkW,GAAoBjvF,GAE3B,OAAOwtF,GADEM,GAAc9tF,GACE,GAAG,GAAG/9Q,KACjC,CAuNA,SAASitW,GAAeC,EAAKltW,EAAMu4U,GACjC,IAAIvoT,EAAI28B,EAAIwvB,EAAIG,EAChB,KAAuB,OAAhBtsD,EAAKk9U,EAAI,SAAc,EAASl9U,EAAG,OAA0B,OAAhB28B,EAAKugT,EAAI,SAAc,EAASvgT,EAAG,IACrF,KAAM,4CAER,IADqE,OAAhD2vB,EAAsB,OAAhBH,EAAK+wR,EAAI,SAAc,EAAS/wR,EAAG,SAAc,EAASG,EAAGt8E,OAAS2rW,GAAcuB,EAAI,GAAG,GAAGltW,MAAQ,IAAK,EAEpI,KAAM,sCAIR,IAHA,IAAI2/T,EAAM,EACN+sC,EAAKvB,GAAe+B,EAAI,GAAG,GAAGltW,MAAOmtW,EAAc,EAAGC,EAAe,GACrEC,EAAMlC,GAAe+B,EAAI,GAAG,GAAGltW,MAAOstW,EAAe,EAAGC,EAAgB,GACnEl4O,EAAI,EAAGA,EAAIr1H,EAAK+I,SAAUssH,EACjC,GAAe,MAAXr1H,EAAKq1H,GAAT,CAOA,IAAIm4O,EAASC,EACb,OAHAf,EAAGgB,UAAc,EAAJr4O,EAAO83O,GAAa,GACjCE,EAAIK,UAAc,EAAJr4O,EAAOi4O,GAAc,UAEpBttW,EAAKq1H,IAClB,IAAK,SACHm4O,EAAUf,GAAkB,CAAEt2T,EAAG,IAAKpP,EAAG/mC,EAAKq1H,IAAMkjN,GACpDk1B,EAAWV,GAAkB,CAAE52T,EAAG,IAAKpP,EAAG/mC,EAAKq1H,IAAMkjN,GACrD,MACF,IAAK,SACHi1B,EAAUf,GAAkB,CAAEt2T,EAAG,IAAKpP,EAAG/mC,EAAKq1H,IAAMkjN,GACpDk1B,EAAWV,GAAkB,CAAE52T,EAAG,IAAKpP,EAAG/mC,EAAKq1H,IAAMkjN,GACrD,MACF,IAAK,UACHi1B,EAAUf,GAAkB,CAAEt2T,EAAG,IAAKpP,EAAG/mC,EAAKq1H,IAAMkjN,GACpDk1B,EAAWV,GAAkB,CAAE52T,EAAG,IAAKpP,EAAG/mC,EAAKq1H,IAAMkjN,GACrD,MACF,QACE,MAAM,IAAIz3U,MAAM,qBAAuBd,EAAKq1H,IAEhD+3O,EAAa7+V,KAAKi/V,GAClBL,GAAeK,EAAQzkW,OACvBwkW,EAAch/V,KAAKk/V,GACnBH,GAAgBG,EAAS1kW,SACvB42T,CAxBF,MAHE+sC,EAAGgB,UAAc,EAAJr4O,EAAO,OAAO,GAC3Bg4O,EAAIK,UAAc,EAAJr4O,EAAO,OA6BzB,IADA63O,EAAI,GAAG,GAAGltW,KAAO0rW,GAAe/rC,GACzBtqM,EAAI63O,EAAI,GAAG,GAAGltW,KAAK+I,OAAS,IAAKssH,EACtCq3O,EAAGgB,UAAc,EAAJr4O,EAAO,OAAO,GAC3Bg4O,EAAIK,UAAc,EAAJr4O,EAAO,OAAO,GAI9B,OAFA63O,EAAI,GAAG,GAAGltW,KAAOqrW,GAAS+B,GAC1BF,EAAI,GAAG,GAAGltW,KAAOqrW,GAASkC,GACnB5tC,CACT,CA6QA,SAASguC,GAAcp3V,GACtB,OAAO,SAAkB8O,GACxB,IAAI,IAAIzc,EAAI,EAAGA,GAAK2N,EAASxN,SAAUH,EAAG,CACzC,IAAIypC,EAAI97B,EAAS3N,QACCI,IAAfqc,EAAKgtB,EAAE,MAAmBhtB,EAAKgtB,EAAE,IAAMA,EAAE,IAChC,MAATA,EAAE,KAAYhtB,EAAKgtB,EAAE,IAAM5iC,OAAO4V,EAAKgtB,EAAE,KAC7C,CACD,CACD,CAyBA,SAASs2T,GAAetjV,GACxBsoV,GAAc,CACb,CAAC,aAAa,GAEd,CAAC,WAAW,GAEZ,CAAC,WAAY,QAEb,CAAC,eAAe,GAEhB,CAAC,OAAO,IATTA,CAUGtoV,EACH,CAoSA,SAASo8S,GAAU9lK,EAAiBt2I,GACnC,MAAoB,OAAjBA,EAAKuyT,SAA0BkzB,GAAUnvM,EAAIt2I,GAC5B,WAAjBA,EAAKuyT,SA/lBT,SAA2Bj8K,EAAIt2I,GAC7B,IAAKA,IAASA,EAAK4sD,QACjB,MAAM,IAAInxE,MAAM,oDAClB,IAAIiyU,EAAKp3K,EAAGg3K,OAAOh3K,EAAG+2K,WAAW,IAC7B/2K,EAAG+2K,WAAW3pU,OAAS,GACzBhH,QAAQwP,MAAM,4DAChB,IAAIi1D,EAAQwrQ,GAAae,EAAG,SAC5BvsQ,EAAMz5B,EAAE+e,EAAI0a,EAAMz5B,EAAE1lB,EAAI,EACxB,IAAIumV,GAAQ,EACRpnS,EAAM7uD,EAAE0P,EAAI,IACdumV,GAAQ,EACRpnS,EAAM7uD,EAAE0P,EAAI,GAEVm/C,EAAM7uD,EAAEm0C,EAAI,KACd8hT,GAAQ,EACRpnS,EAAM7uD,EAAEm0C,EAAI,IAEV8hT,GACF7rW,QAAQwP,MAAM,8CAA8ChR,OAAO0xU,GAAazrQ,KAClF,IAAIxmE,EAAO4gV,GAAc7N,EAAI,CAAEvsQ,MAAOA,EAAO7tD,OAAQ,IACjD4/T,EAAM,CAAC,aACXv4U,EAAK0I,SAAQ,SAASiiM,GACpB,OAAOA,EAAIjiM,SAAQ,SAASkiM,GACP,iBAARA,GACT2tI,EAAIhqU,KAAKq8L,EACb,GACF,IACA,IAAIijK,EAAa,CAAC,EACdpvT,EAAU,GACVohR,EAAMxE,GAAIz+S,KAAKyI,EAAK4sD,QAAS,CAAE3qE,KAAM,WACzCu4T,EAAItD,UAAUvqT,KAAI,SAASosK,EAAI11I,GAC7B,MAAO,CAAC01I,EAAIyhJ,EAAIrD,UAAU9zR,GAC5B,IAAGhgC,SAAQ,SAASiiM,GAClB,IAAIvsB,EAAKusB,EAAI,GAAI81H,EAAK91H,EAAI,GACX,GAAXvsB,EAAG92K,MAEF82K,EAAGvzK,KAAK8I,MAAM,UAIVo4V,GADEO,GADOluL,EAAGvxK,UAGlBnE,SAAQ,SAASolW,GAClBrvT,EAAQlwC,KAAKu/V,EAAQ94V,IACrB64V,EAAWC,EAAQ94V,IAAM,CAAEya,KAAM,GAAInR,SAAUmiT,EAAIn5T,KAAMqkW,GAAcmC,EAAQ9B,SAAS,GAAGrgU,KAAK,GAAG,GAAG3rC,MACxG,GACF,IACAy+C,EAAQjsB,MAAK,SAASq7N,EAAIC,GACxB,OAAOD,EAAKC,CACd,IACA,IAAIigH,EAAiBtvT,EAAQpxC,QAAO,SAASwgP,GAC3C,OAAOA,EAAK,CACd,IAAG77O,KAAI,SAAS67O,GACd,MAAO,CAACA,EAAI69G,GAAe79G,GAC7B,IACAgyE,EAAItD,UAAUvqT,KAAI,SAASosK,EAAI11I,GAC7B,MAAO,CAAC01I,EAAIyhJ,EAAIrD,UAAU9zR,GAC5B,IAAGhgC,SAAQ,SAASiiM,GAClB,IAAIvsB,EAAKusB,EAAI,GAASA,EAAI,GACrBvsB,EAAGvzK,KAAK8I,MAAM,UAEVo4V,GAAeO,GAAoBluL,EAAGvxK,UAC5CnE,SAAQ,SAAS2qI,GAClBA,EAAG24N,SAAStjW,SAAQ,SAASyG,GAC3B4+V,EAAerlW,SAAQ,SAASslW,GAC1B36N,EAAG24N,SAAS/4V,MAAK,SAASg7V,GAC5B,OAA8C,OAAvCtC,GAAcsC,EAAKtiU,KAAK,GAAG,GAAG3rC,OAz3BjD,SAAoB4B,EAAMoc,GACxBimF,EACE,IAAK,IAAIl/B,EAAI,EAAGA,GAAKnjE,EAAKmH,OAASiV,EAAOjV,SAAUg8D,EAAG,CACrD,IAAK,IAAIhyB,EAAI,EAAGA,EAAI/0B,EAAOjV,SAAUgqC,EACnC,GAAInxC,EAAKmjE,EAAIhyB,IAAM/0B,EAAO+0B,GACxB,SAASkxD,EACb,OAAO,CACT,CACF,OAAO,CACT,CAg3BmEiqQ,CAAWD,EAAKjuW,KAAMguW,EAAI,GACnF,KACEH,EAAWG,EAAI,IAAIv+U,KAAKlhB,KAAK8kI,EAAGr+H,GAEpC,GACF,GACF,GACF,IAUA,IAHA,IAEIm5V,EAFA59R,EAAQ8qP,GAAI56R,KAAKo/R,EAAKguC,EAAW,GAAGvvV,UACpCmQ,EAAIs9U,GAAeO,GAAoB/7R,EAAM1jE,UAExCgzK,EAAK,EAAGA,EAAKpxJ,EAAE1lB,SAAU82K,EAAI,CACpC,IAAIuuL,EAAS3/U,EAAEoxJ,GACE,GAAbuuL,EAAOp5V,KACTm5V,EAAUC,EACd,CACA,IAAIC,EAAerB,GAAoBnB,GAAcsC,EAAQnC,SAAS,GAAGhsW,MAAM,GAAG,GAAGA,MAGrF,IADAyuB,EAAIs9U,GAAeO,IADnB/7R,EAAQ8qP,GAAI56R,KAAKo/R,EAAKguC,EAAWQ,GAAc/vV,WACFzR,UACxCgzK,EAAK,EAAGA,EAAKpxJ,EAAE1lB,SAAU82K,GAC5BuuL,EAAS3/U,EAAEoxJ,IACA7qK,IAAMq5V,IACfF,EAAUC,GAKd,IAHAC,EAAerB,GAAoBnB,GAAcsC,EAAQnC,SAAS,GAAGhsW,MAAM,GAAG,GAAGA,MAEjFyuB,EAAIs9U,GAAeO,IADnB/7R,EAAQ8qP,GAAI56R,KAAKo/R,EAAKguC,EAAWQ,GAAc/vV,WACFzR,UACxCgzK,EAAK,EAAGA,EAAKpxJ,EAAE1lB,SAAU82K,GAC5BuuL,EAAS3/U,EAAEoxJ,IACA7qK,IAAMq5V,IACfF,EAAUC,GAKd,IAHAC,EAAerB,GAAoBnB,GAAcsC,EAAQnC,SAAS,GAAGhsW,MAAM,GAAG,GAAGA,MAEjFyuB,EAAIs9U,GAAeO,IADnB/7R,EAAQ8qP,GAAI56R,KAAKo/R,EAAKguC,EAAWQ,GAAc/vV,WACFzR,UACxCgzK,EAAK,EAAGA,EAAKpxJ,EAAE1lB,SAAU82K,GAC5BuuL,EAAS3/U,EAAEoxJ,IACA7qK,IAAMq5V,IACfF,EAAUC,GAEd,IAAIlzM,EAAK2wM,GAAcsC,EAAQnC,SAAS,GAAGhsW,MAEzCk7J,EAAG,GAAG,GAAGl7J,KAAO0rW,GAAellS,EAAM7uD,EAAEm0C,EAAI,GAC3CovG,EAAG,GAAG,GAAGl7J,KAAO0rW,GAAellS,EAAM7uD,EAAE0P,EAAI,GAKzC,IAJF,IAAIinV,EAAYtB,GAAoB9xM,EAAG,IAAI,GAAGl7J,MAC1CuuW,EAAYlzC,GAAI56R,KAAKo/R,EAAKguC,EAAWS,GAAWhwV,UAChDgoN,EAAKylI,GAAeO,GAAoBiC,EAAU1hW,UAE3CkmC,EAAI,EAAGA,EAAIuzL,EAAGv9N,QACjBu9N,EAAGvzL,GAAG/9B,IAAMs5V,IADev7T,GAIjC,GAAIuzL,EAAGvzL,GAAG/9B,IAAMs5V,EACd,KAAM,6BACR,IAAIE,EAAS3C,GAAcvlI,EAAGvzL,GAAGi5T,SAAS,GAAGhsW,MAC7CwuW,EAAO,GAAK,GACZA,EAAO,GAAK,GAAIA,EAAO,GAAK,GAC5B,IAAK,IAAIn5O,EAAI,EAAGA,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,EAAG,CACnC,IAAIo5O,EAAO,GACXA,EAAK,GAAKA,EAAK,GAAK,CAAC,CAAEnnW,KAAM,EAAGtH,KAAM0rW,GAAer2O,EAAI,UACzDm5O,EAAO,GAAGjgW,KAAK,CAAEjH,KAAM,EAAGtH,KAAM8rW,GAAc2C,KAC9CD,EAAO,GAAGjgW,KAAK,CAAEjH,KAAM,EAAGtH,KAAM0rW,GAAer2O,KAC/Cm5O,EAAO,GAAGjgW,KAAK,CAAEjH,KAAM,EAAGtH,KAAM0rW,GAAer2O,IACjD,CACAm5O,EAAO,GAAK,GACZA,EAAO,GAAK,GAAIA,EAAO,GAAK,GAC5B,IAAK,IAAI74O,EAAI,EAAGA,GAAKnvD,EAAM7uD,EAAEm0C,IAAK6pE,GAChC84O,EAAO,IACF,GAAKA,EAAK,GAAK,CAAC,CAAEnnW,KAAM,EAAGtH,KAAM0rW,GAAe/1O,EAAI,UACzD64O,EAAO,GAAGjgW,KAAK,CAAEjH,KAAM,EAAGtH,KAAM8rW,GAAc2C,KAC9CD,EAAO,GAAGjgW,KAAK,CAAEjH,KAAM,EAAGtH,KAAM0rW,GAAe/1O,KAC/C64O,EAAO,GAAGjgW,KAAK,CAAEjH,KAAM,EAAGtH,KAAM0rW,GAAe/1O,KAEjD2wG,EAAGvzL,GAAGi5T,SAAS,GAAGhsW,KAAO8rW,GAAc0C,GAEzCD,EAAU1hW,QAAU0/V,GAAkBN,GAAe3lI,IACrDioI,EAAU3+V,KAAO2+V,EAAU1hW,QAAQ9D,cAC5BmyJ,EAAG,IACV,IAAI2hC,EAAQgvK,GAAc3wM,EAAG,GAAG,GAAGl7J,MAEjC68L,EAAM,GAAG,GAAG78L,KAAO0rW,GAAellS,EAAM7uD,EAAEm0C,EAAI,GAC9C,IACI4iT,EAAiB1B,GADHnB,GAAchvK,EAAM,GAAG,GAAG78L,MACS,GAAG,GAAGA,MAIzD,IAFFsmO,EAAKylI,GAAeO,IADpBiC,EAAYlzC,GAAI56R,KAAKo/R,EAAKguC,EAAWa,GAAgBpwV,WACHzR,WAEzC,GAAGmI,IAAM05V,EACd,KAAM,0BACR,IAAIC,EAAc9C,GAAcvlI,EAAG,GAAG0lI,SAAS,GAAGhsW,MAClD,IAAK21H,EAAI,EAAGA,EAAI31H,EAAK+I,SAAU4sH,EAAG,CAChC,IAAIi5O,EAAU/C,GAAc8C,EAAY,GAAG,GAAG3uW,MAC9C4uW,EAAQ,GAAG,GAAG5uW,KAAO0rW,GAAe/1O,GACpCi5O,EAAQ,GAAG,GAAG5uW,KAAO0rW,GAAe1rW,EAAK21H,GAAG5sH,QAC5C4lW,EAAY,GAAGh5O,GAAK,CAAEruH,KAAMqnW,EAAY,GAAG,GAAGrnW,KAAMtH,KAAM8rW,GAAc8C,GAC1E,CACAtoI,EAAG,GAAG0lI,SAAS,GAAGhsW,KAAO8rW,GAAc6C,GAEzCJ,EAAU1hW,QAAU0/V,GAAkBN,GAAe3lI,IACrDioI,EAAU3+V,KAAO2+V,EAAU1hW,QAAQ9D,OACnC,IAAI8lW,EAAiB7B,GAAoBnwK,EAAM,GAAG,GAAG78L,MAInD,IAFFsmO,EAAKylI,GAAeO,IADpBiC,EAAYlzC,GAAI56R,KAAKo/R,EAAKguC,EAAWgB,GAAgBvwV,WACHzR,WAEzC,GAAGmI,IAAM65V,EACd,KAAM,0BAER,IADAF,EAAc9C,GAAcvlI,EAAG,GAAG0lI,SAAS,GAAGhsW,MACzCq1H,EAAI,EAAGA,GAAK7uD,EAAM7uD,EAAE0P,IAAKguG,GAC5Bu5O,EAAU/C,GAAc8C,EAAY,GAAG,GAAG3uW,OAClC,GAAG,GAAGA,KAAO0rW,GAAer2O,GACpCu5O,EAAQ,GAAG,GAAG5uW,KAAO0rW,GAAellS,EAAM7uD,EAAEm0C,EAAI,GAChD6iT,EAAY,GAAGt5O,GAAK,CAAE/tH,KAAMqnW,EAAY,GAAG,GAAGrnW,KAAMtH,KAAM8rW,GAAc8C,IAE1EtoI,EAAG,GAAG0lI,SAAS,GAAGhsW,KAAO8rW,GAAc6C,GAEzCJ,EAAU1hW,QAAU0/V,GAAkBN,GAAe3lI,IACrDioI,EAAU3+V,KAAO2+V,EAAU1hW,QAAQ9D,OACnC,IAAI+lW,EAAS9B,GAAoBnwK,EAAM,GAAG,GAAG78L,OAC7C,WAIE,IAHA,IAEI+uW,EAFAC,EAAS3zC,GAAI56R,KAAKo/R,EAAKguC,EAAWiB,GAAQxwV,UAC1Cm1Q,EAAKs4E,GAAeO,GAAoB0C,EAAOniW,UAE1CoiW,EAAM,EAAGA,EAAMx7E,EAAG1qR,SAAUkmW,EAAK,CACxC,IAAInB,EAAUr6E,EAAGw7E,GACbnB,EAAQ94V,IAAM85V,IAChBC,EAAUjB,EACd,CACA,IAAIoB,EAAUrD,GAAckD,EAAQ/C,SAAS,GAAGhsW,MAE9CkvW,EAAQ,GAAK,GACb,IAAIC,EAAS,GACb52B,EAAI7vU,SAAQ,SAASxB,EAAK0B,GACxBumW,EAAO,GAAK,CAAC,CAAE7nW,KAAM,EAAGtH,KAAM0rW,GAAe9iW,KAC7CumW,EAAO,GAAK,CAAC,CAAE7nW,KAAM,EAAGtH,KAAM0rW,GAAe,KAC7CyD,EAAO,GAAK,CAAC,CAAE7nW,KAAM,EAAGtH,KAAMorW,GAAMlkW,KACpCgoW,EAAQ,GAAG3gW,KAAK,CAAEjH,KAAM,EAAGtH,KAAM8rW,GAAcqD,IACjD,IAEFJ,EAAQ/C,SAAS,GAAGhsW,KAAO8rW,GAAcoD,GACzC,IACIE,EAAQ7C,GADHN,GAAex4E,IAExBu7E,EAAOniW,QAAUuiW,EACjBJ,EAAOp/V,KAAOo/V,EAAOniW,QAAQ9D,MAC9B,CAzBD,GA0BA,IAAIsmW,EAAOxD,GAAchvK,EAAM,GAAG,GAAG78L,MAE/Bm2C,EAAIk5T,EAAK,GAAG,UACTA,EAAK,GACZ,IAAInjL,EAAK2/K,GAAc11T,EAAEn2C,MAEnBsvW,EAAUtC,GAAoB9gL,EAAG,GAAG,GAAGlsL,OAC3C,WAIE,IAHA,IAEIuvW,EAFAC,EAASn0C,GAAI56R,KAAKo/R,EAAKguC,EAAWyB,GAAShxV,UAC3Cu1Q,EAAKk4E,GAAeO,GAAoBkD,EAAO3iW,UAE1CoiW,EAAM,EAAGA,EAAMp7E,EAAG9qR,SAAUkmW,EAAK,CACxC,IAAInB,EAAUj6E,EAAGo7E,GACbnB,EAAQ94V,IAAMs6V,IAChBC,EAAWzB,EACf,CACA,IAAI2B,EAAW5D,GAAc0D,EAASvD,SAAS,GAAGhsW,aAEzCyvW,EAAS,UACTJ,EAAK,GACZ,IAAIK,EAAU,IAAIzlW,WAAWwlW,EAAS,GAAG,GAAGzvW,MAC5CyvW,EAAS,GAAK,GAEd,IADA,IAAI9vC,EAAM,EACDgwC,EAAK,EAAGA,GAAMnpS,EAAM7uD,EAAEm0C,IAAK6jT,EAAI,CACtC,IAAIC,EAAU/D,GAAc6D,GAC5B/vC,GAAOstC,GAAe2C,EAAS5vW,EAAK2vW,GAAKp3B,GACzCq3B,EAAQ,GAAG,GAAG5vW,KAAO0rW,GAAeiE,GACpCF,EAAS,GAAGlhW,KAAK,CAAEvO,KAAM8rW,GAAc8D,GAAUtoW,KAAM,GACzD,CACAmoW,EAAS,GAAK,CAAC,CAAEnoW,KAAM,EAAGtH,KAAM0rW,GAAellS,EAAM7uD,EAAE0P,EAAI,KAC3DooV,EAAS,GAAK,CAAC,CAAEnoW,KAAM,EAAGtH,KAAM0rW,GAAellS,EAAM7uD,EAAEm0C,EAAI,KAC3D2jT,EAAS,GAAK,CAAC,CAAEnoW,KAAM,EAAGtH,KAAM0rW,GAAe/rC,KAC/C8vC,EAAS,GAAK,CAAC,CAAEnoW,KAAM,EAAGtH,KAAM0rW,GAAellS,EAAM7uD,EAAEm0C,EAAI,KAE7DyjT,EAASvD,SAAS,GAAGhsW,KAAO8rW,GAAc2D,GAC1C,IACIL,EAAQ7C,GADHN,GAAep4E,IAExB27E,EAAO3iW,QAAUuiW,EACjBI,EAAO5/V,KAAO4/V,EAAO3iW,QAAQ9D,MAC9B,CAhCD,GAkCFotC,EAAEn2C,KAAO8rW,GAAc5/K,GAEzB2Q,EAAM,GAAG,GAAG78L,KAAO8rW,GAAcuD,GAEnCn0M,EAAG,GAAG,GAAGl7J,KAAO8rW,GAAcjvK,GAEhCsxK,EAAQnC,SAAS,GAAGhsW,KAAO8rW,GAAc5wM,GACzC,IACI20M,EAAOtD,GADHN,GAAex9U,IAIvB,OAFA8hD,EAAM1jE,QAAUgjW,EAChBt/R,EAAM3gE,KAAO2gE,EAAM1jE,QAAQ9D,OACpB82T,CACT,CAoVuCiwC,CAAkBn0M,EAAIt2I,GACxC,QAAjBA,EAAKuyT,SAQT,SAAyBj8K,EAAiBt2I,GACzCmrU,GAAW,KACR70L,IAAOA,EAAGqxL,MACZrxL,EAAGqxL,IAAM3hB,GAAInX,KAEXv4J,GAAMA,EAAGqxL,MACX7yB,KAAYF,GAAet+J,EAAGqxL,KAE9B3nU,EAAK8zU,OAAS7uB,GAAU3uK,EAAGqxL,KAAM3nU,EAAK8zU,OAAOx9L,EAAGqxL,IAAI,QAAU,EAC9D3nU,EAAK+zU,IAAMz9L,EAAGqxL,KAEf3nU,EAAKi0T,KAAO,CAAC,EAAGj0T,EAAK0qV,OAAS,CAAC,EAC/B1qV,EAAKu0U,QAAkB,GAAqBv0U,EAAKu0U,QAAQtO,MAAQ,EAAGjmU,EAAKu0U,QAAQrO,OAAS,EACvFoN,GAAiBtzU,EAAKw0U,WAAa,IAAIxnU,KACnChN,EAAKw0U,WAAa,CAAC,EAAGx0U,EAAKw0U,WAAWx6G,IAAM,UAAWh6N,EAAKw0U,WAAWx6G,KAC9E,IAAI2wH,EAAyB,QAAjB3qV,EAAKuyT,SAAqB,MAAQ,MAC1Cq4B,EAAS/d,GAAQrkV,QAAQwX,EAAKuyT,WAAa,EAC3C19M,EA92jBI,CACPy8M,UAAU,GAAIlE,OAAO,GAAI0E,OAAO,GAAIC,QAAQ,GAAIC,OAAO,GACvDiC,KAAK,GAAIrC,KAAK,GAAIC,SAAS,GAAIg5B,iBAAiB,GAAIC,MAAM,GAC1DC,UAAU,GAAIC,SAAS,GAAIC,UAAU,GAAIC,OAAO,GAAIl8U,OAAO,GAC3Dm8U,WAAW,GAAIhN,IAAK,GAAIiN,SAAU,GAAI9sH,SAAU,GAAI4tG,OAAO,GAC3Dmf,KAAK,GAAI3nS,MAAO,IA02jBjB4/R,GAAetjV,EAAOA,GAAQ,CAAC,GAC/B,IAAI0yF,EAAM8zN,KACN5+R,EAAI,GAAIwsS,EAAM,EAElBp0T,EAAK+nU,QAAU,GACf8L,GAAe7zU,EAAK+nU,QAAS,CAAC,EAAG,CAAC+L,OAAO,CAAC,QAAU,KAEhDx9L,EAAG0+K,QAAO1+K,EAAG0+K,MAAQ,CAAC,GAS1B,GAPAptS,EAAI,oBACJw+R,GAAa1zN,EAAK9qE,EAAGitS,GAAiBv+K,EAAG0+K,MAAOh1T,IAChD60G,EAAGk2O,UAAU7hW,KAAK0+B,GAClBusS,GAASn0T,EAAKi0T,KAAM,EAAGrsS,EAAG0gS,GAAKJ,YAG/BtgS,EAAI,mBACD0uH,EAAG0+K,OAAS1+K,EAAG0+K,MAAM3H,iBACnB,GAAI/2K,EAAGy+L,UAAaz+L,EAAGy+L,SAASznB,OAChC,CAEJ,IADA,IAAIg+B,EAAM,GACFpwU,EAAK,EAAGA,EAAKo7H,EAAG+2K,WAAW3pU,SAAUw3B,EACF,IAAtCo7H,EAAGy+L,SAASznB,OAAOpyS,IAAK,CAAC,GAAG4/T,QAAawQ,EAAIpiW,KAAKotJ,EAAG+2K,WAAWnyS,IACrEo7H,EAAG0+K,MAAM3H,WAAai+B,CACvB,MAN6Ch1M,EAAG0+K,MAAM3H,WAAa/2K,EAAG+2K,WAOtE/2K,EAAG0+K,MAAMO,WAAaj/K,EAAG0+K,MAAM3H,WAAW3pU,OAC1C0iU,GAAa1zN,EAAK9qE,EAAGytS,GAAgB/+K,EAAG0+K,QACxCngN,EAAGm2O,SAAS9hW,KAAK0+B,GACjBusS,GAASn0T,EAAKi0T,KAAM,EAAGrsS,EAAG0gS,GAAKF,WAE5B9xK,EAAG2lM,YAAc3lM,EAAG0+K,OAASlxU,GAAKwyJ,EAAG2lM,WAAW,CAAC,GAAGv4V,OAAS,IAE/D0iU,GAAa1zN,EADb9qE,EAAI,sBACiB6tS,GAAiBn/K,EAAG2lM,YACzCpnO,EAAGo2O,UAAU/hW,KAAK0+B,GAClBusS,GAASn0T,EAAKi0T,KAAM,EAAGrsS,EAAG0gS,GAAKH,aAGhC,IAAIiM,EAAI,EAAEA,GAAO99K,EAAG+2K,WAAW3pU,SAAU0wU,EAAK,CAC7C,IAAIm3B,EAAS,CAAC,MAAM,CAAC,GACjB79B,EAAKp3K,EAAGg3K,OAAOh3K,EAAG+2K,WAAW+G,EAAI,KACxB1G,GAAM,CAAC,GAAG,SAWvB,GALCtH,GAAa1zN,EADb9qE,EAAI,sBAAwBwsS,EAAM,IAAMu2B,EACnB9O,GAASznB,EAAI,EAAGxsS,EAAG5nB,EAAMs2I,EAAIi1M,IAClD12O,EAAGu4M,OAAOlkU,KAAK0+B,GACfusS,GAASn0T,EAAK0qV,QAAS,EAAG,mBAAqBt2B,EAAM,IAAMu2B,EAAOriC,GAAKkL,GAAG,IAGxE9F,EAAI,CACN,IAAImE,EAAWnE,EAAG,aACd89B,GAAW,EACX5+L,EAAK,GACNilK,GAAYA,EAASnuU,OAAS,IAEhC0iU,GAAa1zN,EADbk6D,EAAK,cAAgBwnK,EAAM,IAAMu2B,EACX7O,GAAWjqB,EAAUjlK,EAAI5sJ,IAC/C60G,EAAGg9M,SAAS3oU,KAAK0jK,GACjBunK,GAASo3B,GAAS,EAAG,cAAgBn3B,EAAM,IAAMu2B,EAAOriC,GAAK2K,MAC7Du4B,GAAW,GAET99B,EAAG,YACF89B,GAAUplC,GAAa1zN,EAAK,yBAA4B0hO,EAAO,OAAQgX,GAAmBhX,EAAK1G,EAAG,sBAE/FA,EAAG,oBACHA,EAAG,UACX,CAEG69B,EAAO,OAAOE,MAAMrlC,GAAa1zN,EAAKqhO,GAAcnsS,GAAIosS,GAAWu3B,GACvE,CAEmB,MAAhBvrV,EAAKu0U,SAAmBv0U,EAAKu0U,QAAQ7wV,OAAS,IAEhD0iU,GAAa1zN,EADb9qE,EAAI,oBAAsB+iU,EArsM5B,SAAmBhwW,EAAc6K,EAAiBwa,GACjD,OAAyB,SAAjBxa,EAAKzD,OAAO,GAAcskV,GAAgBP,IAAenrV,EAAMqlB,EACxE,CAosMuB0rV,CAAU1rV,EAAKu0U,QAAS3sT,EAAG5nB,IAChD60G,EAAG+8M,KAAK1oU,KAAK0+B,GACbusS,GAASn0T,EAAK0qV,QAAS,EAAG,iBAAmBC,EAAOriC,GAAK4K,MAG1DtrS,EAAI,eAAiB+iU,EACrBvkC,GAAa1zN,EAAK9qE,EA7tMnB,SAAkB0uH,EAAI9wJ,EAAiBwa,GACtC,OAAyB,SAAjBxa,EAAKzD,OAAO,GAAcy5V,GAAed,IAAcpkM,EAAIt2I,EACpE,CA2tMsB2rV,CAASr1M,EAAI1uH,EAAG5nB,IACrC60G,EAAGy8M,UAAUpoU,KAAK0+B,GAClBusS,GAASn0T,EAAKi0T,KAAM,EAAGrsS,EAAG0gS,GAAKkK,IAI/B5qS,EAAI,sBACJw+R,GAAa1zN,EAAK9qE,EAAG6iT,GAAYn0L,EAAGo0L,OAAQ1qU,IAC5C60G,EAAGq2O,OAAOhiW,KAAK0+B,GACfusS,GAASn0T,EAAK0qV,QAAS,EAAG,mBAAoBpiC,GAAK8K,OAInDxrS,EAAI,aAAe+iU,EACnBvkC,GAAa1zN,EAAK9qE,EA9tMnB,SAAmBjtC,EAAM6K,EAAiBwa,GACzC,OAAyB,SAAjBxa,EAAKzD,OAAO,GAAcgoV,GAAgBrC,IAAe/sV,EAAMqlB,EACxE,CA4tMsB4rV,CAAUt1M,EAAI1uH,EAAG5nB,IACtC60G,EAAG7lG,OAAO9lB,KAAK0+B,GACfusS,GAASn0T,EAAK0qV,QAAS,EAAG,UAAYC,EAAOriC,GAAK6K,KAE/C78K,EAAGu+L,QAAU+V,IAEfxkC,GAAa1zN,EADb9qE,EAAI,oBACiB0uH,EAAGu+L,QACxBhgO,EAAGspO,IAAIj1V,KAAK0+B,GACZusS,GAASn0T,EAAK0qV,QAAS,EAAG,iBAAkBpiC,GAAKwL,MAalD,OAVAlsS,EAAI,eAAiB+iU,EACrBvkC,GAAa1zN,EAAK9qE,EAztMnB,SAAsBpiC,GACrB,OAAyB,SAAjBA,EAAKzD,OAAO,GAAc6oV,GAAmBM,KACtD,CAutMsB2gB,CAAajkU,IAClCitF,EAAGypH,SAASp1O,KAAK0+B,GACjBusS,GAASn0T,EAAK0qV,QAAS,EAAG,YAAcC,EAAOriC,GAAKsL,QAEpDxN,GAAa1zN,EAAK,sBAAuBu/N,GAASp9M,EAAI70G,IACtDomT,GAAa1zN,EAAK,cAAeshO,GAAWh0T,EAAKi0T,OACjD7N,GAAa1zN,EAAK,qBAAuBi4P,EAAQ,QAAS32B,GAAWh0T,EAAK0qV,gBAEnE1qV,EAAK8zU,cAAe9zU,EAAK+zU,IACzBrhP,CACR,CA7IoCo5P,CAAgBx1M,EAAIt2I,GAChD+rV,GAAez1M,EAAIt2I,EAC3B,CA6IA,SAAS+rV,GAAez1M,EAAiBt2I,GACxCmrU,GAAW,KACR70L,IAAOA,EAAGqxL,MACZrxL,EAAGqxL,IAAM3hB,GAAInX,KAEXv4J,GAAMA,EAAGqxL,MACX7yB,KAAYF,GAAet+J,EAAGqxL,KAE9B3nU,EAAK8zU,OAAS7uB,GAAU3uK,EAAGqxL,KAAM3nU,EAAK8zU,OAAOx9L,EAAGqxL,IAAI,QAAU,EAC9D3nU,EAAK+zU,IAAMz9L,EAAGqxL,KAEf3nU,EAAKi0T,KAAO,CAAC,EAAGj0T,EAAK0qV,OAAS,CAAC,EAC/B1qV,EAAKu0U,QAAkB,GAAqBv0U,EAAKu0U,QAAQtO,MAAQ,EAAGjmU,EAAKu0U,QAAQrO,OAAS,EACvFoN,GAAiBtzU,EAAKw0U,WAAa,IAAIxnU,KACnChN,EAAKw0U,WAAa,CAAC,EAAGx0U,EAAKw0U,WAAWx6G,IAAM,UAAWh6N,EAAKw0U,WAAWx6G,KAC9E,IAAI2wH,EAAQ,MACRC,EAAS/d,GAAQrkV,QAAQwX,EAAKuyT,WAAa,EAC3C19M,EAr/jBI,CACPy8M,UAAU,GAAIlE,OAAO,GAAI0E,OAAO,GAAIC,QAAQ,GAAIC,OAAO,GACvDiC,KAAK,GAAIrC,KAAK,GAAIC,SAAS,GAAIg5B,iBAAiB,GAAIC,MAAM,GAC1DC,UAAU,GAAIC,SAAS,GAAIC,UAAU,GAAIC,OAAO,GAAIl8U,OAAO,GAC3Dm8U,WAAW,GAAIhN,IAAK,GAAIiN,SAAU,GAAI9sH,SAAU,GAAI4tG,OAAO,GAC3Dmf,KAAK,GAAI3nS,MAAO,IAi/jBjB4/R,GAAetjV,EAAOA,GAAQ,CAAC,GAC/B,IAAI0yF,EAAM8zN,KACN5+R,EAAI,GAAIwsS,EAAM,EAclB,GAZAp0T,EAAK+nU,QAAU,GACf8L,GAAe7zU,EAAK+nU,QAAS,CAAC,EAAG,CAAC+L,OAAO,CAAC,QAAU,KAEhDx9L,EAAG0+K,QAAO1+K,EAAG0+K,MAAQ,CAAC,GAG1B5O,GAAa1zN,EADb9qE,EAAI,oBACiBitS,GAAiBv+K,EAAG0+K,MAAOh1T,IAChD60G,EAAGk2O,UAAU7hW,KAAK0+B,GAClBusS,GAASn0T,EAAKi0T,KAAM,EAAGrsS,EAAG0gS,GAAKJ,YAG/BtgS,EAAI,mBACD0uH,EAAG0+K,OAAS1+K,EAAG0+K,MAAM3H,iBACnB,GAAI/2K,EAAGy+L,UAAaz+L,EAAGy+L,SAASznB,OAChC,CAEJ,IADA,IAAIg+B,EAAM,GACFpwU,EAAK,EAAGA,EAAKo7H,EAAG+2K,WAAW3pU,SAAUw3B,EACF,IAAtCo7H,EAAGy+L,SAASznB,OAAOpyS,IAAK,CAAC,GAAG4/T,QAAawQ,EAAIpiW,KAAKotJ,EAAG+2K,WAAWnyS,IACrEo7H,EAAG0+K,MAAM3H,WAAai+B,CACvB,MAN6Ch1M,EAAG0+K,MAAM3H,WAAa/2K,EAAG+2K,WAOtE/2K,EAAG0+K,MAAMO,WAAaj/K,EAAG0+K,MAAM3H,WAAW3pU,OAC1C0iU,GAAa1zN,EAAK9qE,EAAGytS,GAAgB/+K,EAAG0+K,QACxCngN,EAAGm2O,SAAS9hW,KAAK0+B,GACjBusS,GAASn0T,EAAKi0T,KAAM,EAAGrsS,EAAG0gS,GAAKF,WAE5B9xK,EAAG2lM,YAAc3lM,EAAG0+K,OAASlxU,GAAKwyJ,EAAG2lM,WAAW,CAAC,GAAGv4V,OAAS,IAE/D0iU,GAAa1zN,EADb9qE,EAAI,sBACiB6tS,GAAiBn/K,EAAG2lM,YACzCpnO,EAAGo2O,UAAU/hW,KAAK0+B,GAClBusS,GAASn0T,EAAKi0T,KAAM,EAAGrsS,EAAG0gS,GAAKH,aAGhC,IAAI+jB,EAAS,CAAC,WAGd,IAFAlsU,EAAKssU,KAAO,EAERlY,EAAI,EAAEA,GAAO99K,EAAG+2K,WAAW3pU,SAAU0wU,EAAK,CAC7C,IAAIm3B,EAAS,CAAC,MAAM,CAAC,GACjB79B,EAAKp3K,EAAGg3K,OAAOh3K,EAAG+2K,WAAW+G,EAAI,KACxB1G,GAAM,CAAC,GAAG,SAWvB,GALCtH,GAAa1zN,EADb9qE,EAAI,sBAAwBwsS,EAAM,IAAMu2B,EACnBlW,GAAargB,EAAI,EAAGp0T,EAAMs2I,EAAIi1M,IACnD12O,EAAGu4M,OAAOlkU,KAAK0+B,GACfusS,GAASn0T,EAAK0qV,QAAS,EAAG,mBAAqBt2B,EAAM,IAAMu2B,EAAOriC,GAAKkL,GAAG,IAGxE9F,EAAI,CACN,IAAImE,EAAWnE,EAAG,aACd89B,GAAW,EACX5+L,EAAK,GACT,GAAGilK,GAAYA,EAASnuU,OAAS,EAAG,CACnC,IAAIsoW,GAAS,EACbn6B,EAASxuU,SAAQ,SAAS8oV,GACzBA,EAAK,GAAG9oV,SAAQ,SAAS2e,GAAe,GAAPA,EAAE49C,IAAWosS,GAAS,EAAM,GAC9D,IACGA,IAEF5lC,GAAa1zN,EADbk6D,EAAK,sCAAwCwnK,EAAM,IAAMu2B,EACnC1e,GAAgBpa,EAAUqa,EAAQlsU,IACxD60G,EAAGg2O,iBAAiB3hW,KAAK0jK,GACzBunK,GAASo3B,GAAS,EAAG,sCAAwCn3B,EAAM,IAAMu2B,EAAOriC,GAAKC,QAItFnC,GAAa1zN,EADbk6D,EAAK,cAAgBwnK,EAAM,IAAMu2B,EACX7e,GAAmBja,IACzCh9M,EAAGg9M,SAAS3oU,KAAK0jK,GACjBunK,GAASo3B,GAAS,EAAG,cAAgBn3B,EAAM,IAAMu2B,EAAOriC,GAAK2K,MAC7Du4B,GAAW,CACZ,CACG99B,EAAG,YACF89B,GAAUplC,GAAa1zN,EAAK,yBAA4B0hO,EAAO,OAAQgX,GAAmBhX,EAAK1G,EAAG,sBAE/FA,EAAG,oBACHA,EAAG,UACX,CAEG69B,EAAO,OAAOE,MAAMrlC,GAAa1zN,EAAKqhO,GAAcnsS,GAAIosS,GAAWu3B,GACvE,CAoDA,OAlDmB,MAAhBvrV,EAAKu0U,SAAmBv0U,EAAKu0U,QAAQ7wV,OAAS,IAEhD0iU,GAAa1zN,EADb9qE,EAAI,oBAAsB+iU,EACL7kB,GAAc9lU,EAAKu0U,QAASv0U,IACjD60G,EAAG+8M,KAAK1oU,KAAK0+B,GACbusS,GAASn0T,EAAK0qV,QAAS,EAAG,iBAAmBC,EAAOriC,GAAK4K,MAI1D9M,GAAa1zN,EADb9qE,EAAI,eAAiB+iU,EACAjQ,GAAapkM,IAClCzhC,EAAGy8M,UAAUpoU,KAAK0+B,GAClBusS,GAASn0T,EAAKi0T,KAAM,EAAGrsS,EAAG0gS,GAAKkK,IAK/BpM,GAAa1zN,EADb9qE,EAAI,sBACiB6iT,GAAYn0L,EAAGo0L,OAAQ1qU,IAC5C60G,EAAGq2O,OAAOhiW,KAAK0+B,GACfusS,GAASn0T,EAAK0qV,QAAS,EAAG,mBAAoBpiC,GAAK8K,OAKnDhN,GAAa1zN,EADb9qE,EAAI,aAAe+iU,EACEjjB,GAAcpxL,EAAIt2I,IACvC60G,EAAG7lG,OAAO9lB,KAAK0+B,GACfusS,GAASn0T,EAAK0qV,QAAS,EAAG,UAAYC,EAAOriC,GAAK6K,KAE/C78K,EAAGu+L,QAAU+V,IAEfxkC,GAAa1zN,EADb9qE,EAAI,oBACiB0uH,EAAGu+L,QACxBhgO,EAAGspO,IAAIj1V,KAAK0+B,GACZusS,GAASn0T,EAAK0qV,QAAS,EAAG,iBAAkBpiC,GAAKwL,MAIlD1N,GAAa1zN,EADb9qE,EAAI,eAAiB+iU,EACAzf,MACrBr2N,EAAGypH,SAASp1O,KAAK0+B,GACjBusS,GAASn0T,EAAK0qV,QAAS,EAAG,YAAcC,EAAOriC,GAAKsL,QAEjDsY,EAAOxoV,OAAS,IAElB0iU,GAAa1zN,EADb9qE,EAAI,wBA1gXN,SAA0BskT,GACzB,IAAIr8N,EAAI,CAAC42M,GAAYsB,GAAU,aAAc,KAAM,CAClD,MAASE,GAAMM,MACf,UAAWC,GAAW,KACpBlhU,QAAQ,QAAS,MAUpB,OATA4kV,EAAO7oV,SAAQ,SAAS4oW,EAAQ5oU,GAC/BwsF,EAAE3mH,KAAK6+T,GAAU,SAAU,KAAM,CAChCp5R,YAAas9T,EACbt8V,GAAI,6BAA+B,eAAiB0zB,GAAKthC,OAAO,IAAM,IACtEmqW,OAAQD,EACRE,WAAY,SAEd,IACAt8O,EAAE3mH,KAAK,iBACA2mH,EAAEjjH,KAAK,GACf,CA4/WuBw/V,CAAiBlgB,IACtCr3N,EAAGq3N,OAAOhjV,KAAK0+B,GACfusS,GAASn0T,EAAK0qV,QAAS,EAAG,qBAAsBpiC,GAAKuL,SAGtDzN,GAAa1zN,EAAK,sBAAuBu/N,GAASp9M,EAAI70G,IACtDomT,GAAa1zN,EAAK,cAAeshO,GAAWh0T,EAAKi0T,OACjD7N,GAAa1zN,EAAK,6BAAwCshO,GAAWh0T,EAAK0qV,gBAEnE1qV,EAAK8zU,cAAe9zU,EAAK+zU,IACzBrhP,CACR,CAEA,SAASmwO,GAAUj7S,EAAcioF,GAChC,IAAIzmG,EAAI,GACR,QAAQymG,GAAG,CAAC,GAAG5tH,MAAQ,UACtB,IAAK,SAGL,IAAK,QAAU,MAAO,CAAC2lC,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAFnE,IAAK,SAAUxe,EAAIikS,GAAczlR,EAAE7lC,MAAM,EAAE,KAAM,MACjD,IAAK,SAAUqnB,EAAIwe,EAAG,MAEtB,QAAS,MAAM,IAAInsC,MAAM,sBAAwBo0H,GAAKA,EAAE5tH,MAAQ,cAEjE,MAAO,CAACmnB,EAAE3hB,WAAW,GAAI2hB,EAAE3hB,WAAW,GAAI2hB,EAAE3hB,WAAW,GAAI2hB,EAAE3hB,WAAW,GAAI2hB,EAAE3hB,WAAW,GAAI2hB,EAAE3hB,WAAW,GAAI2hB,EAAE3hB,WAAW,GAAI2hB,EAAE3hB,WAAW,GAC7I,CA4GA,SAAS4kW,GAAc7xC,EAAsB3qM,GAC5C,OAAOA,EAAE5tH,MACR,IAAK,SAAU,IAAK,SAAU,MAC9B,IAAK,SAAU,IAAK,QAAS4tH,EAAE5tH,KAAO,GAAI,MAC1C,IAAK,OAAQ,OAAOqiU,GAASz0M,EAAEqxF,KAAM80G,GAAI/+S,MAAMujT,EAAK,CAACv4T,KAAKqrT,GAAU,SAAW,MAC/E,IAAK,SAAU,MAAM,IAAI7xT,MAAM,qCAAuCo0H,EAAE0iN,SAAW,WACnF,QAAS,MAAM,IAAI92U,MAAM,qBAAuBo0H,EAAE5tH,MAEnD,OAAO+zT,GAAI/+S,MAAMujT,EAAK3qM,EACvB,CAaA,SAASy8O,GAAqB3uT,EAAWkyE,GACxC,IAAI08O,EAAQ,CAAC,EACTC,EAAQl/C,GAAU,aAAsC,qBAAf1oT,WAA6B,QAAU,SAEpF,GADGirH,EAAE6zK,cAAa6oE,EAAM7oE,YAAc,WACnC7zK,EAAEzzH,SAAUmwW,EAAMtqW,KAAOuqW,OACvB,OAAO38O,EAAE5tH,MACb,IAAK,SAAUsqW,EAAMtqW,KAAO,SAAU,MACtC,IAAK,SAAUsqW,EAAMtqW,KAAO,SAAU,MACtC,IAAK,SAAU,MAAM,IAAIxG,MAAM,qCAAuCo0H,EAAE0iN,SAAW,WACnF,IAAK,SACL,IAAK,OAAQg6B,EAAMtqW,KAAOuqW,EAAO,MACjC,QAAS,MAAM,IAAI/wW,MAAM,qBAAuBo0H,EAAE5tH,MAEnD,IAAIk5Q,EAAMx9N,EAAEw5Q,UAAYnB,GAAI/+S,MAAM0mC,EAAG,CAACmmP,SAAS,MAAO7hS,KAAa,CAAC,WAAc,SAAU,OAAU,UAAsBsqW,EAAMtqW,OAASsqW,EAAMtqW,KAAMyhS,cAAe7zK,EAAE6zK,cAAgB/lP,EAAE8uT,SAASF,GACnM,GAAmB,qBAAThoC,MACQ,iBAAPppD,EAAiB,CAC1B,GAAa,UAAVtrJ,EAAE5tH,MAA8B,UAAV4tH,EAAE5tH,KAAkB,OAAOk5Q,EACpDA,EAAM,IAAIv2Q,WAAWipT,GAAK1yC,GAC3B,CAGD,OAAGtrJ,EAAEzzH,UAAqC,qBAAlBswW,cAAsCL,GAAcK,cAAcvxF,EAAKtrJ,EAAEzzH,UAAWyzH,GAE9F,SAAXA,EAAE5tH,KAAwBqiU,GAASz0M,EAAEqxF,KAAMi6D,GAC7B,UAAVtrJ,EAAE5tH,KAAmBwlU,GAAgBtsD,GAAmBA,CAChE,CAQA,SAASwxF,GAAkBxxF,EAAgBn7P,EAAoB4sV,GAC1DA,IAAKA,EAAM,IACf,IAAI/8O,EAAI+8O,EAAMzxF,EACd,OAAOn7P,EAAK/d,MACX,IAAK,SAAU,OAAOkrT,GAAcqX,GAAU30M,IAC9C,IAAK,SAAU,OAAO20M,GAAU30M,GAChC,IAAK,SAAU,OAAOsrJ,EACtB,IAAK,OAAQ,OAAOmpD,GAAStkT,EAAKkhM,KAAMrxF,EAAG,QAC3C,IAAK,SACJ,OAAGy9L,GAAgBC,GAAY19L,EAAG,QACH,qBAAhBitC,aAAoC,IAAIA,aAAc3uJ,OAAO0hH,GAChE88O,GAAkB98O,EAAG,CAAC5tH,KAAK,WAAW2H,MAAM,IAAI+C,KAAI,SAASqV,GAAK,OAAOA,EAAEva,WAAW,EAAI,IAGxG,MAAM,IAAIhM,MAAM,qBAAuBukB,EAAK/d,KAC7C,CAiBA,SAAS4qW,GAAkB1xF,EAAKn7P,GAC/B,OAAOA,EAAK/d,MACX,IAAK,SACL,IAAK,SACL,IAAK,SAGJ,IAFA,IAAI8zT,EAAO,GAEHxyT,EAAI,EAAGA,EAAI43Q,EAAIz3Q,SAAUH,EAAGwyT,GAAQztT,OAAOuqC,aAAasoO,EAAI53Q,IACpE,MAAoB,UAAbyc,EAAK/d,KAAmBkrT,GAAc4I,GAAqB,UAAb/1S,EAAK/d,KAAmBwlU,GAAS1R,GAAQA,EAC/F,IAAK,OAAQ,OAAOuO,GAAStkT,EAAKkhM,KAAMi6D,GACxC,IAAK,SAAU,OAAOA,EACtB,QAAS,MAAM,IAAI1/Q,MAAM,qBAAuBukB,EAAK/d,MAEvD,CAWA,SAAS6qW,GAAUx2M,EAAiBt2I,GACnC4sS,KACA2tC,GAASjkM,GACT,IAAIzmC,EAAIm2M,GAAIhmT,GAAM,CAAC,GAEnB,GADG6vG,EAAEkqN,aAAclqN,EAAE4yN,QAAS,EAAM5yN,EAAEo+M,YAAa,GACtC,SAAVp+M,EAAE5tH,KAAiB,CAAE4tH,EAAE5tH,KAAO,SAAU,IAAIk5Q,EAAkB2xF,GAAUx2M,EAAIzmC,GAA+B,OAAlBA,EAAE5tH,KAAO,QAAgB4rT,GAAK1yC,EAAM,CAChI,IAAI93O,EAAM,EACV,GAAGwsF,EAAElgD,QAC2BtsC,EAAV,iBAAXwsF,EAAElgD,MAAyBkgD,EAAElgD,MAC5B2mF,EAAG+2K,WAAW7kU,QAAQqnH,EAAElgD,QAC/B2mF,EAAG+2K,WAAWhqS,IAAM,MAAM,IAAI5nC,MAAM,oBAAsBo0H,EAAElgD,MAAQ,aAAgBkgD,EAAElgD,OAE3F,OAAOkgD,EAAE0iN,UAAY,QACpB,IAAK,MACL,IAAK,OAAQ,OAAOo6B,GAAkB1P,GAAW3mM,EAAIzmC,GAAIA,GACzD,IAAK,MACL,IAAK,OAAQ,OAAO88O,GAAkB5wB,GAAKV,WAAW/kL,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,GACzF,IAAK,MACL,IAAK,OAAQ,OAAO88O,GAAkB5I,GAAcztM,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,GACvF,IAAK,MAAO,OA1Dd,SAAyBsrJ,EAAgBn7P,GACxC,OAAOA,EAAK/d,MACX,IAAK,SAAU,OAAOkrT,GAAchyC,GACpC,IAAK,SACL,IAAK,SAAU,OAAOA,EACtB,IAAK,OAAQ,OAAOmpD,GAAStkT,EAAKkhM,KAAMi6D,EAAK,UAC7C,IAAK,SACJ,OAAGmyC,GAAgBC,GAAYpyC,EAAK,UACxBA,EAAIvxQ,MAAM,IAAI+C,KAAI,SAASqV,GAAK,OAAOA,EAAEva,WAAW,EAAI,IAGtE,MAAM,IAAIhM,MAAM,qBAAuBukB,EAAK/d,KAC7C,CA8CqB8qW,CAAgBC,GAAa12M,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,GACnF,IAAK,MAAO,OAAO88O,GAAkBM,GAAa32M,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,EAAG,UACxF,IAAK,MAAO,OAAO88O,GAAkBjsB,GAAIrF,WAAW/kL,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,GACvF,IAAK,MAAO,OAAOg9O,GAAkB1yB,GAAIkB,WAAW/kL,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,GACvF,IAAK,MAAO,OAAO88O,GAAkBprB,GAAIlG,WAAW/kL,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,GACvF,IAAK,MAAO,OAAO88O,GAAkB9lB,GAAIxL,WAAW/kL,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,GACvF,IAAK,MAAO,OAAO88O,GAAkBzrB,GAAI7F,WAAW/kL,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,GACvF,IAAK,OAAQ,OAAO88O,GAAkBlH,GAAUnvM,EAAIzmC,GAAIA,GACxD,IAAK,MAAO,OAAOg9O,GAAkB/pB,GAAIuC,aAAa/uL,EAAGg3K,OAAOh3K,EAAG+2K,WAAWhqS,IAAOwsF,GAAIA,GACzF,IAAK,MAAO,OAAOg9O,GAAkB/pB,GAAI4C,YAAYpvL,EAAIzmC,GAAIA,GAC7D,IAAK,QAAaA,EAAEi8M,OAAMj8M,EAAEi8M,KAAO,GACnC,IAAK,QAAaj8M,EAAEi8M,OAAMj8M,EAAEi8M,KAAO,GACnC,IAAK,QAAiC,OAApBj8M,EAAEi8M,OAAMj8M,EAAEi8M,KAAO,GAAU+gC,GAAkBnP,GAAepnM,EAAIzmC,GAAIA,GACtF,IAAK,QAAaA,EAAEi8M,OAAMj8M,EAAEi8M,KAAO,GACnC,IAAK,QACL,IAAK,MACL,IAAK,MAA+B,OAApBj8M,EAAEi8M,OAAMj8M,EAAEi8M,KAAO,GAjGnC,SAAwBx1K,EAAiBt2I,GACxC,IAAI6vG,EAAI7vG,GAAM,CAAC,EAEf,OAAOqsV,GADoB7O,GAAalnM,EAAIzmC,GAClBA,EAC3B,CA6F6Cq9O,CAAe52M,EAAIzmC,GAC9D,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,MAAO,OA5Id,SAAwBymC,EAAiBt2I,GACxC,IAAI6vG,EAAIm2M,GAAIhmT,GAAM,CAAC,GAEnB,OAAOssV,GADClwC,GAAU9lK,EAAIzmC,GACSA,EAChC,CAwIqBs9O,CAAe72M,EAAIzmC,GACtC,QAAS,MAAM,IAAIp0H,MAAO,0BAA4Bo0H,EAAE0iN,SAAW,KAErE,CA6CA,SAAS66B,GAAcz9R,EAAqBlpB,EAAa6pE,EAAcs9I,EAAwBt6P,EAAmB2jU,EAAoBxJ,EAAmB59M,GACxJ,IAAI4I,EAAK2zM,GAAW97M,GAChB+8O,EAASx9O,EAAEw9O,OAAQjtG,EAAMvwI,EAAEuwI,MAAQvjQ,OAAO2E,UAAUsD,eAAehD,KAAK+tH,EAAG,OAC3Ey9O,GAAU,EACVhoK,EAA0B,IAAXhyL,EAAgB,GAAK,CAAC,EACzC,GAAc,IAAXA,EACF,GAAGzW,OAAO0D,eAAgB,IAAM1D,OAAO0D,eAAe+kM,EAAK,aAAc,CAACvoM,MAAMuzH,EAAGjnH,YAAW,GAAS,CAAE,MAAMiJ,IAAKgzL,EAAIioK,WAAaj9O,CAAG,MACnIg1E,EAAIioK,WAAaj9O,EAEvB,IAAIm9M,GAAS99P,EAAM2gD,GAAI,IAAK,IAAIN,EAAIvpE,EAAE/e,EAAE1lB,EAAGguG,GAAKvpE,EAAEn0C,EAAE0P,IAAKguG,EAAG,CAC3D,IAAIptH,EAAM6qU,EAAQ99P,EAAM2gD,GAAGN,GAAKrgD,EAAMi+L,EAAK59I,GAAKyI,GAChD,QAAW90H,IAARf,QAA+Be,IAAVf,EAAIkuC,EAA5B,CAKA,IAAIpP,EAAI9+B,EAAI8+B,EACZ,OAAO9+B,EAAIkuC,GACV,IAAK,IAAK,GAAQ,MAALpP,EAAW,MAAO,SAC/B,IAAK,IAAKA,EAAU,GAALA,EAAS,UAAO,EAAS,MACxC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MACxC,QAAS,MAAM,IAAIjmC,MAAM,qBAAuBmH,EAAIkuC,GAErD,GAAa,MAAVmmS,EAAIjnN,GAAY,CAClB,GAAQ,MAALtuF,EACF,GAAY,KAAT9+B,EAAIkuC,GAAkB,OAANpP,EAAY4jK,EAAI2xI,EAAIjnN,IAAM,UACxC,QAAcrsH,IAAX0pW,EAAsB/nK,EAAI2xI,EAAIjnN,IAAMq9O,MACvC,KAAGjtG,GAAa,OAAN1+N,EACV,SADsB4jK,EAAI2xI,EAAIjnN,IAAM,IAC5B,MAEbs1E,EAAI2xI,EAAIjnN,IAAMowI,IAAkB,MAAVx9P,EAAIkuC,GAAwB,MAAVluC,EAAIkuC,IAA8B,IAAjB++E,EAAE29O,YAAyB9rU,EAAIurS,GAAYrqU,EAAI8+B,EAAEmuF,GAEnG,MAALnuF,IAAW4rU,GAAU,EACzB,CAlBA,KAJA,CACC,QAAc3pW,IAAX0pW,EAAsB,SACZ,MAAVp2B,EAAIjnN,KAAcs1E,EAAI2xI,EAAIjnN,IAAMq9O,EAEpC,CAmBD,CACA,MAAO,CAAE/nK,IAAKA,EAAKgoK,QAASA,EAC7B,CAGA,SAAS/xB,GAAc5rQ,EAAqB3vD,GAC3C,GAAY,MAAT2vD,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAI/sE,EAAM,CAACkuC,EAAE,IAAIpP,EAAE,GAAIpuB,EAAS,EAAGijB,EAAS,EAAG0gT,EAAqB,GAAIv1S,EAAE,EAAG4yR,EAAG,GAC5E7tQ,EAAI,CAAC/e,EAAE,CAAC+e,EAAE,EAAEzkC,EAAE,GAAG1P,EAAE,CAACm0C,EAAE,EAAEzkC,EAAE,IAC1B6tG,EAAI7vG,GAAQ,CAAC,EACbmhD,EAAmB,MAAX0uD,EAAE1uD,MAAgB0uD,EAAE1uD,MAAQwO,EAAM,QAK9C,OAJgB,IAAbkgD,EAAEv8G,OAAcA,EAAS,EACP,MAAbu8G,EAAEv8G,OAAgBA,EAAS,EAC3BlR,MAAMD,QAAQ0tH,EAAEv8G,QAASA,EAAS,EACtB,MAAZu8G,EAAEv8G,SAAgBA,EAAS,UACrB6tD,GACb,IAAK,SAAU1a,EAAIomR,GAAkB1rQ,GAAQ,MAC7C,IAAK,UAAU1a,EAAIomR,GAAkBl9P,EAAM,UAAYjoC,EAAE+e,EAAI0a,EAAO,MACpE,QAAS1a,EAAI0a,EAEX7tD,EAAS,IAAGijB,EAAS,GACxB,IAAIkiG,EAAK2zM,GAAW3lR,EAAE/e,EAAE+e,GACpBmnN,EAAyB,GACzBuN,EAAqB,GACrBsyF,EAAO,EAAGpyS,EAAU,EACpBoyQ,EAAQrrU,MAAMD,QAAQwtE,GACtB2gD,EAAI7pE,EAAE/e,EAAE+e,EAAGupE,EAAI,EACf09O,EAAa,CAAC,EACfjgC,IAAU99P,EAAM2gD,KAAI3gD,EAAM2gD,GAAK,IAClC,IAAImuN,EAA6B5uN,EAAE89O,YAAch+R,EAAM,UAAY,GAC/D6uQ,EAA6B3uN,EAAE89O,YAAch+R,EAAM,UAAY,GACnE,IAAIqgD,EAAIvpE,EAAE/e,EAAE1lB,EAAGguG,GAAKvpE,EAAEn0C,EAAE0P,IAAKguG,EAC5B,KAAKyuN,EAAQzuN,IAAI,CAAC,GAAGuvN,OAGrB,OAFA3xE,EAAK59I,GAAKq8M,GAAWr8M,GACrBptH,EAAM6qU,EAAQ99P,EAAM2gD,GAAGN,GAAKrgD,EAAMi+L,EAAK59I,GAAKyI,GACrCnlH,GACN,KAAK,EAAG2jU,EAAIjnN,GAAKA,EAAIvpE,EAAE/e,EAAE1lB,EAAG,MAC5B,KAAK,EAAGi1T,EAAIjnN,GAAK49I,EAAK59I,GAAI,MAC1B,KAAK,EAAGinN,EAAIjnN,GAAKH,EAAEv8G,OAAO08G,EAAIvpE,EAAE/e,EAAE1lB,GAAI,MACtC,QAIC,GAHU,MAAPpf,IAAaA,EAAM,CAACsS,EAAG,UAAW47B,EAAG,MACxCwjR,EAAK5yR,EAAIurS,GAAYrqU,EAAK,KAAMitH,GAChCx0D,EAAUqyS,EAAWhsU,IAAM,EAEtB,CACJ,GAAK4yR,EAAK5yR,EAAI,IAAO25B,UAAoBqyS,EAAWp5C,IAAMo5C,EAAWhsU,GAAK25B,EAC1EqyS,EAAWp5C,GAAM,CAClB,MAJao5C,EAAWhsU,GAAK,EAK7Bu1S,EAAIjnN,GAAKskM,EAGZ,IAAKhkM,EAAI7pE,EAAE/e,EAAE+e,EAAIlwB,EAAQ+5F,GAAK7pE,EAAEn0C,EAAEm0C,IAAK6pE,EACtC,KAAKkuN,EAAQluN,IAAI,CAAC,GAAGivN,OAArB,CACA,IAAIj6I,EAAM8nK,GAAcz9R,EAAOlpB,EAAG6pE,EAAGs9I,EAAMt6P,EAAQ2jU,EAAKxJ,EAAO59M,KAC3C,IAAhBy1E,EAAIgoK,UAAkC,IAAXh6V,GAA+B,IAAhBu8G,EAAE+9O,UAAwB/9O,EAAE+9O,cAAYzyF,EAAIsyF,KAAUnoK,EAAIA,IAFnE,CAKtC,OADA61E,EAAIz3Q,OAAS+pW,EACNtyF,CACR,CAEA,IAAI0yF,GAAO,KACX,SAASC,GAAan+R,EAAqBlpB,EAAa6pE,EAAcs9I,EAAwBqoD,EAAe83C,EAAejsB,EAAejyN,GAG1I,IAFA,IAAIy9O,GAAU,EACVhoK,EAAwB,GAAI0oK,EAAM,GAAIv1O,EAAK2zM,GAAW97M,GAClDN,EAAIvpE,EAAE/e,EAAE1lB,EAAGguG,GAAKvpE,EAAEn0C,EAAE0P,IAAKguG,EAChC,GAAK49I,EAAK59I,GAAV,CACA,IAAIptH,EAAMitH,EAAE49M,OAAS99P,EAAM2gD,IAAI,IAAIN,GAAIrgD,EAAMi+L,EAAK59I,GAAKyI,GACvD,GAAU,MAAP71H,EAAaorW,EAAM,QACjB,GAAY,MAATprW,EAAI8+B,EAAW,CACtB4rU,GAAU,EACVU,EAAM,IAAIn+O,EAAE29O,YAAuB,KAAT5qW,EAAIkuC,EAAWluC,EAAI8+B,EAAIurS,GAAYrqU,EAAK,KAAMitH,IACxE,IAAI,IAAItsH,EAAI,EAAGk6J,EAAK,EAAGl6J,IAAMyqW,EAAItqW,SAAUH,EAAG,IAAIk6J,EAAKuwM,EAAIvmW,WAAWlE,MAAQ0yT,GAAMx4J,IAAOswM,GAAa,KAAPtwM,GAAa5tC,EAAEo+O,YAAa,CAACD,EAAM,IAAOA,EAAI1mW,QAAQumW,GAAM,MAAQ,IAAM,KAAO,CACxK,MAAPG,IAAaA,EAAM,OACvB,MAAmB,MAATprW,EAAIglC,GAAchlC,EAAIk7C,EAGzBkwT,EAAM,IAFZV,GAAU,GACVU,EAAM,IAAMprW,EAAIglC,GAAUp/B,QAAQ,MAAQ,IAAGwlW,EAAM,IAAMA,EAAI1mW,QAAQumW,GAAM,MAAQ,MAGpFvoK,EAAIp8L,KAAK8kW,EAba,CAevB,OAAmB,IAAhBn+O,EAAE+9O,WAAuBN,EAAgB,KACrChoK,EAAI14L,KAAKk1U,EACjB,CAEA,SAASmrB,GAAat9R,EAAqB3vD,GAC1C,IAAIm7P,EAAwB,GACxBtrJ,EAAY,MAAR7vG,EAAe,CAAC,EAAIA,EAC5B,GAAY,MAAT2vD,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAIlpB,EAAIomR,GAAkBl9P,EAAM,SAC5BmyQ,OAAcn+U,IAATksH,EAAEiyN,GAAmBjyN,EAAEiyN,GAAK,IAAK7rB,EAAK6rB,EAAGr6U,WAAW,GACzDy4U,OAAcv8U,IAATksH,EAAEqwN,GAAmBrwN,EAAEqwN,GAAK,KAAM6tB,EAAK7tB,EAAGz4U,WAAW,GAC1DymW,EAAW,IAAI12V,QAAY,KAAJsqU,EAAU,MAAQA,GAAI,MAC7Cx8I,EAAM,GAAIsoE,EAAyB,GACvC/9I,EAAE49M,MAAQrrU,MAAMD,QAAQwtE,GAGxB,IAFA,IAAI8uQ,EAA6B5uN,EAAE89O,YAAch+R,EAAM,UAAY,GAC/D6uQ,EAA6B3uN,EAAE89O,YAAch+R,EAAM,UAAY,GAC3DqgD,EAAIvpE,EAAE/e,EAAE1lB,EAAGguG,GAAKvpE,EAAEn0C,EAAE0P,IAAKguG,GAAUyuN,EAAQzuN,IAAI,CAAC,GAAGuvN,SAAS3xE,EAAK59I,GAAKq8M,GAAWr8M,IAEzF,IADA,IAAI96G,EAAI,EACAo7G,EAAI7pE,EAAE/e,EAAE+e,EAAG6pE,GAAK7pE,EAAEn0C,EAAEm0C,IAAK6pE,GAC3BkuN,EAAQluN,IAAI,CAAC,GAAGivN,QAEX,OADVj6I,EAAMwoK,GAAan+R,EAAOlpB,EAAG6pE,EAAGs9I,EAAMqoD,EAAI83C,EAAIjsB,EAAIjyN,MAE/CA,EAAEs+O,QAAO7oK,EAAMA,EAAIh+L,QAAQ4mW,EAAS,MACpC5oK,IAAwB,IAAhBz1E,EAAE+9O,YAAsBzyF,EAAIjyQ,MAAMgM,IAAMgrU,EAAK,IAAM56I,IAG/D,cADOz1E,EAAE49M,MACFtyD,EAAIvuQ,KAAK,GACjB,CAEA,SAASogW,GAAar9R,EAAqB3vD,GACtCA,IAAMA,EAAO,CAAC,GAAGA,EAAK8hU,GAAK,KAAM9hU,EAAKkgU,GAAK,KAC/C,IAAIx4S,EAAIulU,GAAat9R,EAAO3vD,GAC5B,GAAsB,oBAAZ8sS,IAAwC,UAAb9sS,EAAK/d,KAAkB,OAAOylC,EACnE,IAAImoF,EAAIi9L,GAASrhT,MAAM0C,OAAO,KAAMu5B,EAAG,OACvC,OAAOp/B,OAAOuqC,aAAa,KAAOvqC,OAAOuqC,aAAa,KAAOg9E,CAC9D,CAoCA,SAASu+O,GAAe5gC,EAAoB6gC,EAAmBruV,GAC9D,IAWIulL,EAXA11E,EAAI7vG,GAAQ,CAAC,EACbuW,IAAWs5F,EAAEy+O,WACb5gC,EAAmBF,GAAQ,CAAC,EAC5BG,EAAK,EAAGC,EAAK,EACjB,GAAGF,GAAkB,MAAZ79M,EAAE9qF,OACV,GAAsB,iBAAZ8qF,EAAE9qF,OAAoB4oS,EAAK99M,EAAE9qF,WAClC,CACJ,IAAIsvC,EAA6C,iBAAZw7C,EAAE9qF,OAAqB2nS,GAAY78M,EAAE9qF,QAAU8qF,EAAE9qF,OACtF4oS,EAAKt5P,EAAQ5tB,EAAGmnR,EAAKv5P,EAAQryD,CAC9B,CAGD,IAAIm/C,EAAmB,CAACz5B,EAAG,CAAC1lB,EAAE,EAAGykC,EAAE,GAAIn0C,EAAG,CAAC0P,EAAE4rT,EAAInnR,EAAEknR,EAAK0gC,EAAG3qW,OAAS,EAAI6yB,IACxE,GAAGm3S,EAAG,QAAS,CACd,IAAIG,EAAShB,GAAkBa,EAAG,SAClCvsQ,EAAM7uD,EAAE0P,EAAI7iB,KAAKk3B,IAAI8qC,EAAM7uD,EAAE0P,EAAG6rT,EAAOv7T,EAAE0P,GACzCm/C,EAAM7uD,EAAEm0C,EAAItnD,KAAKk3B,IAAI8qC,EAAM7uD,EAAEm0C,EAAGonR,EAAOv7T,EAAEm0C,IAC/B,GAAPknR,IAAYA,EAAKE,EAAOv7T,EAAEm0C,EAAI,EAAG0a,EAAM7uD,EAAEm0C,EAAIknR,EAAK0gC,EAAG3qW,OAAS,EAAI6yB,EACtE,MACW,GAAPo3S,IAAYA,EAAK,EAAGxsQ,EAAM7uD,EAAEm0C,EAAI4nT,EAAG3qW,OAAS,EAAI6yB,GAEpD,IAAI0gT,EAAwBpnN,EAAEv8G,QAAU,GAAI08G,EAAI,EAEhDq+O,EAAGhrW,SAAQ,SAAUkrW,EAAIj+O,GACxBxsH,GAAKyqW,GAAIlrW,SAAQ,SAAS+qC,IACC,IAAtB4hF,EAAEinN,EAAIzuU,QAAQ4lC,MAAW6oS,EAAIjnN,EAAEinN,EAAIvzU,QAAU0qC,GACjD,IAAI1M,EAAI6sU,EAAGngU,GACP0C,EAAI,IACJ6M,EAAI,GACJ6nE,EAAMymN,GAAY,CAACjqT,EAAE4rT,EAAK59M,EAAEvpE,EAAEknR,EAAKr9M,EAAI/5F,IAC3CgvK,EAAOipK,GAAiB9gC,EAAIloN,IACzB9jF,GAAkB,kBAANA,GAAoBA,aAAa3jC,MAGhC,iBAAL2jC,EAAeoP,EAAI,IACT,kBAALpP,EAAgBoP,EAAI,IACf,iBAALpP,EAAeoP,EAAI,IAC1BpP,aAAa3jC,MACpB+yC,EAAI,IACA++E,EAAEq+M,YAAap9R,EAAI,IAAKpP,EAAIyjS,GAAQzjS,IACxCic,EAAKkyE,EAAEokM,QAAUpF,GAAU,KAEd,OAANntR,GAAcmuF,EAAEm+M,YAAal9R,EAAI,IAAKpP,EAAI,GAC9C6jK,GAEHA,EAAKz0J,EAAIA,EAAGy0J,EAAK7jK,EAAIA,SACd6jK,EAAKrwL,SAAUqwL,EAAKj1E,EACxB3yE,IAAG4nJ,EAAK5nJ,EAAIA,IAJN+vR,EAAGloN,GAAO+/E,EAAQ,CAACz0J,EAAEA,EAAGpP,EAAEA,GAMjCic,IAAG4nJ,EAAK5nJ,EAAIA,IAjBf+vR,EAAGloN,GAAO9jF,CAmBZ,GACD,IACAy/B,EAAM7uD,EAAE0P,EAAI7iB,KAAKk3B,IAAI8qC,EAAM7uD,EAAE0P,EAAG4rT,EAAKqJ,EAAIvzU,OAAS,GAClD,IAAIoqU,EAAM1B,GAAWuB,GACrB,GAAGp3S,EAAQ,IAAIy5F,EAAI,EAAGA,EAAIinN,EAAIvzU,SAAUssH,EAAG09M,EAAGrB,GAAWr8M,EAAI49M,GAAME,GAAO,CAACh9R,EAAE,IAAKpP,EAAEu1S,EAAIjnN,IAExF,OADA09M,EAAG,QAAUd,GAAazrQ,GACnBusQ,CACR,CAIA,SAAS8gC,GAAiB9gC,EAAkBp9M,EAAGN,GAE9C,GAAe,iBAALM,EAAe,CAExB,GAAGluH,MAAMD,QAAQurU,GAAK,CACrB,IAAI+gC,EAAK/hC,GAAYp8M,GAErB,OADIo9M,EAAG+gC,EAAGhoT,KAAIinR,EAAG+gC,EAAGhoT,GAAK,IAClBinR,EAAG+gC,EAAGhoT,GAAGgoT,EAAGzsV,KAAO0rT,EAAG+gC,EAAGhoT,GAAGgoT,EAAGzsV,GAAK,CAAC8uB,EAAE,KAC/C,CACA,OAAO48R,EAAGp9M,KAAOo9M,EAAGp9M,GAAK,CAACx/E,EAAE,KAC7B,CAEA,OAAgC09T,GAAiB9gC,EAAIzB,GAAtC,iBAAL37M,EAAuDA,EAEzB,CAAC7pE,EAAE6pE,EAAEtuG,EAAEguG,GAAG,IACnD,CAeA,SAAS0+O,KACR,MAAO,CAAErhC,WAAY,GAAIC,OAAQ,CAAC,EACnC,CAGA,SAASqhC,GAAkBr4M,EAAiBo3K,EAAkBloU,EAAkBopW,GAC/E,IAAIrrW,EAAI,EACR,IAAIiC,EAAM,KAAMjC,GAAK,QAAgF,GAA9C+yJ,EAAG+2K,WAAW7kU,QAAQhD,EAAO,QAAUjC,KAA/DA,EAAGiC,OAAO7B,GACzC,IAAI6B,GAAQ8wJ,EAAG+2K,WAAW3pU,QAAU,MAAQ,MAAM,IAAIjI,MAAM,uBAC5D,GAAGmzW,GAAQt4M,EAAG+2K,WAAW7kU,QAAQhD,IAAS,EAAG,CAC5C,IAAIsE,EAAItE,EAAK8I,MAAM,gBACnB/K,EAAIuG,IAAMA,EAAE,IAAM,EAClB,IAAI4+D,EAAO5+D,GAAKA,EAAE,IAAMtE,EACxB,MAAMjC,EAAGA,GAAK,QAA2D,GAA3C+yJ,EAAG+2K,WAAW7kU,QAAQhD,EAAOkjE,EAAOnlE,KAA1CA,GACzB,CAEA,GADA62V,GAAc50V,GACX8wJ,EAAG+2K,WAAW7kU,QAAQhD,IAAS,EAAG,MAAM,IAAI/J,MAAM,wBAA0B+J,EAAO,qBAItF,OAFA8wJ,EAAG+2K,WAAWnkU,KAAK1D,GACnB8wJ,EAAGg3K,OAAO9nU,GAAQkoU,EACXloU,CACR,CA0BA,SAASqpW,GAAmBtpK,EAAex6L,EAAmB8rV,GAO7D,OANI9rV,GAGHw6L,EAAK/hM,EAAK,CAAEgxU,OAAQzpU,GACjB8rV,IAAStxJ,EAAK/hM,EAAEq2U,QAAUgd,WAHtBtxJ,EAAK/hM,EAKN+hM,CACR,CA0BA,IAAI95L,GAAgB,CACnB4gU,WAAYA,GACZD,WAAYA,GACZH,YAAaA,GACbW,aAAcA,GACdJ,WAAYA,GACZF,WAAYA,GACZwiC,WAjxnBD,SAAoBzzC,GAAqC,OAAOA,EAAK/zT,QAAQ,sBAAsB,SAASsC,MAAM,IAAM,EAkxnBvH8iU,YAAaA,GACbC,aAAcA,GACdM,YAAaA,GACbM,cAAeA,GACf6gC,eAAgBA,GAChBpK,cAAeA,GACf51B,aAAcA,GACd2gC,cAjID,SAAuBV,EAAmBruV,GAAsB,OAAOouV,GAAe,KAAMC,EAAIruV,EAAO,EAkItGgvV,eAAgBxK,GAChByK,cAvvGD,SAAuBhkL,EAAuBjrK,GAC7C,OAAOmtT,GAAkBq3B,GAAgBv5K,EAAOjrK,GAAOA,EACxD,EAsvGCitV,aAAcA,GACdD,aAAcA,GACdzxB,cAAeA,GACfwoB,cAAeA,GACfmL,kBAtOD,SAA2Bv/R,GAC1B,IAAYvmD,EAARC,EAAI,GAAOzmB,EAAI,GACnB,GAAY,MAAT+sE,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAgFqgD,EAA5EvpE,EAAIomR,GAAkBl9P,EAAM,SAAU8oD,EAAK,GAAIm1I,EAAyB,GACxEuhG,EAAyB,GACzB1hC,EAAQrrU,MAAMD,QAAQwtE,GAC1B,IAAIqgD,EAAIvpE,EAAE/e,EAAE1lB,EAAGguG,GAAKvpE,EAAEn0C,EAAE0P,IAAKguG,EAAG49I,EAAK59I,GAAKq8M,GAAWr8M,GACrD,IAAI,IAAIM,EAAI7pE,EAAE/e,EAAE+e,EAAG6pE,GAAK7pE,EAAEn0C,EAAEm0C,IAAK6pE,EAEhC,IADAmI,EAAK2zM,GAAW97M,GACZN,EAAIvpE,EAAE/e,EAAE1lB,EAAGguG,GAAKvpE,EAAEn0C,EAAE0P,IAAKguG,EAI5B,GAHA3mG,EAAIukP,EAAK59I,GAAKyI,EAEd71H,EAAM,QACGe,KAFTylB,EAAIqkT,GAAS99P,EAAM2gD,IAAI,IAAIN,GAAKrgD,EAAMtmD,IAEtC,CACK,GAAU,MAAPD,EAAE00B,EAAW,CAEpB,GADAz0B,EAAID,EAAE00B,GACF10B,EAAEwe,EAAG,SACThlC,EAAMwmB,EAAEwe,GACc,GAAnBve,EAAE7gB,QAAQ,OAAY6gB,EAAIA,EAAI,IAAMA,EACxC,CACA,GAAU,MAAPD,EAAEwe,EAAWhlC,EAAMwmB,EAAEwe,MACnB,IAAU,KAAPxe,EAAE0nB,EAAU,SACf,GAAU,KAAP1nB,EAAE0nB,GAAmB,MAAP1nB,EAAEsY,EAAW9+B,EAAM,GAAKwmB,EAAEsY,OAC3C,GAAU,KAAPtY,EAAE0nB,EAAUluC,EAAMwmB,EAAEsY,EAAI,OAAS,aACpC,QAAW/9B,IAARylB,EAAElU,EAAiBtS,EAAM,IAAMwmB,EAAElU,MACpC,SAAWvR,IAARylB,EAAEsY,EAAiB,SACP9+B,EAAL,KAAPwmB,EAAE0nB,EAAgB,IAAM1nB,EAAEsY,EACvB,GAAGtY,EAAEsY,CAAC,EACjBytU,EAAKA,EAAKzrW,QAAU2lB,EAAI,IAAMzmB,CAT9B,CAYF,OAAOusW,CACR,EAuMCC,0BAA2B7zB,GAC3B8zB,eAAgBb,GAChBE,SAAUA,GACVC,kBAAmBA,GACnBW,0BApFD,SAAmCh5M,EAAiB2f,EAAsBs5L,GACrEj5M,EAAGy+L,WAAUz+L,EAAGy+L,SAAW,CAAC,GAC5Bz+L,EAAGy+L,SAASznB,SAAQh3K,EAAGy+L,SAASznB,OAAS,IAE7C,IAAIjqS,EAxCL,SAAsBizH,EAAiB2f,GACtC,GAAgB,iBAANA,EAAgB,CACzB,GAAGA,GAAM,GAAK3f,EAAG+2K,WAAW3pU,OAASuyK,EAAI,OAAOA,EAChD,MAAM,IAAIx6K,MAAM,uBAAyBw6K,EAC1C,CAAO,GAAgB,iBAANA,EAAgB,CAChC,IAAI5yI,EAAMizH,EAAG+2K,WAAW7kU,QAAQytK,GAChC,GAAG5yI,GAAO,EAAG,OAAOA,EACpB,MAAM,IAAI5nC,MAAM,2BAA6Bw6K,EAAK,IACnD,CAAO,MAAM,IAAIx6K,MAAM,sBAAwBw6K,EAAK,IACrD,CA+BWu5L,CAAal5M,EAAI2f,GAI3B,OAFI3f,EAAGy+L,SAASznB,OAAOjqS,KAAMizH,EAAGy+L,SAASznB,OAAOjqS,GAAO,CAAC,GAEjDksU,GACN,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,MACxB,QAAS,MAAM,IAAI9zW,MAAM,gCAAkC8zW,GAG5Dj5M,EAAGy+L,SAASznB,OAAOjqS,GAAKy3T,OAASyU,CAClC,EAuECE,uBApED,SAAgClqK,EAAeqrH,GAE9C,OADArrH,EAAK5nJ,EAAIizQ,EACFrrH,CACR,EAkECspK,mBAAoBA,GACpBa,uBAvDD,SAAgCnqK,EAAepkI,EAAkB01R,GAAuB,OAAOgY,GAAmBtpK,EAAM,IAAMpkI,EAAO01R,EAAU,EAwD9I8Y,iBArDD,SAA0BpqK,EAAetjI,EAAiBwrN,GACrDloF,EAAKvjL,IAAGujL,EAAKvjL,EAAI,IACrBujL,EAAKvjL,EAAE9Y,KAAK,CAAC4nC,EAAEmxB,EAAM76D,EAAEqmR,GAAQ,WAChC,EAmDCmiF,wBAhDD,SAAiCliC,EAAkBvsQ,EAAO+9Q,EAAoB2wB,GAG7E,IAFA,IAAIC,EAAsB,iBAAT3uS,EAAoBA,EAAQ0rQ,GAAkB1rQ,GAC3D4uS,EAAyB,iBAAT5uS,EAAoBA,EAAQyrQ,GAAazrQ,GACrDmvD,EAAIw/O,EAAIpoU,EAAE+e,EAAG6pE,GAAKw/O,EAAIx9V,EAAEm0C,IAAK6pE,EAAG,IAAI,IAAIN,EAAI8/O,EAAIpoU,EAAE1lB,EAAGguG,GAAK8/O,EAAIx9V,EAAE0P,IAAKguG,EAAG,CAC/E,IAAIu1E,EAAOipK,GAAiB9gC,EAAIp9M,EAAGN,GACnCu1E,EAAKz0J,EAAI,IACTy0J,EAAKznJ,EAAIiyT,SACFxqK,EAAK7jK,EACT4uF,GAAKw/O,EAAIpoU,EAAE+e,GAAKupE,GAAK8/O,EAAIpoU,EAAE1lB,IAC7BujL,EAAK39J,EAAIs3S,EACN2wB,IAAStqK,EAAKz1E,GAAI,GAEvB,CACA,OAAO49M,CACR,EAmCC7Q,OAAQ,CACPmzC,cAAe,EACfC,aAAc,EACdC,kBAAmB,IAoIE9jD,GAAKxsS,SCngwB2C,SAAStN,EAAEw+B,QAAG,IAASA,IAAIA,EAAE,CAAC,GAAG,IAAI++E,EAAE/+E,EAAE+qL,SAAS,GAAGvpN,GAAG,oBAAoBhC,SAAS,CAAC,IAAIo3B,EAAEp3B,SAASkJ,MAAMlJ,SAASqoN,qBAAqB,QAAQ,GAAGjzL,EAAEp1B,SAAS+H,cAAc,SAASqtB,EAAEzjC,KAAK,WAAW,QAAQ4tH,GAAGnoF,EAAEo6B,WAAWp6B,EAAE+pC,aAAa/rC,EAAEgC,EAAEo6B,YAAYp6B,EAAE25B,YAAY37B,GAAGA,EAAEkzL,WAAWlzL,EAAEkzL,WAAW9oJ,QAAQx9D,EAAEozB,EAAE27B,YAAY/wD,SAAS4gE,eAAe5+D,GAAG,CAAC,CAA9V,CAAgW,yIAAyI,IAAMo1B,GAAE,SAAAjyB,GAAA,IAAOq7B,EAACr7B,EAAN9a,KAAak1H,EAACp6G,EAAPu4B,MAAiBtG,EAACjyB,EAAV5J,SAAwBzE,EAACqO,EAAd06V,aAAYC,EAAA36V,EAAG46V,SAAS7sW,OAAC,IAAA4sW,EAAC,UAASA,EAAgBpjU,EAACv3B,EAAhB66V,eAAc,OAAMh+V,EAAAA,cAAgB,MAAM,KAAKA,EAAAA,cAAgB,SAAS,CAACk4D,UAAS,GAAAtvE,OAAIkM,EAAC,oBAAmBm0H,QAAQ,kBAAI71F,GAAEoL,EAAEpJ,EAAEsF,EAAE,EAAC6pB,MAAM,CAAC7B,WAAWxxD,IAAIqsH,GAAG,YAAY,EAACnqF,GAAE,SAACpzB,EAAEo1B,EAAEhC,GAAK,IAAMt+B,EAAE,CAACkmU,OAAO,CAAC,EAAED,WAAW,IAAI,GAAG3nS,EAAEpzB,EAAEjP,SAAS,SAAAiP,GAAI,IAAgBw+B,EAAax+B,EAAvBi+V,UAAoB7oU,EAAGp1B,EAAXm+F,QAAa/qE,EAAEmqF,GAAAA,cAAsBnoF,GAAGtgC,EAAEkmU,OAAOx8R,GAAGpL,EAAEt+B,EAAEimU,WAAWnkU,KAAK4nC,EAAE,QAAQ,CAAC,IAAMA,EAAE++E,GAAAA,cAAsBv9G,GAAGlL,EAAEkmU,OAAO3yU,KAAKm2C,EAAE1pC,EAAEimU,WAAWnkU,KAAK,OAAO,CAAC,IAAM1F,EAAEqsH,GAAQzoH,EAAE,CAACmrU,SAAS,OAAOtwU,KAAK,UAAU+qC,EAAE,IAAIx/B,KAAK,CAAChK,GAAG,CAACvB,KAAK,oFAAoF6uC,KAAE9D,EAAEtF,EAAE,QAAQ,EC0OxrC,GArOqB,SAACtpC,GACpB,IACE22P,EAQE32P,EARF22P,OACAC,EAOE52P,EAPF42P,aACAr6P,EAMEyD,EANFzD,KACA67Q,EAKEp4Q,EALFo4Q,MACA//I,EAIEr4H,EAJFq4H,KACA+5O,EAGEpyW,EAHFoyW,MACAC,EAEEryW,EAFFqyW,YACAxiG,EACE7vQ,EADF6vQ,YAGIpuJ,EADIh3F,EAAQ,KACJi3F,MAAMnlH,GAAM,SAAC+1W,GAAS,OAAKtmW,OAAOsmW,EAAU95F,aAAa,IACjEnB,GAAWnrP,EAAAA,EAAAA,QAAO,MAcxB,OACE5rB,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UACEw5O,EAAAA,EAAAA,MAAC6V,GAAK,CAACvtC,KAAM40C,EAAQhG,OAAQiG,EAAczqP,KAAK,KAAIlM,SAAA,EAClDK,EAAAA,EAAAA,KAACgvP,GAAAA,OAAY,CAAC7pC,aAAW,EAAAxlN,UACvBw5O,EAAAA,EAAAA,MAAC6V,GAAAA,MAAW,CAAArvP,SAAA,CAAC,mBACIK,EAAAA,EAAAA,KAAA,UAAAL,SAASo4H,IAAc,QAAI/3H,EAAAA,EAAAA,KAAA,UAAAL,SAASmyW,IAAgB,UAIvE34H,EAAAA,EAAAA,MAAC6V,GAAAA,KAAU,CAAArvP,SAAA,EACTw5O,EAAAA,EAAAA,MAAC4I,GAAM,CAACj2K,UAAU,OAAO+wD,QAvBd,WAEjB,IAAK,IAAIh4H,EAAI,EAAGA,EAAI5I,EAAK+I,OAAQH,IAC7B,IAAK,IAAImqC,EAAI,EAAGA,EAAI8oO,EAAM9yQ,OAAQgqC,IAC9B/yC,EAAKuO,KAAK,CACNu7P,SAAU+R,EAAM9oO,GAAGijU,YAK7BC,GAAcj2W,EAAM,mBACxB,EAYqD0D,SAAA,CAC1C,IAAI,kBACW,QAElBK,EAAAA,EAAAA,KAAC+hP,GAAM,CACLj2K,UAAU,YACV+wD,QAAS,kBAAMs1O,GAAYp7F,EAAU,CAAE9rF,SAAS,GAADzuL,OAAKu7H,EAAI,SAAS,EAACp4H,SACnE,mBAGDK,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,OAAKryH,IAAKiwJ,EAAU9lQ,GAAG,aAAYtR,SAAA,EACjCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAA+BnsE,UAC5Cw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,CAAI,sBACeo4H,EAAK,OAAK+5O,EAAO,UAGtC34H,EAAAA,EAAAA,MAAC4f,GAAK,CAACK,YAAU,EAAAz5P,SAAA,EACfK,EAAAA,EAAAA,KAAA,SAAAL,UACEw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL/P,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,aAEVK,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL/P,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,kBAEVK,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL/P,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,oBAEVK,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL/P,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,WAEVK,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL0oB,WAAY,WACZz4B,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,mBAEVK,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL/P,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,UAAAL,SAAS4vQ,OAEXvvQ,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACLU,QAAQ,GAADr8D,OAAKu1W,GACZ3pT,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,cAEVK,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL/P,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,oBAEVK,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL/P,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,kBAIdw5O,EAAAA,EAAAA,MAAA,SAAAx5O,SAAA,CACG1D,EAAKgS,KAAI,SAAC60B,GACT,IAAK,IAAIj+B,EAAI,EAAGA,EAAIizQ,EAAMzsP,QAAQrmB,OAAQH,IACpCizQ,EAAMzsP,QAAQxmB,GAAGutW,WAAatvU,EAAKouO,YACrCpuO,EAAKijO,SAAW+R,EAAMzsP,QAAQxmB,GAAGkhQ,UAGrC,OACE5sB,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAEoB,SAAU,IAAK55D,UAC1BK,EAAAA,EAAAA,KAAA,UAAAL,SAASmjC,EAAKq1O,kBAEhBn4Q,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE0oB,WAAY,WAAYtnB,SAAU,IAAK55D,UAClDw5O,EAAAA,EAAAA,MAAA,UAAAx5O,SAAA,CACGmjC,EAAK+zN,IAAI,IAAE/zN,EAAKg0N,IAAI,IAAEh0N,EAAKm1O,oBAGhCj4Q,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE0oB,WAAY,WAAYtnB,SAAU,IAAK55D,UAClDK,EAAAA,EAAAA,KAAA,UAAAL,SAASmjC,EAAKgxO,iBAEhB9zQ,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAEoB,SAAU,IAAK55D,UAC1BK,EAAAA,EAAAA,KAAA,UAAAL,SAASmjC,EAAKixO,SAEhB56B,EAAAA,EAAAA,MAAA,MAAIhhL,MAAO,CAAE0oB,WAAY,WAAYtnB,SAAU,IAAK55D,SAAA,EAClDK,EAAAA,EAAAA,KAAA,UAAAL,SAASmjC,EAAKijO,WAAmB,QAEnC/lQ,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAEoB,SAAU,IAAK55D,UAC1BK,EAAAA,EAAAA,KAAA,UAAAL,SAASmjC,EAAKysO,iBAEhBvvQ,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAEU,QAAQ,GAADr8D,OAAKu1W,GAAex4S,SAAU,IAAK55D,UACrDK,EAAAA,EAAAA,KAAA,UAAAL,SAASmjC,EAAK+wO,yBAEhB7zQ,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAEoB,SAAU,IAAK55D,UAC1BK,EAAAA,EAAAA,KAAA,UAAAL,SAASmjC,EAAKmxO,iBAEhBj0Q,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE0oB,WAAY,WAAYtnB,SAAU,IAAK55D,UAClDK,EAAAA,EAAAA,KAAA,UAAAL,SAASmjC,EAAKo1O,mBA5BTp1O,EAAKouO,UAgClB,KACA/3B,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,UACAA,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAEU,QAAQ,GAADr8D,OAAKu1W,OACzB/xW,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL/P,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,QAAAL,SAAM,aAERK,EAAAA,EAAAA,KAAA,MACEm4D,MAAO,CACL/P,MAAO,QACPyK,gBAAiB,SACjB0G,SAAU,IACV55D,UAEFK,EAAAA,EAAAA,KAAA,QAAAL,SAAOwhH,gBAMfg4H,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,gDAA+CnsE,SAAA,EAC5DK,EAAAA,EAAAA,KAAA,OAAKm4D,MAAO,CAAEprC,MAAO,OAASq3C,IAAI,gCAClCpkE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,kBAAiBnsE,SAAC,sBAClCK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,mCASjD,EC7NO86P,GAAc,SAACC,EAASzqO,GAC7B,MACO,SADCA,EAAM1sB,KAEH,CACL01O,QAAQ,EACRsd,cAAetmO,EAAMsmO,cACrBoE,eAAgB1qO,EAAM0qO,iBAK1BlrB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,GAEjC,EAmbE,GAlbgB,WACd,IAAAN,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACzDxhB,QAAQ,EACR0hB,eAAgB,KAChBpE,cAAe,OACf3d,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GAJKlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,GAK/B1F,GAA8Bh7E,EAAAA,EAAAA,WAAS,GAAKi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAArCpiK,EAAOqiK,EAAA,GAAE04B,EAAU14B,EAAA,GAE1BG,GAA+Bp7E,EAAAA,EAAAA,UAAS,IAAGq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAApCkjC,EAAUjjC,EAAA,GAAE/qF,EAAQ+qF,EAAA,GAC3BG,GAAwBx7E,EAAAA,EAAAA,UAAS,IAAGy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAA7Bz3O,EAAI03O,EAAA,GAAE8iC,EAAO9iC,EAAA,GACpBG,GAA0B57E,EAAAA,EAAAA,UAAS,IAAG67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAA/BgkC,EAAK/jC,EAAA,GAAEs+H,EAAQt+H,EAAA,GAChBu+H,GAAQ1mV,EAAAA,EAAAA,UACR0lI,GAAU0G,EAAAA,EAAAA,UAAS,kBAAMwzG,EAAO,GAAE,IAClCoL,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAsM,EAAAz9P,EAAAzD,EAAA,OAAAjJ,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,OAM9B,OAN8BirD,EAAAlrD,KAAA,EAGzB2pQ,EAAW,CACfuK,YAAa,aACbC,SAAU,cACXjpN,EAAAjrD,KAAA,EAEoB4zQ,GAAmBlK,GAAU,KAAD,EACjD,IADMz9P,EAAMg/C,EAAA1qD,KACHiI,EAAI,EAAGA,EAAIyD,EAAOtD,OAAQH,IACH,GAA1ByD,EAAOzD,GAAG0tW,QAAQt2W,KACpBqM,EAAOzD,GAAG0tW,QAAQt2W,KAAO,cAEzBqM,EAAOzD,GAAG0tW,QAAQt2W,KAAO,UACzBqM,EAAOzD,GAAGqzQ,aAAa,GAK3BzB,GAAO5sO,EAAAA,GAAAA,GAAKvhC,IACZkgJ,EAAS,CACP8nH,YAAc,aACdC,SAAU,eAGZ1E,GAAW,GAAOvkN,EAAAjrD,KAAA,iBAAAirD,EAAAlrD,KAAA,GAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAElBtpD,QAAQC,IAAGqpD,EAAA8wJ,IACXyzD,GAAW,GAAO,yBAAAvkN,EAAAnqD,OAAA,GAAAs8P,EAAA,qBAGtB35P,EAAAA,EAAAA,YAAU,WACR82Q,GACF,GAAG,IAEL,IAAA1iC,GAAkCh8E,EAAAA,EAAAA,WAAS,GAAMi8E,GAAAl9N,EAAAA,EAAAA,GAAAi9N,EAAA,GAU3C4iC,GAVU3iC,EAAA,GAAcA,EAAA,GAUjB,eAAAn9N,GAAArb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAAq/P,IAAA,IAAA5yP,EAAA,OAAA1M,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,OAUT,OAVS8+P,EAAA/+P,KAAA,EAGe,IAArBo6Q,EAAWjG,WAEbiG,EAAWjG,SAAS,cAEO,IAAxBiG,EAAWlG,cAEdkG,EAAWlG,YAAY,cACxBnV,EAAA9+P,KAAA,EACoB4zQ,GAAmBuG,GAAY,KAAD,EAA7CluQ,EAAM6yP,EAAAv+P,KACZ65Q,GAAO5sO,EAAAA,GAAAA,GAAKvhC,IAAS6yP,EAAA9+P,KAAA,gBAAA8+P,EAAA/+P,KAAA,EAAA++P,EAAA/iD,GAAA+iD,EAAA,SAErBn9P,QAAQC,IAAGk9P,EAAA/iD,IAAM,yBAAA+iD,EAAAh+P,OAAA,GAAA+9P,EAAA,kBAEpB,kBAhBU,OAAAlkP,EAAAvb,MAAA,KAAAC,UAAA,MAkBL82W,EAAiB,eAAAhhV,GAAA71B,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAAC,IAAA,IAAAiqQ,EAAAz9P,EAAAqvQ,EAAAs6F,EAAAQ,EAAA5tW,EAAAknQ,EAAAvvO,EAAA,OAAA5gC,EAAAA,GAAAA,KAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAazB,OAZC4yN,KAAAA,KAAU,CACR3/K,MAAO,YACP3O,KAAM,oBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAIjB8hD,EAAW,CACfuK,YAAYkG,EAAWjB,MACvBhF,SAAUiG,EAAWk8F,QACtBv2W,EAAAE,KAAA,EACsB4zQ,GAAmBlK,GAAU,KAAD,EAA3Cz9P,EAAMnM,EAAAS,KAGR+6Q,EAAYrvQ,EAAOgB,QAAO,SAAAw5B,GAAI,OAAuB,GAAnBA,EAAKyvU,QAAQt2W,IAAO,IAC1Do2W,GAAQxoU,EAAAA,GAAAA,GAAK8tO,IACTs6F,EAAU,GACVQ,EAAM,GACD5tW,EAAI,EAAE,KAAD,QAAEA,EAAI8yQ,EAAU3yQ,QAAM,CAAA7I,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACb+0Q,GAAoBuG,EAAU9yQ,GAAGqsQ,WAAU,QAChE,IADMnF,EAAO5vQ,EAAAS,KACJiI,EAAI,EAAGA,EAAIknQ,EAAQ/mQ,OAAQH,IAClCotW,EAAUA,EAAUlmG,EAAQlnQ,GAAG8tW,SAAS,IAAI5mG,EAAQlnQ,GAAGkhQ,SAAS,IAElE0sG,EAAMjoW,KAAK,CACT4nW,UAAUrmG,EAAQ,GAAGmF,UACrBnL,SAASksG,IAEXA,EAAU,GAAE,QATwBptW,IAAG1I,EAAAE,KAAA,iBAWzCi2W,EAAMjnV,QAAQonV,EACdxjJ,KAAAA,QACA2rC,EAAgB,CACdr3P,KAAM,SACL,yBAAApH,EAAAgB,OAAA,GAAArB,EAAA,KAEJ,kBAtCsB,OAAA01B,EAAA/1B,MAAA,KAAAC,UAAA,KA2CnBswQ,GAAgB3yD,EAAAA,GAAAA,UAAS,CAC7B/nD,QAAAA,EACAr1J,KAAAA,EACAitM,aAAe,CAAC6I,SAAU,IAAIC,UAAY,IACzCyG,GAAAA,WAAYG,GAAAA,gBAAiBI,GAAAA,eAG9BjR,EAcEikE,EAdFjkE,cACAC,EAaEgkE,EAbFhkE,kBACAN,EAYEskE,EAZFtkE,aACAI,EAWEkkE,EAXFlkE,WACA73K,EAUE+7O,EAVF/7O,MACAiiL,EASE85D,EATF95D,KACAL,EAQEm6D,EARFn6D,SACAI,EAOE+5D,EAPF/5D,UACAI,EAME25D,EANF35D,YACAI,EAKEu5D,EALFv5D,SACAD,EAIEw5D,EAJFx5D,aACAD,EAGEy5D,EAHFz5D,YACAD,EAEE05D,EAFF15D,gBACAzF,EACEm/D,EADFn/D,gBAIKC,EAA2B78K,EAA3B68K,aAAckF,EAAa/hL,EAAb+hL,UAEf+kE,GAAWnrP,EAAAA,EAAAA,QAAO,MAEtB,OAEIutN,EAAAA,EAAAA,MAACxsD,EAAAA,SAAQ,CAAAhtL,SAAA,EACJK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UAC1BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACrBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC/BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,8BAA6BnsE,UAC5CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACzBK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,gCAObK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACtBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACrBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UAC1BK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,qBAEZK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC9Bw5O,EAAAA,EAAAA,MAAA,QACIloO,GAAG,SAAQtR,SAAA,EACbw5O,EAAAA,EAAAA,MAAC61B,GAAG,CAAEljM,UAAU,OAAMnsE,SAAA,EACpBw5O,EAAAA,EAAAA,MAAC8d,GAAG,CAACnrL,UAAU,OAAMnsE,SAAA,EACrBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC7BK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,mBAGlCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mC,GAAU,IACbjB,MAAO3hQ,EAAEvH,OAAOhO,QAEpB,UAOZ86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC7BK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,iBAGlCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mC,GAAU,IACbk8F,OAAQ9+V,EAAEvH,OAAOhO,QAErB,aAQZ2B,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,UAGf9rE,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,aAMf9rE,EAAAA,EAAAA,KAAC+hP,GAAM,CAAEllH,QAAS21O,EAAoB1mS,UAAU,YAAWnsE,SAAC,qCAYxEK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACtBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACrBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UAC1BK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,kCAEZK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC9Bw5O,EAAAA,EAAAA,MAAA,QACIloO,GAAG,SAAQtR,SAAA,EACbw5O,EAAAA,EAAAA,MAAC61B,GAAG,CAAEljM,UAAU,OAAMnsE,SAAA,EACpBK,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,OAAMnsE,UACrBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC7BK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,mBAIlCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mC,GAAU,IACblG,YAAa18P,EAAEvH,OAAOhO,QAE1B,YASZ2B,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,OAAMnsE,UACrBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,oBAAmBnsE,SAAA,EAC9BK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,iBAIlCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mC,GAAU,IACbjG,SAAU38P,EAAEvH,OAAOhO,QAEvB,YAOZ2B,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,aAMnB9rE,EAAAA,EAAAA,KAAC+hP,GAAM,CAACj2K,UAAU,OAAO+wD,QAASi6I,EAAQn3Q,SAAC,0BAYrDK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACtBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,cAGf9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAKnB9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC9BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,YAAWnsE,SAAA,EAClBK,EAAAA,EAAAA,KAACwrL,GAAAA,mBAAkB,CACfP,SAAS,UACTh6G,MAAM,QACN+5G,gBAAiB+rF,EAAS1rP,QAAQ1rB,UAGnCK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAEj2K,UAAU,OAAMnsE,SAAC,sBAKnCw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EACjCK,EAAAA,EAAAA,KAACosQ,GAAQ,CACHl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,KAET9wE,EAAAA,EAAAA,KAAA,UACJA,EAAAA,EAAAA,KAAC0rQ,GAAY,CAACpiQ,OAAQwjM,EAAclB,UAAWiB,KAC/CssC,EAAAA,EAAAA,MAAA,SAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAW1nC,KAAe,IAAEj8H,UAAU,0BAA2Bg7C,IAAKiwJ,EAASp3Q,SAAA,EAC7EK,EAAAA,EAAAA,KAAA,SAAAL,SACI+nM,EAAaz5L,KAAI,SAAAwrM,GAAW,OAC5Bz5M,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQh2B,EAAYxR,uBAAqB,IAAAtoM,SACtC85M,EAAY/8M,QAAQuR,KAAI,SAAA43L,GAAM,OAC7BszC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5pC,EAAOsC,kBAAgB,IAAAxoM,SAAA,CAC5BkmM,EAAO30J,OAAO,UACd20J,EAAOwG,UAAYxG,EAAO30J,OAAO,UAAY,QAC3C,MAEJ,OAITlxC,EAAAA,EAAAA,KAAA,SAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWznC,KAAmB,IAAEl8H,UAAU,GAAEnsE,SAEzCuyM,EAAKjkM,KAAI,SAAC24L,GAET,OADAkB,EAAWlB,IAET5mM,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAS7oC,EAAIyB,eAAa,IAAA1oM,SACvBinM,EAAI0D,MAAMr8L,KAAI,SAAC44L,GACd,OAAOsyC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAS5oC,EAAKyB,gBAAc,IAAA3oM,SAAA,CAAGknM,EAAK31J,OAAO,QAAQ,QAC5D,MAGN,YAGJioM,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iCAAgCnsE,SAAA,EAC7Cw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,OACC,KACLw5O,EAAAA,EAAAA,MAAA,UAAAx5O,SAAA,CACGqyM,EAAY,EAAE,OAAKK,EAAYrtM,UACxB,OAEZm0O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,cAAansE,SAAA,CAAC,gBACd,KACdK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SACVuoE,UAAU,OACVrgE,aAAcumM,EAAY,EAC1Bl1E,SAAY,SAAAlpH,GACV,IAAM04P,EAAa14P,EAAEvH,OAAOhO,MAAQqN,OAAOkI,EAAEvH,OAAOhO,OAAS,EAAI,EACjEwzM,EAASy6D,EACX,WAINtsQ,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAAkBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,0BAAyBnsE,SAAA,EACtCK,EAAAA,EAAAA,KAAA,UAAQ8rE,UAAU,mBAAmB+wD,QAAS,kBAAMg1E,EAAS,EAAE,EAAExiE,UAAWijE,EAAgB3yM,SAAE,QAE9FK,EAAAA,EAAAA,KAAA,UAAQ8rE,UAAU,kBAAkB+wD,QAAS,kBAAM21E,GAAc,EAAEnjE,UAAWijE,EAAgB3yM,SAAC,cAG/FK,EAAAA,EAAAA,KAAA,UAAQ8rE,UAAU,cAAc+wD,QAAS,kBAAM41E,GAAU,EAAEpjE,UAAWkjE,EAAY5yM,SAAC,UAGnFK,EAAAA,EAAAA,KAAA,UAAQ8rE,UAAU,eAAe+wD,QAAS,kBAAMg1E,EAASI,EAAY,EAAE,EAAE5iE,UAAWkjE,EAAY5yM,SAAE,2BAUrG8G,EAAQwyO,SACTj5O,EAAAA,EAAAA,KAAC4yW,GAAY,CACXv8G,OAAQ5vP,EAAQwyO,OAChBqd,aAjTW,WACnBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EAgTUtH,KAAM67Q,EACNA,MAAOw6F,EACPv6O,KAAMy+I,EAAWjB,MACjBu8F,MAAOt7F,EAAWk8F,OAClBX,YAlaU,GAmaVxiG,YAAa,oBAOzB,EC5WF,GA1FiB,SAAC7vQ,GACd,IACI22P,EAGA32P,EAHA22P,OACAC,EAEA52P,EAFA42P,aACAC,EACA72P,EADA62P,cAGJrjB,GAA8Bh7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAAnCsjB,EAASrjB,EAAA,GAAE3qF,EAAQ2qF,EAAA,GAS1B,OACInzO,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UAEIw5O,EAAAA,EAAAA,MAAC6V,GAAK,CACFvtC,KAAM40C,EACNhG,OAAQiG,EAAa32P,SAAA,EAIrBK,EAAAA,EAAAA,KAACgvP,GAAAA,OAAY,CAAC7pC,aAAW,EAAAxlN,UACrBK,EAAAA,EAAAA,KAACgvP,GAAAA,MAAW,CAAArvP,SAAC,8BAEjBK,EAAAA,EAAAA,KAACgvP,GAAAA,KAAU,CAAArvP,UAEPw5O,EAAAA,EAAAA,MAAA,QAAMsd,SAnBA,SAACx6O,GACnBA,EAAMmvG,iBACNptH,QAAQC,IAAIu4P,GACZD,EAAcC,EAClB,EAe8C72P,SAAA,EAG1Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAChCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,UAE9BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAElCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,SACLuoE,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAAlpH,GAAO40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAE4W,OAAQx5P,EAAEvH,OAAOhO,QAAS,UAMhF86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAChCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,kBAE9BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAElCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAAlpH,GAAO40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEgW,OAAQ54P,EAAEvH,OAAOhO,QAAS,UAOhF2B,EAAAA,EAAAA,KAAC+hP,GAAM,CAACn/J,QAAQ,SAASi6C,QAASy5H,EAAa32P,SAAC,YAGpDK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACx+O,KAAK,SAAQ5D,SAAC,qBAmB1C,ECzFO,SAAekzW,KAAgB,OAAAC,GAAAr3W,MAAC,KAADC,UAAA,CAarC,SAAAo3W,KAAA,OAAAA,IAAAn3W,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAbM,SAAA49P,IAAA,IAAA19P,EAAAuM,EAAArM,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,OACuB,OAAtBN,GAAQO,EAAAA,GAAAA,MAAcgrD,EAAAjrD,KAAA,EACPE,MAAM,GAADC,OAAIC,GAAAA,GAAS,gBAAgB,CACrDC,QAAS,CAAEC,cAAc,UAADH,OAAYT,MACnC,KAAD,EAFU,OAANuM,EAAMg/C,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,EAIOiM,EAAOzL,OAAO,KAAD,EAAtB,GAAJZ,EAAIqrD,EAAA1qD,KAEL0L,EAAOxL,GAAG,CAADwqD,EAAAjrD,KAAA,cACN,IAAIU,MAAMd,EAAKe,SAAS,KAAD,SAAAsqD,EAAArqD,OAAA,SAGxBhB,EAAKqM,QAAM,yBAAAg/C,EAAAnqD,OAAA,GAAAs8P,EAAA,KACnBq5G,GAAAr3W,MAAA,KAAAC,UAAA,CAeM,SAAeq3W,GAAcp5G,GAAA,OAAAq5G,GAAAv3W,MAAC,KAADC,UAAA,CAgCnC,SAAAs3W,KAAA,OAAAA,IAAAr3W,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAhCM,SAAAC,EAA8Bm3W,GAAW,IAAA9mQ,EAAA+mQ,EAAAn3W,EAAAu+P,EAAA18P,EAAA0K,EAAArM,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAc7C,OAZO8vG,EAAmB8mQ,EAAnB9mQ,MAAO+mQ,EAAYD,EAAZC,QACTn3W,GAAQO,EAAAA,GAAAA,MACVg+P,EAAO,GAAA99P,OAAMC,GAAAA,GAAS,gBAEtBmB,EAAS,OAETq1W,EAAY9mQ,cAAc8mQ,EAAY9mQ,MACtC8mQ,EAAYC,gBAAgBD,EAAYC,QAEvC/mQ,IACHmuJ,EAAO,GAAA99P,OAAM89P,EAAO,KAAA99P,OAAI02W,GACxBt1W,EAAS,OACVzB,EAAAE,KAAA,EAEoBE,MAAM+9P,EAAS,CAClC18P,OAAQA,EACRlB,QAAS,CACPC,cAAc,UAADH,OAAYT,GACzB,eAAgB,oBAElB8B,KAAMC,KAAKC,UAAUk1W,KACpB,KAAD,EAPU,OAAN3qW,EAAMnM,EAAAS,KAAAT,EAAAE,KAAA,GASOiM,EAAOzL,OAAO,KAAD,GAAtB,GAAJZ,EAAIE,EAAAS,KAEL0L,EAAOxL,GAAG,CAADX,EAAAE,KAAA,eACN,IAAIU,MAAMd,EAAKe,SAAS,KAAD,UAAAb,EAAAc,OAAA,SAGxBhB,EAAKu+P,SAAO,yBAAAr+P,EAAAgB,OAAA,GAAArB,EAAA,KACpBk3W,GAAAv3W,MAAA,KAAAC,UAAA,CC/CD,IAAM++P,GAAc,SAACC,EAASzqO,GAC1B,OAAQA,EAAM1sB,MACZ,IAAK,OACH,MAAO,CACL01O,QAAQ,EACRsd,cAAetmO,EAAMsmO,cACrBoE,eAAgB1qO,EAAM69O,gBAE1B,IAAK,MACH,OAAAr+B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,IAEnC,EAqHF,GAnHsB,WAElB,IAAAN,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACvDxhB,QAAQ,EACR60B,eAAgB,KAChBvX,cAAe,OACZ3d,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GAJAlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,GAK/B1F,GAAwCh7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAA7C66B,EAAY56B,EAAA,GAAE66B,EAAe76B,EAAA,GAC9B86B,GAAuB71G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAuB,EAAA,OAAAp/P,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,cAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAAjrD,KAAA,EAEVw2W,KAAmB,KAAD,EAArC73G,EAAU1zM,EAAA1qD,KAChBoxQ,GAAenkO,EAAAA,GAAAA,GAAKmxN,IAAa1zM,EAAAjrD,KAAA,gBAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAEjCtpD,QAAQC,IAAGqpD,EAAA8wJ,IAAM,yBAAA9wJ,EAAAnqD,OAAA,GAAAs8P,EAAA,oBAGrB35P,EAAAA,EAAAA,YAAU,WACRmuQ,GACA,GAAG,IAGH,IAAMklG,EAAoB,WACtBv4G,EAAgB,CACZr3P,KAAM,QAEd,EACE+yP,EAAe,WACjBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EACM2qQ,EAAoB,eAAAl3P,GAAArb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAAq/P,EAAOj/P,GAAI,IAAAqM,EAAA0yP,EAAA,OAAAp/P,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,cAAA8+P,EAAA/+P,KAAA,EAAA++P,EAAA9+P,KAAA,EAEf02W,IAActjI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIxzO,GAAI,IAAEkwG,OAAO,KAAQ,KAAD,EAAjD,KAAN7jG,EAAM6yP,EAAAv+P,MAED,CAADu+P,EAAA9+P,KAAA,aACJiM,EAAO,CAAD6yP,EAAA9+P,KAAA,SAKL,OAJH4yN,KAAAA,KAAU,CACR3/K,MAAO,yBACP3O,KAAK,4CACLo8K,KAAM,YACLo+C,EAAA9+P,KAAA,EACsBw2W,KAAmB,KAAD,EAArC73G,EAAUG,EAAAv+P,KAChBoxQ,GAAenkO,EAAAA,GAAAA,GAAKmxN,IACpBJ,EAAgB,CAAEr3P,KAAM,QAAS,QAAA43P,EAAA9+P,KAAA,iBAAA8+P,EAAA/+P,KAAA,GAAA++P,EAAA/iD,GAAA+iD,EAAA,SAIrClsC,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAA2+P,EAAA/iD,MACH,yBAAA+iD,EAAAh+P,OAAA,GAAA+9P,EAAA,mBAEJ,gBAvBuB34B,GAAA,OAAAvrN,EAAAvb,MAAA,KAAAC,UAAA,KA0B5B,OAEIy9O,EAAAA,EAAAA,MAACxsD,EAAAA,SAAQ,CAAAhtL,SAAA,EACTK,EAAAA,EAAAA,KAACi3P,GAAG,CAAC9kF,GAAI,GAAGxyK,UACRw5O,EAAAA,EAAAA,MAACsf,GAAI,CAAA94P,SAAA,EACDw5O,EAAAA,EAAAA,MAACsf,GAAAA,OAAW,CAAA94P,SAAA,EACRK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,qBAA4BK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAEllH,QAASs2O,EAAkBxzW,SAAC,gBAEjFK,EAAAA,EAAAA,KAACy4P,GAAAA,KAAS,CAAA94P,UACNw5O,EAAAA,EAAAA,MAAC4f,GAAK,CAACK,YAAU,EAAAz5P,SAAA,EACbK,EAAAA,EAAAA,KAAA,SAAAL,UACIw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACIK,EAAAA,EAAAA,KAAA,MAAAL,UACIK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,cAEZK,EAAAA,EAAAA,KAAA,MAAAL,UACIK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,sBAEZK,EAAAA,EAAAA,KAAA,MAAAL,UACIK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,gBAEZK,EAAAA,EAAAA,KAAA,eAGRA,EAAAA,EAAAA,KAAA,SAAAL,SACKouQ,EAAa1qQ,MAAM,EAAG,IAAI4K,KAAI,SAAC60B,GAC5B,OACIq2M,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACIK,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAAA,MAAAL,SAAKmjC,EAAKsqO,YACdptQ,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAAA,MAAAL,SAAKmjC,EAAK0pO,YAEdxsQ,EAAAA,EAAAA,KAAA,MAAAL,UACIK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACllH,QAASs2O,EAAkBxzW,SAAC,eALnCmjC,EAAKsqO,OAUtB,gBAOhB3mQ,EAAQwyO,SACRj5O,EAAAA,EAAAA,KAACozW,GAAQ,CACP/8G,OAAQ5vP,EAAQwyO,OAChBqd,aAAcA,IAGjB7vP,EAAQwyO,SACPj5O,EAAAA,EAAAA,KAACozW,GAAQ,CACP/8G,OAAQ5vP,EAAQwyO,OAChBqd,aAAcA,EACdC,cAAe2X,MAK7B,EC7Ia3C,GAAe,SAAHx0P,GAAsB,IAAf8uL,EAAM9uL,EAAN8uL,OAExBkG,EAA0BlG,EAA1BkG,YAAaH,EAAa/F,EAAb+F,UACpB,OACC5rM,EAAAA,EAAAA,KAAA,OAAAL,UAECK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,4BAChBztE,MAAO0tM,GAAe,GAAKjvE,SAAU,SAAAlpH,GAAC,OAAIg4L,EAAUh4L,EAAEvH,OAAOhO,MAAM,KAGvE,ECVamtQ,GAAU,CACtB,CACC1lE,OAAS,MACTC,OAAS,KACT/tL,SAAU,aACVyzP,OAAQF,IAGT,CACCzlE,OAAS,SACTC,OAAS,SACT/tL,SAAU,SACVyzP,OAAQF,IAET,CACCzlE,OAAS,MACTC,OAAS,MACT/tL,SAAU,MACVyzP,OAAQF,IAGT,CACCzlE,OAAS,cACTC,OAAS,cACT/tL,SAAU,cACVyzP,OAAQF,IAET,CACCzlE,OAAS,WACTC,OAAS,WACT/tL,SAAU,WACVyzP,OAAQF,KAGG8nG,GAAW,CACvB,CACCvtK,OAAS,KACTC,OAAS,KACT/tL,SAAU,YACVyzP,OAAQF,IAGT,CACCzlE,OAAS,UACTC,OAAS,UACT/tL,SAAU,MACVyzP,OAAQF,IAET,CACCzlE,OAAS,UACTC,OAAS,mBACT/tL,SAAU,MACVyzP,OAAQF,IAGT,CACCzlE,OAAS,mBACTC,OAAS,mBACT/tL,SAAU,gBACVyzP,OAAQF,IAET,CACCzlE,OAAS,eACTC,OAAS,eACT/tL,SAAU,cACVyzP,OAAQF,IAET,CACCzlE,OAAS,MACTC,OAAS,MACT/tL,SAAU,MACVyzP,OAAQF,IAET,CACCzlE,OAAS,gBACTC,OAAS,eACT/tL,SAAU,eACVyzP,OAAQF,IAET,CACCzlE,OAAS,eACTC,OAAS,cACT/tL,SAAU,cACVyzP,OAAQF,IAGT,CACCzlE,OAAS,QACTC,OAAS,QACT/tL,SAAU,eACVyzP,OAAQF,KC1FGG,GAAe,SAAH30P,GAA8B,IAAxBzN,EAAMyN,EAANzN,OAAQsiM,EAAS70L,EAAT60L,UACtC,OACCutC,EAAAA,EAAAA,MAAA,OAAAx5O,SAAA,CAAK,YACM,KACVK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iCAChBztE,MAAOiL,GAAU,GAAKwzH,SAAU,SAAAlpH,GAAC,OAAIg4L,EAAUh4L,EAAEvH,OAAOhO,MAAM,EAAE85D,MAAO,CAACprC,MAAO,WAInF,ECyIA,GAjJ6B,SAACrtB,GAC5B,IAAQ22P,EAAgD32P,EAAhD22P,OAAQC,EAAwC52P,EAAxC42P,aAAcC,EAA0B72P,EAA1B62P,cAAc+8G,EAAY5zW,EAAZ4zW,SAE5CpgI,GAA8Bh7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAAnCsjB,EAASrjB,EAAA,GAAE3qF,EAAQ2qF,EAAA,GAe1B,OACEnzO,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UACEw5O,EAAAA,EAAAA,MAAC6V,GAAK,CAACvtC,KAAM40C,EAAQhG,OAAQiG,EAAa32P,SAAA,EACxCK,EAAAA,EAAAA,KAACgvP,GAAAA,OAAY,CAAC7pC,aAAW,EAAAxlN,UACvBK,EAAAA,EAAAA,KAACgvP,GAAAA,MAAW,CAAArvP,SAAC,uBAEfK,EAAAA,EAAAA,KAACgvP,GAAAA,KAAU,CAAArvP,UACTw5O,EAAAA,EAAAA,MAAA,QAAMsd,SArBQ,SAACx6O,GAErBu6O,EAAUgW,OAAOhW,EAAUgW,OAAQhW,EAAUgW,OAAO8mG,EAAS,GAAG9mG,OAChEhW,EAAU+8G,YAAY/8G,EAAU+8G,YAAa/8G,EAAU+8G,YAAYD,EAAS,GAAGx/F,YAC/Etd,EAAUud,IAAIvd,EAAUud,IAAKvd,EAAUud,IAAIu/F,EAAS,GAAGv/F,IACvDvd,EAAUg9G,OAAOh9G,EAAUi9G,OAAQj9G,EAAUg9G,OAAOF,EAAS,GAAGE,OAChEh9G,EAAU8W,UAAU9W,EAAU8W,UAAW9W,EAAU8W,UAAUgmG,EAAS,GAAGhmG,UACzE9W,EAAU+W,SAAS/W,EAAU+W,SAAU/W,EAAU+W,SAAS+lG,EAAS,GAAG/lG,SACtE/W,EAAUk9G,OAAOl9G,EAAUm9G,OAAQn9G,EAAUk9G,OAAOJ,EAAS,GAAGI,OAGhEz3V,EAAMmvG,iBACNmrI,EAAcC,EAChB,EAQuCvlP,GAAG,SAAQtR,SAAA,EACxCw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,UAEhCK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAEhCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACNkI,aAAc6nW,EAAS,GAAG9mG,OACzB1gM,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEgW,OAAQ54P,EAAEvH,OAAOhO,QAC5C,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,gBAEhCK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAEhCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLkI,aAAc6nW,EAAS,GAAGx/F,YAC1BhoM,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAE+8G,YAAa3/V,EAAEvH,OAAOhO,QACjD,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,OAEhCK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAEhCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLkI,aAAc6nW,EAAS,GAAGv/F,IAC1BjoM,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEud,IAAKngQ,EAAEvH,OAAOhO,QACzC,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,YAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLkI,aAAc6nW,EAAS,GAAGE,OAC1B1nS,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEi9G,OAAQ7/V,EAAEvH,OAAOhO,QAC5C,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,eAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACA2iG,UAAW,GACTp/F,KAAK,OACLkI,aAAc6nW,EAAS,GAAGhmG,UAC1BxhM,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAE8W,UAAW15P,EAAEvH,OAAOhO,QAC/C,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,cAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLkI,aAAc6nW,EAAS,GAAG/lG,SAC1BzhM,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAE+W,SAAU35P,EAAEvH,OAAOhO,QAC9C,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,YAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,QACLkI,aAAc6nW,EAAS,GAAGK,OAC1B7nS,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEm9G,OAAQ//V,EAAEvH,OAAOhO,QAC5C,eAMV86O,EAAAA,EAAAA,MAAC6V,GAAAA,OAAY,CAAArvP,SAAA,EACXK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACn/J,QAAQ,SAASi6C,QAASy5H,EAAa32P,SAAC,YAGhDK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACx+O,KAAK,SAASuwI,KAAK,SAAQn0I,SAAC,mBAO9C,EC/BA,GA5GqB,SAACD,GAClB,IACI22P,EAGA32P,EAHA22P,OACAC,EAEA52P,EAFA42P,aAIJpjB,GAA8Bh7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAAnCsjB,EAASrjB,EAAA,GAAE3qF,EAAQ2qF,EAAA,GAQ1B,OACInzO,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UACCK,EAAAA,EAAAA,KAAC2sL,EAAAA,SAAQ,CAAAhtL,UACNw5O,EAAAA,EAAAA,MAAC6V,GAAK,CACFvtC,KAAM40C,EACNhG,OAAQiG,EAAa32P,SAAA,EAIrBK,EAAAA,EAAAA,KAACgvP,GAAAA,OAAY,CAAC7pC,aAAW,EAAAxlN,UACrBK,EAAAA,EAAAA,KAACgvP,GAAAA,MAAW,CAAArvP,SAAC,qBAEjBK,EAAAA,EAAAA,KAACgvP,GAAAA,KAAU,CAAArvP,UAEPw5O,EAAAA,EAAAA,MAAA,QAAMsd,SAlBA,SAACx6O,GACnBA,EAAMmvG,iBACNptH,QAAQC,IAAIu4P,EAChB,EAgBoBvlP,GAAG,SAAQtR,SAAA,EAEXw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAChCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,UAE9BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAElCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAAlpH,GAAO40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEo9G,cAAehgW,EAAEvH,OAAOhO,QAAS,UAMvF86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAChCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,qBAE9BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAElCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAAlpH,GAAO40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEo9G,cAAehgW,EAAEvH,OAAOhO,QAAS,UAMvF86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAChCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,SAE9BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAElCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAAlpH,GAAO40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEo9G,cAAehgW,EAAEvH,OAAOhO,QAAS,eAiB/F86O,EAAAA,EAAAA,MAAC6V,GAAAA,OAAY,CAAArvP,SAAA,EACTK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACn/J,QAAQ,SAASi6C,QAASy5H,EAAa32P,SAAC,YAGhDK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACx+O,KAAK,SAASuwI,KAAK,SAAQn0I,SAAC,qBAWxD,EC9GO,SAAek0W,KAAc,OAAAC,GAAAr4W,MAAC,KAADC,UAAA,CAanC,SAAAo4W,KAAA,OAAAA,IAAAn4W,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAbM,SAAA49P,IAAA,IAAA19P,EAAAuM,EAAArM,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,OACuB,OAAtBN,GAAQO,EAAAA,GAAAA,MAAcgrD,EAAAjrD,KAAA,EACPE,MAAM,GAADC,OAAIC,GAAAA,GAAS,YAAY,CACjDC,QAAS,CAAEC,cAAc,UAADH,OAAYT,MACnC,KAAD,EAFU,OAANuM,EAAMg/C,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,EAIOiM,EAAOzL,OAAO,KAAD,EAAtB,GAAJZ,EAAIqrD,EAAA1qD,KAEL0L,EAAOxL,GAAG,CAADwqD,EAAAjrD,KAAA,cACN,IAAIU,MAAMd,EAAKe,SAAS,KAAD,SAAAsqD,EAAArqD,OAAA,SAGxBhB,EAAKqM,QAAM,yBAAAg/C,EAAAnqD,OAAA,GAAAs8P,EAAA,KACnBq6G,GAAAr4W,MAAA,KAAAC,UAAA,CAEM,SAAeq4W,GAAcxxI,GAAA,OAAAyxI,GAAAv4W,MAAC,KAADC,UAAA,CAWnC,SAAAs4W,KAAA,OAAAA,IAAAr4W,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAXM,SAAAq/P,EAA8BoX,GAAS,IAAAv2Q,EAAAC,EAAAC,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,OAChB,OAAtBN,GAAQO,EAAAA,GAAAA,MAAc6+P,EAAA9+P,KAAA,EACLE,MAAM,GAADC,OAAIC,GAAAA,GAAS,aAAAD,OAAY81Q,GAAa,CAChE51Q,QAAS,CAAEC,cAAc,UAADH,OAAYT,MACnC,KAAD,EAFY,OAARC,EAAQm/P,EAAAv+P,KAAAu+P,EAAA9+P,KAAA,EAGKL,EAASa,OAAO,KAAD,EAAxB,GAAJZ,EAAIk/P,EAAAv+P,KAELZ,EAASc,GAAG,CAADq+P,EAAA9+P,KAAA,cACR,IAAIU,MAAMd,EAAKe,SAAS,KAAD,SAAAm+P,EAAAl+P,OAAA,SAExBhB,EAAKqM,QAAM,yBAAA6yP,EAAAh+P,OAAA,GAAA+9P,EAAA,KACnB84G,GAAAv4W,MAAA,KAAAC,UAAA,CAkBM,SAAeu4W,GAAW52W,GAAA,OAAA62W,GAAAz4W,MAAC,KAADC,UAAA,CAgChC,SAAAw4W,KAAA,OAAAA,IAAAv4W,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAhCM,SAAA+qQ,EAA2ButG,GAAa,IAAAhoQ,EAAAmmK,EAAAv2Q,EAAAu+P,EAAA18P,EAAA0K,EAAArM,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAA2qQ,GAAA,cAAAA,EAAAzqQ,KAAAyqQ,EAAAxqQ,MAAA,OAc5C,OAZO8vG,EAAqBgoQ,EAArBhoQ,MAAOmmK,EAAc6hG,EAAd7hG,UACTv2Q,GAAQO,EAAAA,GAAAA,MACVg+P,EAAO,GAAA99P,OAAMC,GAAAA,GAAS,YAEtBmB,EAAS,OAETu2W,EAAchoQ,cAAcgoQ,EAAchoQ,MAC1CgoQ,EAAc7hG,kBAAkB6hG,EAAcrnG,QAE7C3gK,IACHmuJ,EAAO,GAAA99P,OAAM89P,EAAO,KAAA99P,OAAI81Q,GACxB10Q,EAAS,OACVipQ,EAAAxqQ,KAAA,EAEoBE,MAAM+9P,EAAS,CAClC18P,OAAQA,EACRlB,QAAS,CACPC,cAAc,UAADH,OAAYT,GACzB,eAAgB,oBAElB8B,KAAMC,KAAKC,UAAUo2W,KACpB,KAAD,EAPU,OAAN7rW,EAAMu+P,EAAAjqQ,KAAAiqQ,EAAAxqQ,KAAA,GASOiM,EAAOzL,OAAO,KAAD,GAAtB,GAAJZ,EAAI4qQ,EAAAjqQ,KAEL0L,EAAOxL,GAAG,CAAD+pQ,EAAAxqQ,KAAA,eACN,IAAIU,MAAMd,EAAKe,SAAS,KAAD,UAAA6pQ,EAAA5pQ,OAAA,SAGxBhB,EAAKu+P,SAAO,yBAAAqM,EAAA1pQ,OAAA,GAAAypQ,EAAA,KACpBstG,GAAAz4W,MAAA,KAAAC,UAAA,CAcA,SAAA04W,KAAA,OAAAA,IAAAz4W,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAZM,SAAA0B,EAA4B+0Q,GAAS,IAAAv2Q,EAAAC,EAAAC,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAAyB,GAAA,cAAAA,EAAAvB,KAAAuB,EAAAtB,MAAA,OACd,OAAtBN,GAAQO,EAAAA,GAAAA,MAAcqB,EAAAtB,KAAA,EACLE,MAAM,GAADC,OAAIC,GAAAA,GAAS,aAAAD,OAAY81Q,GAAa,CAChE51Q,QAAS,CAAEC,cAAc,UAADH,OAAYT,IACpC6B,OAAQ,WACP,KAAD,EAHY,OAAR5B,EAAQ2B,EAAAf,KAAAe,EAAAtB,KAAA,EAIKL,EAASa,OAAO,KAAD,EAAxB,GAAJZ,EAAI0B,EAAAf,KAELZ,EAASc,GAAG,CAADa,EAAAtB,KAAA,cACR,IAAIU,MAAMd,EAAKe,SAAS,KAAD,SAAAW,EAAAV,OAAA,SAExBhB,EAAK6qQ,WAAS,yBAAAnpQ,EAAAR,OAAA,GAAAI,EAAA,KACtB62W,GAAA34W,MAAA,KAAAC,UAAA,CCnED,IAAM++P,GAAc,SAACC,EAASzqO,GAC5B,OAAQA,EAAM1sB,MACZ,IAAK,OACH,MAAO,CACL01O,QAAQ,EACRo7H,UAAWpkV,EAAMokV,UACjB99G,cAAetmO,EAAMsmO,eAEzB,IAAK,MACH,OAAA9mB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,IAEnC,EAiQA,GAhQiB,WACf,IASA/F,GAA8Bh7E,EAAAA,EAAAA,WAAS,GAAKi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAArCpiK,EAAOqiK,EAAA,GAAE04B,EAAU14B,EAAA,GAC1BwF,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACzDxhB,QAAQ,EACRo7H,UAAW,KACX99G,cAAe,OACf3d,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GAJKlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,GAK/BtF,GAAwBp7E,EAAAA,EAAAA,UAAS,IAAGq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAA7Br3O,EAAIs3O,EAAA,GAAEkjC,EAAOljC,EAAA,GAEdqjC,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAnxP,EAAA,OAAA1M,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,cAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAAjrD,KAAA,EAEVw3W,KAAiB,KAAD,EAA/BvrW,EAAMg/C,EAAA1qD,KACZ65Q,GAAO5sO,EAAAA,GAAAA,GAAKvhC,IACZujQ,GAAW,GAAOvkN,EAAAjrD,KAAA,gBAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAGlBtpD,QAAQC,IAAGqpD,EAAA8wJ,IACXyzD,GAAW,GAAO,yBAAAvkN,EAAAnqD,OAAA,GAAAs8P,EAAA,oBAGtB35P,EAAAA,EAAAA,YAAU,WACR82Q,GACF,GAAG,IACH,IAGMtgB,EAAe,WACnBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EACM+tJ,GAAU0G,EAAAA,EAAAA,UAAQ,kBAAMwzG,EAAO,GAAE,IACjCQ,GAAgB3yD,EAAAA,GAAAA,UACpB,CACE/nD,QAAAA,EACAr1J,KAAAA,EACAitM,aAAc,CAAE8I,UAAW,IAE7ByG,GAAAA,WACAG,GAAAA,gBACAI,GAAAA,eAIAjR,EAcEikE,EAdFjkE,cACAC,EAaEgkE,EAbFhkE,kBACAN,EAYEskE,EAZFtkE,aACAI,EAWEkkE,EAXFlkE,WACA73K,EAUE+7O,EAVF/7O,MACAiiL,EASE85D,EATF95D,KACAL,EAQEm6D,EARFn6D,SACAI,EAOE+5D,EAPF/5D,UACAI,EAME25D,EANF35D,YACAI,EAKEu5D,EALFv5D,SACAD,EAIEw5D,EAJFx5D,aACAD,EAGEy5D,EAHFz5D,YACAD,EAEE05D,EAFF15D,gBACAzF,EACEm/D,EADFn/D,gBAEIynK,EAAmB,eAAAt9V,GAAArb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAAq/P,EAAOj/P,GAAI,IAAAqM,EAAA0yP,EAAA,OAAAp/P,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,OASlC,OATkC8+P,EAAA/+P,KAAA,EAEnC6yN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEpBk3C,EAAA9+P,KAAA,EACoB43W,IAAWxkI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIxzO,GAAI,IAAEkwG,OAAO,KAAQ,KAAD,EAA9C,KAAN7jG,EAAM6yP,EAAAv+P,MAED,CAADu+P,EAAA9+P,KAAA,aACJiM,EAAO,CAAD6yP,EAAA9+P,KAAA,gBAAA8+P,EAAA9+P,KAAA,EACiBw3W,KAAiB,KAAD,EAAnC74G,EAAUG,EAAAv+P,KAChB65Q,GAAO5sO,EAAAA,GAAAA,GAAKmxN,IACZ/rC,KAAAA,QACAA,KAAAA,KAAU,CACR3/K,MAAO,kBACP3O,KAAK,qCACLo8K,KAAM,UACN+H,mBAAoB,UAEtB81C,EAAgB,CAAEr3P,KAAM,QAAS,QAAA43P,EAAA9+P,KAAA,iBAAA8+P,EAAA/+P,KAAA,GAAA++P,EAAA/iD,GAAA+iD,EAAA,SAIrClsC,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAA2+P,EAAA/iD,MACH,yBAAA+iD,EAAAh+P,OAAA,GAAA+9P,EAAA,mBAEN,gBAjCwB34B,GAAA,OAAAvrN,EAAAvb,MAAA,KAAAC,UAAA,KAmCjBoxM,EAA4B78K,EAA5B68K,aAAckF,EAAc/hL,EAAd+hL,UAEtB,OACEmnC,EAAAA,EAAAA,MAACxsD,EAAAA,SAAQ,CAAAhtL,SAAA,EACPK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,gBAEdK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACllH,QAlFJ,WAClB+9H,EAAgB,CAAEr3P,KAAM,OAAQ8wW,UAAW,WAC7C,EAgF6C10W,SAAC,sBAKtCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC5BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC/BK,EAAAA,EAAAA,KAAC0rQ,GAAY,CACXpiQ,OAAQwjM,EACRlB,UAAWiB,KAET7sM,EAAAA,EAAAA,KAACosQ,GAAQ,CACfl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,KAET9wE,EAAAA,EAAAA,KAAA,UACEm5O,EAAAA,EAAAA,MAAA,SAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACM1nC,KAAe,IACnBj8H,UAAU,0BAAyBnsE,SAAA,EAEnCK,EAAAA,EAAAA,KAAA,SAAAL,SACG+nM,EAAaz5L,KAAI,SAACwrM,GAAW,OAC5Bz5M,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQh2B,EAAYxR,uBAAqB,IAAAtoM,SACtC85M,EAAY/8M,QAAQuR,KAAI,SAAC43L,GAAM,OAC9BszC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5pC,EAAOsC,kBAAgB,IAAAxoM,SAAA,CAC5BkmM,EAAO30J,OAAO,UACd20J,EAAOwG,UACJxG,EAAO30J,OAAO,UACd,QACD,MAEJ,OAITlxC,EAAAA,EAAAA,KAAA,SAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWznC,KAAmB,IAAEl8H,UAAU,GAAEnsE,SACzCuyM,EAAKjkM,KAAI,SAAC24L,GAET,OADAkB,EAAWlB,IAET5mM,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ7oC,EAAIyB,eAAa,IAAA1oM,SACtBinM,EAAI0D,MAAMr8L,KAAI,SAAC44L,GAEd,OAEEsyC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5oC,EAAKyB,gBAAc,IAAEx8H,UAAU,MAAKnsE,SAAA,CACzC,OAAS,IAAE,OAAS,IAAE,OAAS,IAAE,OAAS,IAAE,QAE7Cw5O,EAAAA,EAAAA,MAAC9H,GAAI,CAAChtM,GAAI,gBAAgBpU,MAAO,CAAEhf,GAAI21L,EAAInhJ,OAAO8uT,YAAa50W,SAAA,CAC5DknM,EAAK31J,OAAO,QAAS,OAChB,OAGd,MAGN,YAGJioM,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iCAAgCnsE,SAAA,EAC7Cw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,OACC,KACLw5O,EAAAA,EAAAA,MAAA,UAAAx5O,SAAA,CACGqyM,EAAY,EAAE,OAAKK,EAAYrtM,UAEjC,OAEHm0O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,cAAansE,SAAA,CAAC,eACf,KACbK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,SACLuoE,UAAU,OACVrgE,aAAcumM,EAAY,EAC1Bl1E,SAAU,SAAClpH,GACT,IAAM04P,EAAa14P,EAAEvH,OAAOhO,MACxBqN,OAAOkI,EAAEvH,OAAOhO,OAAS,EACzB,EACJwzM,EAASy6D,EACX,WAINtsQ,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAAkBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,0BAAyBnsE,SAAA,EACtCK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,mBACV+wD,QAAS,kBAAMg1E,EAAS,EAAE,EAC1BxiE,UAAWijE,EAAgB3yM,SAE1B,QAGHK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,kBACV+wD,QAAS,kBAAM21E,GAAc,EAC7BnjE,UAAWijE,EAAgB3yM,SAC5B,cAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,cACV+wD,QAAS,kBAAM41E,GAAU,EACzBpjE,UAAWkjE,EAAY5yM,SACxB,UAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,eACV+wD,QAAS,kBAAMg1E,EAASI,EAAY,EAAE,EACtC5iE,UAAWkjE,EAAY5yM,SAEtB,0BAUlB8G,EAAQwyO,SACPj5O,EAAAA,EAAAA,KAACw0W,GAAoB,CACnBn+G,OAAQ5vP,EAAQwyO,OAChBqd,aAAcA,EACdC,cAAe+9G,EACfhB,SAtPS,CAAC,CAChB9mG,OAAO,GACPsH,YAAY,GACZC,IAAI,GACJy/F,OAAO,GACPlmG,UAAU,GACVC,SAAS,GACTomG,OAAO,OAkPJltW,EAAQklQ,UACP3rQ,EAAAA,EAAAA,KAACy0W,GAAY,CAACp+G,OAAQ5vP,EAAQklQ,QAASrV,aAAcA,MAI7D,ECpEA,GA1MiB,WACf,IAAApjB,GAAgCh7E,EAAAA,EAAAA,UAAS,CAAC,GAAEi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAArCh2O,EAAQi2O,EAAA,GAAEy4B,EAAWz4B,EAAA,GAC5BG,GAA8Bp7E,EAAAA,EAAAA,WAAS,GAAKq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAArCxiK,EAAOyiK,EAAA,GAAEs4B,EAAUt4B,EAAA,GAC1BG,GAAwBx7E,EAAAA,EAAAA,UAAS,IAAGy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAA7Bz3O,EAAI03O,EAAA,GAAE8iC,EAAO9iC,EAAA,GACdriF,GAAU0G,EAAAA,EAAAA,UAAQ,kBAAMq7M,EAAQ,GAAE,IAClCz8F,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAnxP,EAAAyjQ,EAAA,OAAAnwQ,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,cAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAAjrD,KAAA,EAEVwzQ,KAAoB,KAAD,EAA5B,OAANvnQ,EAAMg/C,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,GACWd,EAAAA,GAAAA,MAAqB,KAAD,EAArCwwQ,EAAOzkN,EAAA1qD,KACbgvQ,EAAYG,GACZ0K,GAAO5sO,EAAAA,GAAAA,GAAKvhC,IACZujQ,GAAW,GAAOvkN,EAAAjrD,KAAA,iBAAAirD,EAAAlrD,KAAA,GAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAElBtpD,QAAQC,IAAGqpD,EAAA8wJ,IACXyzD,GAAW,GAAO,yBAAAvkN,EAAAnqD,OAAA,GAAAs8P,EAAA,qBAGtB35P,EAAAA,EAAAA,YAAU,WACR82Q,GACF,GAAG,IACH,IAAM5K,GAAgB3yD,EAAAA,GAAAA,UACpB,CACE/nD,QAAAA,EACAr1J,KAAAA,EACAitM,aAAc,CAAE8I,UAAW,IAE7ByG,GAAAA,WACAG,GAAAA,gBACAI,GAAAA,eAIAjR,EAcEikE,EAdFjkE,cACAC,EAaEgkE,EAbFhkE,kBACAN,EAYEskE,EAZFtkE,aACAI,EAWEkkE,EAXFlkE,WACA73K,EAUE+7O,EAVF/7O,MACAiiL,EASE85D,EATF95D,KACAL,EAQEm6D,EARFn6D,SACAI,EAOE+5D,EAPF/5D,UACAI,EAME25D,EANF35D,YACAI,EAKEu5D,EALFv5D,SACAD,EAIEw5D,EAJFx5D,aACAD,EAGEy5D,EAHFz5D,YACAD,EAEE05D,EAFF15D,gBACAzF,EACEm/D,EADFn/D,gBAGMC,EAA4B78K,EAA5B68K,aAAckF,EAAc/hL,EAAd+hL,UAOtB,OACEhyM,EAAAA,EAAAA,KAAC2sL,EAAAA,SAAQ,CAAAhtL,UACPK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,gBAEdK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAAA,MAAAL,SACyB,MAAtBzC,EAASivQ,YACPnsQ,EAAAA,EAAAA,KAAC+hP,GAAM,CAAApiP,UACPK,EAAAA,EAAAA,KAACqxO,GAAI,CAAChtM,GAAG,kBAAkB8zB,MAAO,CAAE/P,MAAO,SAAUzoD,SAAC,gCAUjEK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC5BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC/BK,EAAAA,EAAAA,KAAC0rQ,GAAY,CACXpiQ,OAAQwjM,EACRlB,UAAWiB,KAEf7sM,EAAAA,EAAAA,KAACosQ,GAAQ,CACTl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,KAET9wE,EAAAA,EAAAA,KAAA,UACEm5O,EAAAA,EAAAA,MAAA,SAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACM1nC,KAAe,IACnBj8H,UAAU,0BAAyBnsE,SAAA,EAEnCK,EAAAA,EAAAA,KAAA,SAAAL,SACG+nM,EAAaz5L,KAAI,SAACwrM,GAAW,OAC5Bz5M,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQh2B,EAAYxR,uBAAqB,IAAAtoM,SACtC85M,EAAY/8M,QAAQuR,KAAI,SAAC43L,GAAM,OAC9BszC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5pC,EAAOsC,kBAAgB,IAAAxoM,SAAA,CAC5BkmM,EAAO30J,OAAO,UACd20J,EAAOwG,UACJxG,EAAO30J,OAAO,UACd,QACD,MAEJ,OAITlxC,EAAAA,EAAAA,KAAA,SAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWznC,KAAmB,IAAEl8H,UAAU,GAAEnsE,SACzCuyM,EAAKjkM,KAAI,SAAC24L,GAET,OADAkB,EAAWlB,IAET5mM,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ7oC,EAAIyB,eAAa,IAAA1oM,SACtBinM,EAAI0D,MAAMr8L,KAAI,SAAC44L,GACd,OACEsyC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5oC,EAAKyB,gBAAc,IAAA3oM,SAAA,CACxB,KACDw5O,EAAAA,EAAAA,MAAC9H,GAAI,CAAChtM,GAAI,gBAAgBpU,MAAO,CAAEhf,GAAI21L,EAAInhJ,OAAOyrN,WAAYvxQ,SAAA,CAC3DknM,EAAK31J,OAAO,QAAS,OAChB,OAGd,MAGN,YAGJioM,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iCAAgCnsE,SAAA,EAC7Cw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,OACC,KACLw5O,EAAAA,EAAAA,MAAA,UAAAx5O,SAAA,CACGqyM,EAAY,EAAE,OAAKK,EAAYrtM,UAEjC,OAEHm0O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,cAAansE,SAAA,CAAC,eACf,KACbK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,SACLuoE,UAAU,OACVrgE,aAAcumM,EAAY,EAC1Bl1E,SAAU,SAAClpH,GACT,IAAM04P,EAAa14P,EAAEvH,OAAOhO,MACxBqN,OAAOkI,EAAEvH,OAAOhO,OAAS,EACzB,EACJwzM,EAASy6D,EACX,WAINtsQ,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAAkBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,0BAAyBnsE,SAAA,EACtCK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,mBACV+wD,QAAS,kBAAMg1E,EAAS,EAAE,EAC1BxiE,UAAWijE,EAAgB3yM,SAE1B,QAGHK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,kBACV+wD,QAAS,kBAAM21E,GAAc,EAC7BnjE,UAAWijE,EAAgB3yM,SAC5B,cAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,cACV+wD,QAAS,kBAAM41E,GAAU,EACzBpjE,UAAWkjE,EAAY5yM,SACxB,UAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,eACV+wD,QAAS,kBAAMg1E,EAASI,EAAY,EAAE,EACtC5iE,UAAWkjE,EAAY5yM,SAEtB,2BAazB,4DC5NM+0W,GAA2BnhL,EAAAA,YAAiB,SAAAx8K,EAS/C+vG,GAAQ,IARTk/H,EAAQjvO,EAARivO,SACAn6O,EAAIkL,EAAJlL,KAAI8oW,EAAA59V,EACJ69V,SAAAA,OAAQ,IAAAD,GAAQA,EAChB7oS,EAAS/0D,EAAT+0D,UAASmjL,EAAAl4O,EACT0rH,KAAAA,OAAI,IAAAwsH,EAAG,QAAOA,EAAApM,EAAA9rO,EAEdkrO,GAAIxkH,OAAS,IAAAolH,EAAG,MAAKA,EAClBp5M,EAAI0pJ,EAAAp8K,EAAA4/K,IAED/jI,EAAS+yL,GAAmBK,EAAU,aACxC6uH,EAAYjiT,EAEhB,OADIgiT,IAAUC,EAAY,GAAHr4W,OAAMo2D,EAAM,eACf5yD,EAAAA,EAAAA,KAAKy9H,GAASgyG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC7BhmM,GAAI,IACPq9E,IAAKA,EACL2b,KAAMA,EACN32D,UAAW99B,IAAW89B,EAAW+oS,EAAWhpW,GAAQ,GAAJrP,OAAOo2D,EAAM,KAAAp2D,OAAIqP,MAErE,IACA6oW,GAAYzkU,YAAc,cAC1B,UCVMwqN,GAAc,SAACC,EAASzqO,GAG5B,OAAQA,EAAM1sB,MACZ,IAAK,OACH,MAAO,CACL01O,QAAQ,GAEZ,IAAK,QACH,MAAO,CACL0yB,SAAS,GAEb,IAAK,MACH,OAAAl8B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,EAAO0yB,SAAS,IAEnD,EAqQA,GApQqB,WAAO,IAADmpG,EACnB5rV,GAAW42K,EAAAA,EAAAA,MACjBozC,GAA8Bh7E,EAAAA,EAAAA,WAAS,GAAKi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAArCpiK,EAAOqiK,EAAA,GAAE04B,EAAU14B,EAAA,GAEpBliO,EAAmB,QAAjB6jW,GADSl1K,EAAAA,EAAAA,MACG3vK,aAAK,IAAA6kV,OAAA,EAAdA,EAAgB7jW,GAC3BqiO,GAA0Bp7E,EAAAA,EAAAA,UAAS,IAAGq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAA/BoR,EAAKnR,EAAA,GAAEwhI,EAAQxhI,EAAA,GACtBG,GAA4Bx7E,EAAAA,EAAAA,UAAS,IAAGy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAAjCshI,EAAMrhI,EAAA,GAAEshI,EAASthI,EAAA,GACxBG,GAA4B57E,EAAAA,EAAAA,UAAS,IAAG67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAAjCohI,EAAMnhI,EAAA,GAAEohI,EAASphI,EAAA,GAExB4E,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACzDxhB,QAAQ,IAERL,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GAHKlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,GAIzBw8H,EAAS,WAEbx6G,EAAgB,CACdr3P,KAAM,QAEV,EACMgzP,EAAa,eAAAx/O,GAAApb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAA49P,EAAOx9P,GAAI,IAAAqM,EAAA,OAAA1M,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,OAS5B,OAT4BirD,EAAAlrD,KAAA,EAE7B6yN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEpB38J,EAAAjrD,KAAA,EACoB43W,IAAWxkI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIxzO,GAAI,IAAEkwG,OAAO,EAAMmmK,UAAUrhQ,KAAK,KAAD,GAAjE3I,EAAMg/C,EAAA1qD,OAGN0L,IACFsuQ,IACA3nD,KAAAA,QACAA,KAAAA,KAAU,CACR3/K,MAAO,kBACP3O,KAAK,qCACLo8K,KAAM,UACN+H,mBAAoB,UAEtB81C,EAAgB,CAAEr3P,KAAM,SAE3B+jD,EAAAjrD,KAAA,gBAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAED2nK,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAA8qD,EAAA8wJ,MACH,yBAAA9wJ,EAAAnqD,OAAA,GAAAs8P,EAAA,kBAEN,gBAhCkBl3B,GAAA,OAAAxrN,EAAAtb,MAAA,KAAAC,UAAA,KAsCb25W,EAAW,WAEf,IACIpmJ,KAAAA,KAAU,CACN3/K,MAAO,8BACPi0B,KAAM,oBACNw5I,KAAM,UACNoH,kBAAkB,EAClBW,mBAAoB,QACpBE,kBAAmB,MACnByN,kBAAmB,kBAClBjmN,MAAK,SAAClE,GACHA,EAAOmmN,eJnBhB,SAA2ByhD,GAAAkkG,GAAA34W,MAAC,KAADC,UAAA,CIqBhB45W,CAAarkW,GAEXg+M,KAAAA,KAAU,CACN3/K,MAAO,YACPi0B,KAAM,oBACNw5I,KAAM,UACN+H,mBAAoB,UAEtB57L,EAAS,aAGrB,GAEF,CACA,MAAOzL,GACHzf,QAAQC,IAAIwf,EAChB,CACJ,EACIm5P,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAAq/P,IAAA,IAAA5yP,EAAAyjQ,EAAAgM,EAAA,OAAAn8Q,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,cAAA8+P,EAAA/+P,KAAA,EAAA++P,EAAA9+P,KAAA,EAEV03W,GAAe9iW,GAAI,KAAD,EAA3B,OAAN3I,EAAM6yP,EAAAv+P,KAAAu+P,EAAA9+P,KAAA,EACU61Q,GAAsBjhQ,GAAI,KAAD,EAAlC,OAAP86P,EAAO5Q,EAAAv+P,KAAAu+P,EAAA9+P,KAAA,EACSm2Q,GAA0BvhQ,GAAI,KAAD,EAA7C8mQ,EAAO5c,EAAAv+P,KAIbm4W,EAASzsW,GACT2sW,EAAUlpG,GACVopG,EAAUp9F,GACVlM,GAAW,GAAO1Q,EAAA9+P,KAAA,iBAAA8+P,EAAA/+P,KAAA,GAAA++P,EAAA/iD,GAAA+iD,EAAA,SAElBn9P,QAAQC,IAAGk9P,EAAA/iD,IACXyzD,GAAW,GAAO,yBAAA1Q,EAAAh+P,OAAA,GAAA+9P,EAAA,mBAEnB,CAACjqP,IAIJ,OAHAnR,EAAAA,EAAAA,YAAU,WACR82Q,GACF,GAAG,CAACA,KAEFz9B,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAz5O,SAAA,EACCK,EAAAA,EAAAA,KAACosQ,GAAQ,CACEl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,IAElB4zK,EAAMz2O,KAAI,SAAC60B,EAAMyyU,GAChB,OACEp8H,EAAAA,EAAAA,MAAA,OAAAx5O,SAAA,EACEw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,MAAKnsE,SAAA,EAClBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,qBAAoBnsE,UACjCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,cAAansE,SAAA,EAC1BK,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,aAAYnsE,SAAEmjC,EAAK0pO,UAAYrzB,EAAAA,EAAAA,MAACu7H,GAAW,CAAC,aAAW,gBAAe/0W,SAAA,EAClFK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACllH,QAASu4O,EAAOxyR,QAAQ,UAASjjF,SAAC,YAC1CK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACllH,QAASw4O,EAASzyR,QAAQ,SAAQjjF,SAAC,oBAI/Cw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,gBAAensE,SAAA,EAC5Bw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,mBAAiBmjC,EAAKgxO,gBAC5B9zQ,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,SACGmjC,EAAKixO,QAEd/zQ,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,cAAYmjC,EAAKyqO,SAAS,QAChCvtQ,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,YAAUmjC,EAAK6wU,WACrB3zW,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,YAAUmjC,EAAK2wU,WACrBzzW,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,eAAamjC,EAAKwqO,0BASlCttQ,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,qBAAoBnsE,UACjCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,cAAansE,UAC1BK,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,aAAYnsE,SAAC,oCAE7BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC5Bw5O,EAAAA,EAAAA,MAAC4f,GAAK,CAACK,YAAU,EAACttL,UAAU,yBAAwBnsE,SAAA,EAClDK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,gBAAensE,UAC9Bw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,SAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,SAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,iBAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,WAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,iBAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,mBAGpBK,EAAAA,EAAAA,KAAA,SAAAL,SACGu1W,EAAOjnW,KAAI,SAACinW,EAAQ7lW,GAAK,OACxB8pO,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAOr+G,OACZ72P,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAOp+G,OACZ92P,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAOj9F,iBACZj4Q,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAOh9F,gBACZl4Q,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAOM,eACZx1W,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAApiP,SAAC,iBANL0P,EAOJ,wBAYvBrP,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,uBAAsBnsE,UACnCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,cAAansE,UAC1BK,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,aAAYnsE,SAAC,4BAE7BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC5Bw5O,EAAAA,EAAAA,MAAC4f,GAAK,CAACK,YAAU,EAACttL,UAAU,yBAAwBnsE,SAAA,EAClDK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,gBAAensE,UAC9Bw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,QAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,SAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,SAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,iBAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,WAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,YAChBK,EAAAA,EAAAA,KAAA,MAAIy1R,MAAM,MAAK91R,SAAC,eAGpBK,EAAAA,EAAAA,KAAA,SAAAL,SACGq1W,EAAO/mW,KAAI,SAAC+mW,EAAQ3lW,GAAK,OACxB8pO,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MAAAL,SAAKq1W,EAAO9jG,aACZlxQ,EAAAA,EAAAA,KAAA,MAAAL,SAAKq1W,EAAOn+G,OACZ72P,EAAAA,EAAAA,KAAA,MAAAL,SAAKq1W,EAAOl+G,OACZ92P,EAAAA,EAAAA,KAAA,MAAAL,SAAKq1W,EAAO/8F,iBACZj4Q,EAAAA,EAAAA,KAAA,MAAAL,SAAKq1W,EAAO98F,gBACZl4Q,EAAAA,EAAAA,KAAA,MAAAL,SAAKq1W,EAAO78F,gBACZn4Q,EAAAA,EAAAA,KAAA,MAAAL,SAAKq1W,EAAO/gG,gBAPL5kQ,EASJ,wBA3GfkmW,EAyHd,IAIC9uW,EAAQwyO,SACPj5O,EAAAA,EAAAA,KAACw0W,GAAoB,CACnBn+G,OAAQ5vP,EAAQwyO,OAChBqd,aArMa,WACnBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EAoMQ+vW,SAAU5uH,EACT6R,cAAeA,MAM1B,EC1JA,GAnIsB,SAAC72P,GACnB,IACI22P,EAKA32P,EALA22P,OACAC,EAIA52P,EAJA42P,aACAC,EAGA72P,EAHA62P,cACAwW,EAEArtQ,EAFAqtQ,gBACA97P,EACAvR,EADAuR,GAEJjT,QAAQC,IAAIgT,GACZ,IAAAiiO,GAA+Bh7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAApC+jC,EAAS9jC,EAAA,GAAE+jC,EAAS/jC,EAAA,GAC3BG,GAA+Bp7E,EAAAA,EAAAA,UAAS,IAAGq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAApC6jC,EAAS5jC,EAAA,GAAE6jC,EAAS7jC,EAAA,GAC3BG,GAA+Bx7E,EAAAA,EAAAA,UAAS,IAAGy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAApC8iB,EAAS7iB,EAAA,GAAE8hI,EAAS9hI,EAAA,GAoB3B,OACI3zO,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UAEIw5O,EAAAA,EAAAA,MAAC6V,GAAK,CACFvtC,KAAM40C,EACNhG,OAAQiG,EAAa32P,SAAA,EAIrBK,EAAAA,EAAAA,KAACgvP,GAAAA,OAAY,CAAC7pC,aAAW,EAAAxlN,UACrBK,EAAAA,EAAAA,KAACgvP,GAAAA,MAAW,CAAArvP,SAAC,iBAEjBK,EAAAA,EAAAA,KAACgvP,GAAAA,KAAU,CAAArvP,UAEPw5O,EAAAA,EAAAA,MAAA,QAAMsd,SAhCA,SAACx6O,GACnBA,EAAMmvG,iBACN6rJ,EAAUvC,YAAYuC,EAAUvC,YAAauC,EAAUvC,YAAa,GACxC,IAAvBuC,EAAUvC,YAEXzlD,KAAAA,KAAU,CACNlS,KAAM,QACNztK,MAAO,iBACPi0B,KAAM,+BAKdgzL,EAAc0gB,EAAUE,EAAU3gB,EAItC,EAgBoBvlP,GAAG,SAAQtR,SAAA,EAEXw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAChCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,iBAE9BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAElCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACjBK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACHp3P,QAASy+P,EACTjwI,SAAU,SAAClpH,GACXsjQ,GAASznC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACJwnC,GAAS,IACZvC,YAAa9gQ,EAAEvV,MACfs2Q,WAAW,aACXzD,UAAUjgQ,IAEhB,UAINkoO,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAChCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,yBAE9BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAElCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLo/F,UAAW,IACX72B,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAAlpH,GAAOwjQ,GAAS3nC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACpB0nC,GAAS,IACZzC,YAAa9gQ,EAAEvH,OAAOhO,MACtBs2Q,WAAW,qBACXzD,UAAUjgQ,IACP,UAMpBkoO,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAChCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,QAE9BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAElCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,YACI8rE,UAAU,eACV62B,UAAW,IACXm6B,SAAU,SAAAlpH,GAAO6hW,GAAShmI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACpB+mB,GAAS,IACZke,YAAa9gQ,EAAEvH,OAAOhO,MACtBs2Q,WAAW,MACXzD,UAAUjgQ,IACP,UAIpBjR,EAAAA,EAAAA,KAAA,UAEAA,EAAAA,EAAAA,KAAC+hP,GAAM,CAACn/J,QAAQ,SAASi6C,QAASy5H,EAAa32P,SAAC,YAGpDK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACx+O,KAAK,SAAQ5D,SAAE,qBAiB3C,EC1CA,GAzFsB,SAACD,GACnB,IACI22P,EAIA32P,EAJA22P,OACAC,EAGA52P,EAHA42P,aACAC,EAEA72P,EAFA62P,cACAtlP,EACAvR,EADAuR,GAGJiiO,GAA8Bh7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAAnCsjB,EAASrjB,EAAA,GAAE3qF,EAAQ2qF,EAAA,GAoB1B,OACInzO,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UAEIw5O,EAAAA,EAAAA,MAAC6V,GAAK,CACFvtC,KAAM40C,EACNhG,OAAQiG,EAAa32P,SAAA,EAIrBK,EAAAA,EAAAA,KAACgvP,GAAAA,OAAY,CAAC7pC,aAAW,EAAAxlN,UACrBK,EAAAA,EAAAA,KAACgvP,GAAAA,MAAW,CAAArvP,SAAC,sCAEjBK,EAAAA,EAAAA,KAACgvP,GAAAA,KAAU,CAAArvP,UAEPw5O,EAAAA,EAAAA,MAAA,QAAMsd,SA9BA,SAACx6O,GACnBA,EAAMmvG,iBACNorI,EAAUke,YAAYle,EAAUke,YAAale,EAAUke,YAAa,GACxC,IAAvBle,EAAUke,YAEXzlD,KAAAA,KAAU,CACNlS,KAAM,QACNztK,MAAO,gBACPi0B,KAAM,oBAKdgzL,EAAcC,EAElB,EAgBoBvlP,GAAG,SAAQtR,SAAA,EAEXw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAChCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,wBAE9BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAElCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAAlpH,GAAO40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IACpCke,YAAa9gQ,EAAEvH,OAAOhO,MACrBs2Q,WAAW,oBACXzD,UAAUjgQ,IACX,UAMhBjR,EAAAA,EAAAA,KAAA,UAEAA,EAAAA,EAAAA,KAAC+hP,GAAM,CAACn/J,QAAQ,SAASi6C,QAASy5H,EAAa32P,SAAC,YAGpDK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACx+O,KAAK,SAAQ5D,SAAE,qBAiB3C,ECvFe,SAAS+1W,GAAM3+V,GAAmE,IAAhE4+V,EAAY5+V,EAAZ4+V,aAAcC,EAAc7+V,EAAd6+V,eAAeC,EAAS9+V,EAAT8+V,UAAUC,EAAW/+V,EAAX++V,YAAYC,EAAIh/V,EAAJg/V,KAAKC,EAAIj/V,EAAJi/V,KACjF5rI,EAAM,IAAI8hE,GAAM,CACpBtnP,KAAM,KACNmlO,YAAa,YACbzzQ,OAAQ,OAEkB,MAAxBq/V,EAAaroG,YAEfqoG,EAAaroG,UAAU,IAEE,MAAvBqoG,EAAapoG,WAEfooG,EAAapoG,SAAS,IAExBooG,EAAaliG,KAAOkiG,EAAaliG,KAAMkiG,EAAaliG,KAAKkiG,EAAaM,UACtEN,EAAaniG,MAAQmiG,EAAaniG,MAAOmiG,EAAaniG,MAAMmiG,EAAaO,UACzEP,EAAazhG,WAAayhG,EAAazhG,WAAYyhG,EAAazhG,WAAayhG,EAAaz9F,aAC1Fy9F,EAAajiG,SAAWiiG,EAAajiG,SAAWiiG,EAAajiG,SAAWhoQ,OAAOiqW,EAAaM,UAAUN,EAAaO,WACnHP,EAAaQ,UAAYR,EAAaQ,UAAYR,EAAaQ,UAAWJ,EAC1EJ,EAAaS,WAAaT,EAAaS,WAAaT,EAAaS,WAAYJ,EAC7EL,EAAax9F,aAAew9F,EAAax9F,aAAew9F,EAAax9F,cAAe,IAAI94Q,MAAOg3W,qBAC/F,IAAMC,EAAY,WAAkB,IAAjB77S,EAAO/+D,UAAAsJ,OAAA,QAAAC,IAAAvJ,UAAA,GAAAA,UAAA,GAAG,EAOvB66W,EAAW97S,EAAU,KADTo7S,EAC4B,GAAK,GAEjDzrI,EAAIwtD,aAAQ3yR,EAAW,QACvBmlO,EAAIuiD,YAAY,GAEhBviD,EAAI7mK,KAAK,IAAKgzS,EAAS,EAAG,IAE1BnsI,EAAIuiD,YAAY,GAChBviD,EAAIwtD,aAAQ3yR,EAAW,UAGvBmlO,EAAI7mK,KAAKoyS,EAAax9F,aAAc19M,EAAU,GAAI,IAGlD2vK,EAAI7mK,KAAKoyS,EAAa7hG,YAAar5M,EAAU,GAAI,IAGjD2vK,EAAI7mK,KAAKoyS,EAAa5hG,IAAKt5M,EAAU,GAAI,IAGzC2vK,EAAI7mK,KAAKoyS,EAAaroG,UAAW7yM,EAAU,IAAK,IAEhD2vK,EAAI7mK,KAAKoyS,EAAapoG,SAAU9yM,EAAU,IAAK,IAEN,IACU7xB,EADnDC,GAAAC,EAAAA,GAAAA,GAC2B8sU,EAAevjW,WAAS,IAAnD,IAAAw2B,EAAAG,MAAAJ,EAAAC,EAAA7B,KAAA98B,MAAqD,CAAC,IAADssW,GAAAv/V,EAAAA,EAAAA,GAAA2xB,EAAAvqC,MAAA,GAAzCgR,EAAKmnW,EAAA,GAAE5xW,EAAG4xW,EAAA,GACpBC,EAAO7xW,EAAK61D,EAAQ,EAAG,GA9BZ,GA8BsBprD,EACnC,CAEgB,CAAhB,MAAAoO,GAAAorB,EAAAj1B,EAAA6J,EAAA,SAAAorB,EAAAK,GAAA,CACAkhM,EAAI7mK,KAAK35D,OAAO+rW,EAAaQ,WAAY17S,EAAU,IAAK,KAGxD2vK,EAAI7mK,KAAK35D,OAAO+rW,EAAaS,YAAa37S,EAAU,IAAK,KAGzD2vK,EAAI7mK,KAAKuyS,EAAar7S,EAAU,GAAI,IAClC,CAAEirI,SAAU,MAGd0kC,EAAI7mK,KAAK35D,OAAO+rW,EAAazhG,YAAaz5M,EAAU,IAAK,KAGzD2vK,EAAI7mK,KAAK35D,OAAO+rW,EAAaliG,MAAOh5M,EAAU,IAAK,KAGnD2vK,EAAI7mK,KAAK35D,OAAO+rW,EAAaniG,OAAQ/4M,EAAU,IAAK,KAGpD2vK,EAAI7mK,KAAK35D,OAAO+rW,EAAajiG,UAAWj5M,EAAU,IAAK,IACzD,EAGMg8S,EAAS,SAACx6W,GAAoB,IAAdyuB,EAAChvB,UAAAsJ,OAAA,QAAAC,IAAAvJ,UAAA,GAAAA,UAAA,GAAG,EAAGivB,EAACjvB,UAAAsJ,OAAA,EAAAtJ,UAAA,QAAAuJ,EAC5BmlO,EAAIwtD,aAAQ3yR,EAAW,QACvBmlO,EAAIuiD,YAAY,GAChBviD,EAAI7mK,KAAK35D,OAAO3N,EAAK02W,UAAWjoV,EAAI,GAAIC,GACxCy/M,EAAI7mK,KAAK35D,OAAO3N,EAAKy6W,QAAShsV,EAAI,GAAIC,GACtCy/M,EAAIwtD,aAAQ3yR,EAAW,UACvBmlO,EAAIuiD,YAAY,GAChBviD,EAAI7mK,KAAKtnE,EAAK8pQ,SAAUr7O,EAAI,GAAIC,EAC9B,CAAC+6K,SAAU,KAGb0kC,EAAI7mK,KAAK35D,OAAO3N,EAAK06W,QAASjsV,EAAI,IAAKC,GACvCy/M,EAAI7mK,KAAK35D,OAAO3N,EAAK26W,QAASlsV,EAAI,IAAKC,GACvCy/M,EAAI7mK,KAAK35D,OAAO3N,EAAK46W,OAAQnsV,EAAI,IAAKC,GACtCy/M,EAAI7mK,KAAK35D,OAAO3N,EAAK66W,MAAOpsV,EAAI,IAAKC,EAEvC,EAIA2rV,IAEAA,EAAU,KAGVlsI,EAAIq8D,YACJr8D,EAAI9pF,OAAO,mBACb,CCnGuBn2H,EAAQ,MAA/B,IACI4sV,GAAU,CACV7pV,OAAQ,MAER8pV,GAAW,CACXC,UAAW,iBAEX/pV,OAAQ,OAERgqV,GAAW,CACXD,UAAW,iBAEX/pV,OAAQ,OAGRiqV,GAAW,CACXF,UAAW,iBACX/pV,OAAQ,MAERkqV,GAAW,CAGXlqV,OAAQ,MAGRmqV,GAAY,CACZJ,UAAW,iBAEX/pV,OAAQ,MAERoqV,GAAa,CACbL,UAAW,iBAEX/pV,OAAQ,MAERqqV,GAAW,CACXC,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEVk+S,GAAW,CACXD,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEVm+S,GAAW,CACXF,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVo+S,GAAW,CACXH,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVq+S,GAAW,CACXJ,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEVs+S,GAAW,CACXL,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVu+S,GAAW,CAEX/qV,MAAO,MACPwsC,SAAU,GAEVw+S,GAAe,CACfP,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVy+S,GAAgB,CAEhBjrV,MAAO,MACPwsC,SAAU,GAEV0+S,GAAiB,CACjBT,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEV2+S,GAAkB,CAClBV,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,IAEV4+S,GAAkB,CAClBX,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,IAEV6+S,GAAkB,CAElBrrV,MAAO,MACPwsC,SAAU,IAEV8+S,GAAc,CACdb,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEV++S,GAAe,CAEfvrV,MAAO,MACPwsC,SAAU,IAEVg/S,GAAY,CAEZxrV,MAAO,OACPwsC,SAAU,IAEVi/S,GAAY,CAEZzrV,MAAO,OACPwsC,SAAU,IAEVk/S,GAAY,CAEZ1rV,MAAO,QACPwsC,SAAU,IAEVm/S,GAAY,CAEZ3rV,MAAO,OACPwsC,SAAU,IAEVo/S,GAAY,CAEZ5rV,MAAO,OACPwsC,SAAU,IAEVq/S,GAAY,CAEZ7rV,MAAO,OACPwsC,SAAU,IAEVs/S,GAAY,CACZ9rV,MAAO,OACPwsC,SAAU,IAEVu/S,GAAY,CACZtB,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,IAEVw/S,GAAY,CACZhsV,MAAO,MACPwsC,SAAU,GACVnR,MAAM,OAEJqyM,GAAc,SAACC,EAASzqO,GAC1B,OAAQA,EAAM1sB,MACZ,IAAK,OACH,MAAO,CACL01O,QAAQ,EACRsd,cAAetmO,EAAMsmO,cACrB+gB,QAASrnP,EAAMqnP,SAEjB,IAAK,QACD,MAAO,CACHr+B,QAAQ,EACV0yB,SAAS,EACTpV,cAAetmO,EAAMsmO,eAE7B,IAAK,MACH,OAAA9mB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,EAAO0yB,SAAS,IAGnD,EA0ZF,GAzZqB,WAAO,IAADmpG,EACvB5hI,GAAgCh7E,EAAAA,EAAAA,UAAS,CAAC,GAAEi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAArCh2O,EAAQi2O,EAAA,GAAEy4B,EAAWz4B,EAAA,GAC5BG,GAA8Bp7E,EAAAA,EAAAA,WAAS,GAAKq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAArCxiK,EAAOyiK,EAAA,GAAEs4B,EAAUt4B,EAAA,GAC1BoF,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACvDxhB,QAAQ,EACR0yB,SAAQ,EACR2L,QAAS,KACT/gB,cAAe,OACf3d,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GALGlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,GAMvBogI,EAAoB,WACxBp+G,EAAgB,CACdr3P,KAAM,QAEV,EACM01W,EAAwB,WAC5Br+G,EAAgB,CACZr3P,KAAM,SAEZ,EACM21W,EAAa,WAClB,IAAMvD,EAAewD,EAAc,GAC7BtD,GAAWuD,EAEbtD,EAAauD,EAAet3W,eAAe4zW,EAAaz9F,cAA3CmhG,eACXtD,EAAOH,EAAexkV,QAAO,SAACgiC,EAAU/nC,GAC7C,OAAO+nC,EAAY1nD,OAAO2f,EAAQwrV,MAEpC,GAAG,GACGb,EAAOJ,EAAexkV,QAAO,SAACgiC,EAAU/nC,GAC5C,OAAO+nC,EAAY1nD,OAAO2f,EAAQyrV,KAEpC,GAAG,GACFpB,GAAO,CAAEC,aAAAA,EAAcC,eAAAA,EAAeC,UAAAA,EAAUC,YAAAA,EAAYC,KAAAA,EAAKC,KAAAA,GAClE,EACM1/G,EAAe,WACnBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EACM+1W,EAAgB,eAAAviW,GAAApb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAA49P,EAAOoe,EAAMC,EAAMw6F,GAAK,IAAAhqW,EAAAyjQ,EAAAgM,EAAAwhG,EAAAC,EAAA,OAAA59W,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,cAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAAjrD,KAAA,EAGrBi4Q,GAAcuD,GAAO,KAAD,EAA9B,OAANvvQ,EAAMg/C,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,EACWi4Q,GAAcwD,GAAO,KAAD,EAA9B,OAAP/L,EAAOzkN,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,EACUi4Q,GAAcg+F,GAAO,KAAD,EAA9B,GAAPv6F,EAAOzwN,EAAA1qD,OACT0L,GAAUyjQ,GAAWgM,GAAO,CAAAzwN,EAAAjrD,KAAA,aAC1BiM,IAAUyjQ,EAAO,CAAAzkN,EAAAjrD,KAAA,SAKhB,OAJH4yN,KAAAA,KAAU,CACR3/K,MAAO,qBACP3O,KAAK,4BACLo8K,KAAM,YACLz1J,EAAAjrD,KAAA,GACmBy0Q,GAAeqoG,EAAc,GAAGjoG,WAAW,KAAD,GAAnD,OAAXqoG,EAAWjyT,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,GACU+0Q,GAAoB+nG,EAAc,GAAGjoG,WAAW,KAAD,GAAnEsoG,EAAWlyT,EAAA1qD,KAClB68W,EAAWF,GACXG,EAAWF,GACXG,EAAatuV,QAAQysP,EAAMpD,YAC3BklG,EAAavuV,SAAQ,EACjBuvO,EAAgB,CAAEr3P,KAAM,QAAS,QAAA+jD,EAAAjrD,KAAA,iBAAAirD,EAAAlrD,KAAA,GAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAIrC2nK,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAA8qD,EAAA8wJ,MACH,yBAAA9wJ,EAAAnqD,OAAA,GAAAs8P,EAAA,mBAGR,gBA9BqBl3B,EAAAo3B,EAAAt8P,GAAA,OAAA0Z,EAAAtb,MAAA,KAAAC,UAAA,KAgClBuV,EAAmB,QAAjB6jW,GADSl1K,EAAAA,EAAAA,MACG3vK,aAAK,IAAA6kV,OAAA,EAAdA,EAAgB7jW,GAC3ByiO,GAAsBx7E,EAAAA,EAAAA,UAASjnJ,GAAG0iO,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAA3BmmI,EAAGlmI,EAAA,GACVG,GADkBH,EAAA,IACkBz7E,EAAAA,EAAAA,UAAS,KAAG67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAAzCqlI,EAAaplI,EAAA,GAAE0lI,EAAU1lI,EAAA,GAChCG,GAAqCh8E,EAAAA,EAAAA,UAAS,IAAGi8E,GAAAl9N,EAAAA,EAAAA,GAAAi9N,EAAA,GAA1C0hI,EAAczhI,EAAA,GAAEulI,EAAUvlI,EAAA,GACjCE,GAA8Bn8E,EAAAA,EAAAA,YAAUo8E,GAAAr9N,EAAAA,EAAAA,GAAAo9N,EAAA,GAAjC+kI,EAAO9kI,EAAA,GAAEwlI,EAAUxlI,EAAA,GAC1BG,GAA8Bv8E,EAAAA,EAAAA,YAAUw8E,GAAAz9N,EAAAA,EAAAA,GAAAw9N,EAAA,GAAjCslI,EAAOrlI,EAAA,GAAEslI,EAAUtlI,EAAA,GACpBulI,GAAUruV,EAAAA,EAAAA,SAAO,GACjBguV,GAAahuV,EAAAA,EAAAA,SAAO,GACpBsuV,GAAetuV,EAAAA,EAAAA,SAAO,GACtBuuV,GAAWvuV,EAAAA,EAAAA,QAAO,IAClB+tV,GAAa/tV,EAAAA,EAAAA,QAAO,MAC1BipN,GAA8C38E,EAAAA,EAAAA,UAAS,IAAG48E,GAAA79N,EAAAA,EAAAA,GAAA49N,EAAA,GAAnDk4B,EAAej4B,EAAA,GAAEk4B,EAAkBl4B,EAAA,GACpCukI,EAAiBlvV,EAAQ,MAEzBysP,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAAq/P,IAAA,IAAAF,EAAAo/G,EAAA1iG,EAAA3L,EAAA8K,EAAAc,EAAA,OAAA/7Q,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,cAAA8+P,EAAA/+P,KAAA,EAAA++P,EAAA9+P,KAAA,EAEFy0Q,GAAe+oG,GAAK,KAAD,EAA5B,OAAV7+G,EAAUG,EAAAv+P,KAAAu+P,EAAA9+P,KAAA,EACU+0Q,GAAoByoG,GAAK,KAAD,EAAjC,OAAXO,EAAWj/G,EAAAv+P,KAAAu+P,EAAA9+P,KAAA,EACQowQ,KAAiB,OAA1B,OAAViL,EAAUvc,EAAAv+P,KAAAu+P,EAAA9+P,KAAA,IACOd,EAAAA,GAAAA,MAAqB,KAAD,GAArCwwQ,EAAO5Q,EAAAv+P,KACbgvQ,EAAYG,GACN8K,EAAgBa,EAAWzpQ,KAAI,SAAC60B,GAC9B,MAAO,CAAExkC,MAAOwkC,EAAK0pO,OAAQnuQ,MAAOykC,EAAK0pO,OAC/C,IACEmL,EAAYd,EAAcvtQ,QAAO,SAAAw5B,GAAI,MAAgB,YAAZA,EAAKxkC,KAAiB,IACnE0uQ,EAAmB2K,GAEa,GAA5B3c,EAAW,GAAGu3G,QAAQt2W,OAEtBk+W,EAAW9uV,QAAQ,UACnB4uV,EAAU5uV,SAAQ,EAClBuuV,EAAavuV,SAAQ,EACrB6uV,EAAe7uV,SAAQ,GAEW,MAAnC2vO,EAAW,GAAG6Y,sBAEb+lG,EAAavuV,SAAQ,GAEzBsuV,EAAatuV,QAAQ2vO,EAAW,GAAG6Y,oBACF,WAA7B7Y,EAAW,GAAGiZ,aACd6lG,GAAW,GACXE,GAAW,KAEXF,GAAW,GACXE,GAAW,IAEfP,EAAWz+G,GACX0+G,EAAWU,GACXvuG,GAAW,GAAO1Q,EAAA9+P,KAAA,iBAAA8+P,EAAA/+P,KAAA,GAAA++P,EAAA/iD,GAAA+iD,EAAA,SAElBn9P,QAAQC,IAAGk9P,EAAA/iD,IACXyzD,GAAW,GAAO,yBAAA1Q,EAAAh+P,OAAA,GAAA+9P,EAAA,mBAEvB,CAACjqP,KACJnR,EAAAA,EAAAA,YAAU,WACN82Q,GACJ,GAAG,CAACA,IAGJ,IAAMyjG,GAAS,WACf,IACIprJ,KAAAA,KAAU,CACN3/K,MAAO,4BACPi0B,KAAM,oBACNw5I,KAAM,UACNoH,kBAAkB,EAClBW,mBAAoB,QACpBE,kBAAmB,MACnByN,kBAAmB,eAClBjmN,MAAK,SAAClE,GACHA,EAAOmmN,eACP9yN,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAAC,IAAA,OAAAF,EAAAA,GAAAA,KAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACGw4Q,GAAc5jQ,GAAG,wBAAA9U,EAAAgB,OAAA,GAAArB,EAAA,IADrBH,GAGIi7Q,IACAujG,EAAW9uV,QAAQ,UACnB4uV,EAAU5uV,SAAQ,EAClBuuV,EAAavuV,SAAQ,EACrB6uV,EAAe7uV,SAAQ,EACvBsuV,EAAatuV,QAAQ,KACrB4jM,KAAAA,KAAU,CACN3/K,MAAO,UACPi0B,KAAM,kBACNw5I,KAAM,UAEN+H,mBAAoB,UAKlC,GAEF,CACA,MAAOrnM,GACHzf,QAAQC,IAAIwf,EAChB,CACJ,EACM68V,GAAmB,eAAAj0W,GAAA1K,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAI,SAAA+qQ,EAAO3qQ,GAAI,IAAAqM,EAAAixW,EAAAC,EAAA,OAAA59W,EAAAA,GAAAA,KAAAM,MAAA,SAAA2qQ,GAAA,cAAAA,EAAAzqQ,KAAAyqQ,EAAAxqQ,MAAA,OACnB,OAAjB2B,QAAQC,IAAIhC,GAAK4qQ,EAAAzqQ,KAAA,EAAAyqQ,EAAAxqQ,KAAA,EAESi4Q,GAAcr4Q,GAAM,KAAD,EAA7B,KAANqM,EAAMu+P,EAAAjqQ,MAGF,CAAAiqQ,EAAAxqQ,KAAA,aACJiM,EAAM,CAAAu+P,EAAAxqQ,KAAA,SAKL,OAJH4yN,KAAAA,KAAU,CACR3/K,MAAO,0BACP3O,KAAK,4BACLo8K,KAAM,YACL8pD,EAAAxqQ,KAAA,GACqBy0Q,GAAe7/P,GAAI,KAAD,GAA3B,OAAXsoW,EAAW1yG,EAAAjqQ,KAAAiqQ,EAAAxqQ,KAAA,GACQ+0Q,GAAoBngQ,GAAI,KAAD,GAA3CuoW,EAAW3yG,EAAAjqQ,KAClB68W,EAAWF,GACXG,EAAWF,GACP5+G,EAAgB,CAAEr3P,KAAM,QAAS,QAAAsjQ,EAAAxqQ,KAAA,iBAAAwqQ,EAAAzqQ,KAAA,GAAAyqQ,EAAAzuD,GAAAyuD,EAAA,SAIrC53C,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAAqqQ,EAAAzuD,MACH,yBAAAyuD,EAAA1pQ,OAAA,GAAAypQ,EAAA,mBAGV,gBA5BwBsJ,GAAA,OAAA7pQ,EAAA5K,MAAA,KAAAC,UAAA,KA+BzB,OACIy9O,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAz5O,SAAA,EACCK,EAAAA,EAAAA,KAACosQ,GAAQ,CACFl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,IAEZqoS,EAAclrW,KAAI,SAAC0nW,EAAcJ,GAC9B,OACIv1W,EAAAA,EAAAA,KAAA,OAAAL,UAEIw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,MAAKnsE,SAAA,EAChBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,0BAAyBnsE,UACpCw5O,EAAAA,EAAAA,MAAA,OAAKhhL,MACD,CACI+b,OAAQ,kBACRnnD,MAAO,SACPG,OAAQ,UACRopC,WAAY,SAEnB32D,SAAA,EAEGw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,2CAA2C3T,MAAO4+S,GAAQp3W,SAAA,EACrEw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,MAAM3T,MAAO2gT,GAAUn5W,SAAA,EACtCw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,aAAWg2W,EAAaj/G,SAAS,QAChEvd,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,mBAAiBg2W,EAAa9+G,IAAI,IAAE8+G,EAAa7+G,IAAI,IAAE6+G,EAAa19F,cAAc,WAGjHj4Q,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAM3T,MAAO4gT,GAAUp5W,UACtCK,EAAAA,EAAAA,KAAA,QAAAL,SAAOw6W,EAAW9uV,gBAKtB8tN,EAAAA,EAAAA,MAAA,OAAKhhL,MAAO6+S,GAASr3W,SAAA,EAGjBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,2CAA0CnsE,SAAA,EACrDw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,kBAAgBg2W,EAAax9F,aAAa,QACzEh/B,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,2BAAuBK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,WAAWigK,eAAgB41M,IAAW,YAAQp5W,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,WAAWigK,eAAgBu2M,WAE3J/5W,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAAkBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,OAAO3T,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,0BAAwBg2W,EAAa7hG,kBAEzF36B,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,2CAA0CnsE,SAAA,EACrDw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,mBAAiBg2W,EAAa5hG,QAC7D56B,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,GAAI55D,SAAA,CAAC,aAAWg2W,EAAaroG,cACtDn0B,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,GAAI55D,SAAA,CAAC,OAAKg2W,EAAapoG,aAChDvtQ,EAAAA,EAAAA,KAAA,iBAGRm5O,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOm/S,GAAYxrS,UAAU,6BAA4BnsE,SAAA,EAC1DK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO4/S,MAC7B/3W,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAO6/S,GAAcr4W,UAACK,EAAAA,EAAAA,KAAA,QAAAL,SAAM,gBAG/Ew5O,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOk/S,GAAWvrS,UAAU,6BAA4BnsE,SAAA,EACzDK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOo/S,GAAS53W,SAAC,WACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOs/S,GAAS93W,SAAC,aACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOu/S,GAAS/3W,SAAC,iBACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOw/S,GAASh4W,SAAC,iBACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOy/S,GAASj4W,SAAC,aACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO0/S,GAASl4W,SAAC,QACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO2/S,GAASn4W,SAAC,YAE3CK,EAAAA,EAAAA,KAAA,SAAOm4D,MAAO++S,GAAUprS,UAAU,6BAA4BnsE,UAE1DK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,GAAG3T,MAAO,CAAEjrC,OAAQ,OAAQH,MAAO,QAASptB,SACxDi2W,EAAe3nW,KAAI,SAAC2nW,EAAgBvmW,GACjC,OACI8pO,EAAAA,EAAAA,MAAA,MAAgBhhL,MAAO,CAAEjrC,OAAQ,OAAQH,MAAO,QAASptB,SAAA,EACrDK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOogT,GAAU54W,UAACw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,gCAA+BnsE,SAAA,CAAE,IAAEi2W,EAAejD,SAAS,UACjG3yW,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOqgT,GAAU74W,UAACw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,gCAA+BnsE,SAAA,CAAE,IAAEi2W,EAAec,OAAO,UAC/F12W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOsgT,GAAU94W,UAAEw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAe7vG,SAAS,UACvD/lQ,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOugT,GAAU/4W,UAACw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAee,OAAO,UACpD32W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOwgT,GAAUh5W,UAACK,EAAAA,EAAAA,KAAA,QAAAL,SAAOi2W,EAAegB,YAC5C52W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOygT,GAAUj5W,UAACw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAeiB,MAAM,UACnD72W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO0gT,GAAUl5W,UAACw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAekB,KAAK,WAP7CznW,EAUjB,SAKR8pO,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOm/S,GAAYxrS,UAAU,6BAA4BnsE,SAAA,EAE1DK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,8BAA8B3T,MAAO8/S,GAAet4W,SAAC,eACpEK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAO+/S,GAAgBv4W,UAACK,EAAAA,EAAAA,KAAA,cACvEA,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAOggT,GAAgBx4W,UAACK,EAAAA,EAAAA,KAAA,QAAAL,SAAOg2W,EAAaQ,eAC3Fn2W,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAOigT,GAAgBz4W,UAACK,EAAAA,EAAAA,KAAA,QAAAL,SAAOg2W,EAAaS,mBAI/Fj9H,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOg/S,GAAUrrS,UAAU,6BAA4BnsE,SAAA,EACxDw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA8B3T,MAAOkgT,GAAY14W,SAAA,CAAC,6BAAyBw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,GAAG55D,SAAA,CAAG05W,EAAet3W,eAAe4zW,EAAaz9F,cAAc,yBAA0B,QAC5Ml4Q,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAOmgT,GAAa34W,SAAEg2W,EAAaz9F,mBAEtFl4Q,EAAAA,EAAAA,KAAA,OAAKm4D,MAAOi/S,GAASz3W,UACjBw5O,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOg/S,GAAUrrS,UAAU,iCAAgCnsE,SAAA,EAC5Dw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mCAAmC3T,MAAOkgT,GAAY14W,SAAA,CAAC,8BAA0Bw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEg2W,EAAaM,iBACrH98H,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAqC3T,MAAOkgT,GAAY14W,SAAA,CAAC,SAAOg2W,EAAaO,cAC5F/8H,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAqC3T,MAAOkgT,GAAY14W,SAAA,CAAC,cAAYg2W,EAAa4E,uBAOjHphI,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qBAAoBnsE,SAAA,EAC/BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAChBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACtBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACjBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,cAAansE,SAAA,EACxBK,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,aAAYnsE,SAAC,iBACJ,MAAtBzC,EAASivQ,YACVhzB,EAAAA,EAAAA,MAACu7H,GAAW,CAAC7oW,KAAK,KAAK,aAAW,gBAAelM,SAAA,EAC7CK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAC1yG,SAAU4qO,EAAU5uV,QAAQwxG,QAASw9O,GAAQz3R,QAAQ,SAAQjjF,SAAC,YACtEK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAC1yG,SAAUuqO,EAAavuV,QAAQwxG,QAASm8O,EAAkBr5W,SAAE,eACpEK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAC1yG,SAAU6qO,EAAe7uV,QAASwxG,QAASo8O,EAAsBt5W,SAAC,uBAC1EK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAEllH,QAASq8O,EAAWv5W,SAAC,gBAGjC8G,EAAQwyO,SACTj5O,EAAAA,EAAAA,KAACw6W,GAAa,CACdnkH,OAAQ5vP,EAAQwyO,OAChBqd,aAAcA,EACdyW,gBAAiBA,EACjBxW,cAAe+iH,EACfroW,GAAIkoW,EAAc,GAAGjoG,YAGpBzqQ,EAAQklQ,UACT3rQ,EAAAA,EAAAA,KAACy6W,GAAa,CACdpkH,OAAQ5vP,EAAQklQ,QAChBrV,aAAcA,EACdC,cAAe+jH,GACfrpW,GAAIA,QAKRkoO,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,gBAAensE,SAAA,EAC1Bw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,oBAAkBg2W,EAAapmG,gBACrCvvQ,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,2BACsBg6W,EAAatuV,YAEzCrrB,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,qBACeg2W,EAAa1hG,gBAElCj0Q,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,uBAAqBg2W,EAAapiG,qBAAqB,QAC7DvzQ,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,SAAOg2W,EAAaxhG,IAAI,QAC9Bn0Q,EAAAA,EAAAA,KAAA,oBAKhBA,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,cAAansE,UAC1BK,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,aAAYnsE,SAAC,mCAE7BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAC4f,GAAK,CAACK,YAAU,EAACttL,UAAU,yBAAwBnsE,SAAA,EAClDK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,gBAAensE,UAC9Bw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAACoB,SAAU,IAAIk8N,MAAM,MAAK91R,SAAC,uBACtCK,EAAAA,EAAAA,KAAA,MAAKm4D,MAAO,CAACoB,SAAU,IAAKk8N,MAAM,MAAK91R,SAAC,YACxCK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAACoB,SAAU,IAAMk8N,MAAM,MAAK91R,SAAC,iBACxCK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAACoB,SAAU,IAAKk8N,MAAM,MAAK91R,SAAC,gBACvCK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAACoB,SAAU,IAAKk8N,MAAM,MAAK91R,SAAC,gBAG3CK,EAAAA,EAAAA,KAAA,SAAAL,SACGi2W,EAAe3nW,KAAI,SAACinW,EAAQ7lW,GAAK,OAChC8pO,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAOnvG,YACZ/lQ,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAOwF,sBACZ16W,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAOyB,UACZ32W,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAOyF,kBACZ36W,EAAAA,EAAAA,KAAA,MAAAL,SAAKu1W,EAAO7hG,cALLhkQ,EAMJ,yBAjLLkmW,EAgMlB,MAKZ,ECnkBM96G,GAAc,SAACC,EAASzqO,GAC5B,OAAQA,EAAM1sB,MACZ,IAAK,OACH,MAAO,CACL01O,QAAQ,EACRsd,cAAetmO,EAAMsmO,cACrB+gB,QAASrnP,EAAMqnP,SAEjB,IAAK,QACD,MAAO,CACHr+B,QAAQ,EACV0yB,SAAS,EACTpV,cAAetmO,EAAMsmO,eAE7B,IAAK,MACH,OAAA9mB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,EAAO0yB,SAAS,IAGnD,EAwOA,GAvOoB,WAClB,IAAMivG,GAAShvV,EAAAA,EAAAA,SAAO,GACtBsnN,GAA8Ch7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAAnD65B,EAAe55B,EAAA,GAAE65B,EAAkB75B,EAAA,GAC1CG,GAAgCp7E,EAAAA,EAAAA,UAAS,CACvCm/G,MAAO,GACPr7Q,SAAU,KACVu3O,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAHKikC,EAAQhkC,EAAA,GAAEikC,EAAWjkC,EAAA,GAI5BG,GAA8Bx7E,EAAAA,EAAAA,WAAS,GAAKy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAArC5iK,EAAO6iK,EAAA,GAAEk4B,EAAUl4B,EAAA,GAC1BG,GAAwB57E,EAAAA,EAAAA,UAAS,IAAG67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAA7B73O,EAAI83O,EAAA,GAAE0iC,EAAO1iC,EAAA,GAGZpgG,GAFW/hI,SAAS49H,iBAAiB,yBACpB59H,SAASsmB,cAAc,6BACzB,SAACtkB,GAEpB,IAAA6jQ,EAA2B7jQ,EAAEvH,OAArBhO,EAAKo5Q,EAALp5Q,MAAO8qE,EAAOsuM,EAAPtuM,QACPkuM,EAAUE,EAAVF,MAGNG,EADEruM,EACU,CACVkuM,MAAM,GAAD76Q,QAAAqtC,EAAAA,GAAAA,GAAMwtO,GAAK,CAAEh5Q,IAClBrC,SAAS,GAADQ,QAAAqtC,EAAAA,GAAAA,GAAMwtO,GAAK,CAAEh5Q,KAMX,CACVg5Q,MAAOA,EAAM/tQ,QAAO,SAACsK,GAAC,OAAKA,IAAMvV,CAAK,IACtCrC,SAAUq7Q,EAAM/tQ,QAAO,SAACsK,GAAC,OAAKA,IAAMvV,CAAK,KAG/C,GAEEs6O,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACzDxhB,QAAQ,EACR0yB,SAAQ,EACR2L,QAAS,KACT/gB,cAAe,OACf3d,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GALKlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,GAezBg+B,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAnxP,EAAAovQ,EAAAb,EAAAc,EAAA,OAAA/7Q,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,cAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAAjrD,KAAA,EAGVozQ,KAAqC,KAAD,EAA7C,OAANnnQ,EAAMg/C,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,EACaowQ,KAAiB,OAApCiL,EAAUpwN,EAAA1qD,KACVi6Q,EAAgBa,EAAWzpQ,KAAI,SAAC60B,GAC9B,MAAO,CAAExkC,MAAOwkC,EAAK0pO,OAAQnuQ,MAAOykC,EAAK0pO,OAC/C,IACEmL,EAAYd,EAAcvtQ,QAAO,SAAAw5B,GAAI,MAAgB,YAAZA,EAAKxkC,KAAiB,IACnE0uQ,EAAmB2K,GACnBlB,EAAQnuQ,GACRujQ,GAAW,GAAOvkN,EAAAjrD,KAAA,iBAAAirD,EAAAlrD,KAAA,GAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAElBtpD,QAAQC,IAAGqpD,EAAA8wJ,IACXyzD,GAAW,GAAO,yBAAAvkN,EAAAnqD,OAAA,GAAAs8P,EAAA,qBAGtB35P,EAAAA,EAAAA,YAAU,WACR82Q,GACF,GAAG,IACH,IAAMG,GAAWnrP,EAAAA,EAAAA,QAAO,MACxB,SAASgsP,IAEP,IADA,IAAIltP,EAAI9Y,SAASsgN,uBAAuB,oBAChCrtN,EAAE,EAAGA,EAAE6lB,EAAE1lB,OAAQH,IACtB6lB,EAAE7lB,GAAGskE,SAAU,CAEpB,CACA,IAAMotL,EAAa,eAAAv/O,GAAArb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAAq/P,EAAO2c,EAAMC,GAAK,IAAAjzQ,EAAAkzQ,EAAA,OAAAn8Q,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,OAAA8+P,EAAA/+P,KAAA,EAGpC6yN,KAAAA,KAAU,CACR3/K,MAAO,gBACP3O,KAAM,qBACN6xL,mBAAmB,EAClBrO,kBAAkB,EACnBF,mBAAmB,IAEZp/M,EAAI,EAAE,KAAD,OAAEA,EAAI0yQ,EAASF,MAAMryQ,QAAM,CAAAm2P,EAAA9+P,KAAA,SAGN,OADjCw7Q,EAAM3G,UAAUqG,EAASF,MAAMxyQ,GAC/BizQ,EAAM5G,UAAUqG,EAASF,MAAMxyQ,GAAEs2P,EAAA9+P,KAAA,EACVi4Q,GAAcuD,GAAO,KAAD,EAA9B,OAAA1c,EAAAv+P,KAAAu+P,EAAA9+P,KAAA,GACWi4Q,GAAcwD,GAAO,KAAD,GAA9B3c,EAAAv+P,KAAA,QAL2BiI,IAAGs2P,EAAA9+P,KAAA,uBAAA8+P,EAAA9+P,KAAA,GAOxBozQ,KAAqC,KAAD,GAApDsI,EAAO5c,EAAAv+P,KACb65Q,EAAQsB,GACRnd,EAAgB,CAAEr3P,KAAM,QACxBq0Q,IACA3oD,KAAAA,QAAaksC,EAAA9+P,KAAA,iBAAA8+P,EAAA/+P,KAAA,GAAA++P,EAAA/iD,GAAA+iD,EAAA,SAIblsC,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAA2+P,EAAA/iD,MACH,yBAAA+iD,EAAAh+P,OAAA,GAAA+9P,EAAA,mBAGR,gBAhCoB34B,EAAAo3B,GAAA,OAAA3iP,EAAAvb,MAAA,KAAAC,UAAA,KAiCrB,OAEIy9O,EAAAA,EAAAA,MAACxsD,EAAAA,SAAQ,CAAAhtL,SAAA,EACTK,EAAAA,EAAAA,KAACi3P,GAAG,CAAC9kF,GAAI,GAAGxyK,UACVw5O,EAAAA,EAAAA,MAACsf,GAAI,CAAA94P,SAAA,EACHw5O,EAAAA,EAAAA,MAACsf,GAAAA,OAAW,CAAA94P,SAAA,EACVK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,gCAAwC,KAACK,EAAAA,EAAAA,KAAA,MAAAL,UAE3CK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAGllH,QA7EV,WAEd+9H,EAAgB,CACZr3P,KAAM,QAEd,EAwE+C5D,SAAC,kCAG1Cw5O,EAAAA,EAAAA,MAACsf,GAAAA,KAAS,CAAA94P,SAAA,EACVK,EAAAA,EAAAA,KAACwrL,GAAAA,mBAAkB,CACXP,SAAS,2BACTh6G,MAAM,QACN+5G,gBAAiB+rF,EAAS1rP,QAAQ1rB,UAGnCK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAEj2K,UAAU,OAAMnsE,SAAC,sBAG7BK,EAAAA,EAAAA,KAACosQ,GAAQ,CACTl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,KAET9wE,EAAAA,EAAAA,KAAA,UACFm5O,EAAAA,EAAAA,MAAC4f,GAAK,CAACK,YAAU,EAACtyI,IAAKiwJ,EAASp3Q,SAAA,EAC9BK,EAAAA,EAAAA,KAAA,SAAAL,UACEw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,cAGd9rE,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,kBAEVK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,eAGVK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,WAEVK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,oBAEVK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,aAEVK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,mBAEVK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,aAEVK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAA,UAAAL,SAAQ,mBAEVK,EAAAA,EAAAA,KAAA,eAGJA,EAAAA,EAAAA,KAAA,SAAAL,SAEC1D,EAAKgS,KAAI,SAAChS,EAAMoT,GAQd,OAPEpT,EAAKs3Q,qBAAqB,IAAIl0Q,KAEjCu7W,EAASvvV,SAAQ,EAGjBuvV,EAASvvV,SAAQ,GAGjB8tN,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAAA,MAAAL,UACEw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,2EAA0EnsE,SAAA,EACzFK,EAAAA,EAAAA,KAAA,SACI8rE,UAAU,mBACVvoE,KAAK,WACLlF,MAAOpC,EAAKi1Q,UACZjgQ,GAAG,mBACH6rH,SAAU6W,KAEZ3zI,EAAAA,EAAAA,KAAA,SACE8rE,UAAU,mBACVksM,QAAQ,0BAKdh4Q,EAAAA,EAAAA,KAAA,MAAAL,SAAK1D,EAAKi1Q,aACV/3B,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,CAAI,IAAE1D,EAAK46P,IAAI,IAAE56P,EAAK66P,IAAI,IAAE76P,EAAKg8Q,kBACjCj4Q,EAAAA,EAAAA,KAAA,MAAAL,SAAK1D,EAAK83Q,OACV/zQ,EAAAA,EAAAA,KAAA,MAAAL,SAAK1D,EAAK63Q,eACV36B,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,CAAI,IAAE1D,EAAKi8Q,iBACX/+B,EAAAA,EAAAA,MAAA,MAAIhhL,MAAO,CAAC/P,MAAQwyT,EAASvvV,QAAkB,GAAR,OAAY1rB,SAAA,CAAC,IAAE1D,EAAKs3Q,yBAC3Dp6B,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,CAAI,IAAE1D,EAAKk8Q,iBACXn4Q,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAACqxO,GAAI,CAAChtM,GAAI,gBAAgBpU,MAAO,CAAEhf,GAAIhV,EAAKi1Q,WAAYvxQ,SAAC,qBAxBrD0P,EA4BV,iBAON5I,EAAQwyO,SACRj5O,EAAAA,EAAAA,KAACo4Q,GAAc,CACfrL,gBAAiBA,EACf1W,OAAQ5vP,EAAQwyO,OAChBqd,aAnLW,WACjBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EAkLQgzP,cAAeA,EACfygB,OAAQO,MAKtB,ECrQahM,GAAe,SAAHx0P,GAAsB,IAAf8uL,EAAM9uL,EAAN8uL,OAExBkG,EAA0BlG,EAA1BkG,YAAaH,EAAa/F,EAAb+F,UACpB,OACC5rM,EAAAA,EAAAA,KAAA,OAAAL,UAECK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,4BAChBztE,MAAO0tM,GAAe,GAAKjvE,SAAU,SAAAlpH,GAAC,OAAIg4L,EAAUh4L,EAAEvH,OAAOhO,MAAM,KAGvE,ECVamtQ,GAAU,CACtB,CACC1lE,OAAS,KACTC,OAAS,KACT/tL,SAAU,YACVyzP,OAAQF,IAGT,CACCzlE,OAAS,MACTC,OAAS,SACT/tL,SAAU,MACVyzP,OAAQF,IAET,CACCzlE,OAAS,MACTC,OAAS,MACT/tL,SAAU,MACVyzP,OAAQF,IAGT,CACCzlE,OAAS,YACTC,OAAS,eACT/tL,SAAU,gBACVyzP,OAAQF,IAET,CACCzlE,OAAS,QACT9tL,SAAU,eACVyzP,OAAQF,IAET,CACCzlE,OAAS,gBACT9tL,SAAU,eACVyzP,OAAQF,IAET,CACCzlE,OAAS,gBACT9tL,SAAU,cACVyzP,OAAQF,IAET,CACCzlE,OAAS,mBAET9tL,SAAU,sBACVyzP,OAAQF,KC9CGG,GAAe,SAAH30P,GAA8B,IAAxBzN,EAAMyN,EAANzN,OAAQsiM,EAAS70L,EAAT60L,UACtC,OACCutC,EAAAA,EAAAA,MAAA,OAAAx5O,SAAA,CAAK,YACM,KACVK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iCAChBztE,MAAOiL,GAAU,GAAKwzH,SAAU,SAAAlpH,GAAC,OAAIg4L,EAAUh4L,EAAEvH,OAAOhO,MAAM,EAAE85D,MAAO,CAACprC,MAAO,WAInF,EC4SE,GA3SkB,WAChB,IAAAmmN,GAA8Bh7E,EAAAA,EAAAA,WAAS,GAAKi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAArCpiK,EAAOqiK,EAAA,GAAE04B,EAAU14B,EAAA,GAC1BG,GAA+Bp7E,EAAAA,EAAAA,UAAS,IAAGq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAApCkjC,EAAUjjC,EAAA,GAAE/qF,EAAQ+qF,EAAA,GAC3BG,GAAwBx7E,EAAAA,EAAAA,UAAS,IAAGy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAA7Bz3O,EAAI03O,EAAA,GAAE8iC,EAAO9iC,EAAA,GACpBG,GAAoB57E,EAAAA,EAAAA,UAAS,IAAG67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAAzB4iC,EAAG3iC,EAAA,GAAC4iC,EAAM5iC,EAAA,GACXziF,GAAU0G,EAAAA,EAAAA,UAAS,kBAAMwzG,EAAO,GAAE,IAClCoL,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAsM,EAAAz9P,EAAAyjQ,EAAA8K,EAAA,OAAAj7Q,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,OAM9B,OAN8BirD,EAAAlrD,KAAA,EAEzB2pQ,EAAW,CACfyJ,YAAa,aACbH,WAAY,aACZE,YAAY,SACbjoN,EAAAjrD,KAAA,EAEoB8yQ,GAA6BpJ,GAAU,KAAD,EAA/C,OAANz9P,EAAMg/C,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,EAEUowQ,KAAkB,KAAD,EAAjCV,EAAOzkN,EAAA1qD,KACPi6Q,EAAgB9K,EAAQ99P,KAAI,SAAC60B,GACjC,MAAO,CAAExkC,MAAOwkC,EAAK0pO,OAAQnuQ,MAAOykC,EAAK0pO,OAC3C,IACAiK,GAAO5sO,EAAAA,GAAAA,GAAKvhC,IACZquQ,EAAO,GAADn6Q,QAAAqtC,EAAAA,GAAAA,GAAKgtO,GAAa,CAAC,CAACx4Q,MAAM,QAAQC,MAAM,YAC9CkqJ,EAAS,CACPgnH,YAAc,aACdH,WAAY,eAGdxD,GAAW,GAAOvkN,EAAAjrD,KAAA,iBAAAirD,EAAAlrD,KAAA,GAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAElBtpD,QAAQC,IAAGqpD,EAAA8wJ,IACXyzD,GAAW,GAAO,yBAAAvkN,EAAAnqD,OAAA,GAAAs8P,EAAA,qBAGtB35P,EAAAA,EAAAA,YAAU,WACR82Q,GACF,GAAG,IAEL,IAAME,GAAW1+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAAq/P,IAAA,IAAA5yP,EAAA,OAAA1M,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,cAAA8+P,EAAA/+P,KAAA,EAAA++P,EAAA9+P,KAAA,EAGF8yQ,GAA6BqH,GAAY,KAAD,EAAvDluQ,EAAM6yP,EAAAv+P,KAEZ65Q,GAAO5sO,EAAAA,GAAAA,GAAKvhC,IAAS6yP,EAAA9+P,KAAA,gBAAA8+P,EAAA/+P,KAAA,EAAA++P,EAAA/iD,GAAA+iD,EAAA,SAErBn9P,QAAQC,IAAGk9P,EAAA/iD,IAAM,yBAAA+iD,EAAAh+P,OAAA,GAAA+9P,EAAA,mBAMjB8Q,GAAgB3yD,EAAAA,GAAAA,UAAS,CAC7B/nD,QAAAA,EACAr1J,KAAAA,EACAitM,aAAe,CAAC8I,UAAY,IAC3ByG,GAAAA,WAAYG,GAAAA,gBAAiBI,GAAAA,eAG9BjR,EAcEikE,EAdFjkE,cACAC,EAaEgkE,EAbFhkE,kBACAN,EAYEskE,EAZFtkE,aACAI,EAWEkkE,EAXFlkE,WACA73K,EAUE+7O,EAVF/7O,MACAiiL,EASE85D,EATF95D,KACAL,EAQEm6D,EARFn6D,SACAI,EAOE+5D,EAPF/5D,UACAI,EAME25D,EANF35D,YACAI,EAKEu5D,EALFv5D,SACAD,EAIEw5D,EAJFx5D,aACAD,EAGEy5D,EAHFz5D,YACAD,EAEE05D,EAFF15D,gBACAzF,EACEm/D,EADFn/D,gBAIKC,EAA2B78K,EAA3B68K,aAAckF,EAAa/hL,EAAb+hL,UAEf+kE,GAAWnrP,EAAAA,EAAAA,QAAO,MAEtB,OAEIutN,EAAAA,EAAAA,MAACxsD,EAAAA,SAAQ,CAAAhtL,SAAA,EACJK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UAC1BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACrBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC/BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,8BAA6BnsE,UAC5CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACzBK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,wCAObK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACtBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACrBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UAC1BK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,eAEZK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC9Bw5O,EAAAA,EAAAA,MAAA,QACIloO,GAAG,SAAQtR,SAAA,EACbw5O,EAAAA,EAAAA,MAAC61B,GAAG,CAAEljM,UAAU,OAAMnsE,SAAA,EACpBK,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,OAAMnsE,UACrBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC7BK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,mBAIlCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mC,GAAU,IACbhH,YAAa57P,EAAEvH,OAAOhO,QAE1B,YASZ2B,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,OAAMnsE,UACrBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,oBAAmBnsE,SAAA,EAC9BK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,iBAIlCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACbK,EAAAA,EAAAA,KAAA,SACIuD,KAAK,OACLuoE,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mC,GAAU,IACbnH,WAAYz7P,EAAEvH,OAAOhO,QAEzB,YAOZ2B,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,OAAMnsE,UACrBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC7BK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,mBAIlCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACjBK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACT55L,UAAU,eACVx9D,QAASooQ,EACT55I,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mC,GAAU,IACbjH,YAAa37P,EAAEvV,QAEnB,eAQN2B,EAAAA,EAAAA,KAAC+hP,GAAM,CAACj2K,UAAU,OAAO+wD,QAASi6I,EAAQn3Q,SAAC,0BAYrDK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACtBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,cAGf9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAKnB9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC9BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,YAAWnsE,SAAA,EAC1BK,EAAAA,EAAAA,KAACwrL,GAAAA,mBAAkB,CACPP,SAAS,cACTh6G,MAAM,QACN+5G,gBAAiB+rF,EAAS1rP,QAAQ1rB,UAGnCK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAEj2K,UAAU,OAAMnsE,SAAC,sBAKnCw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC/BK,EAAAA,EAAAA,KAAC0rQ,GAAY,CAACpiQ,OAAQwjM,EAAclB,UAAWiB,KAC/C7sM,EAAAA,EAAAA,KAACosQ,GAAQ,CACLl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,KAET9wE,EAAAA,EAAAA,KAAA,UAEJm5O,EAAAA,EAAAA,MAAA,SAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAW1nC,KAAe,IAAEj8H,UAAU,0BAA2Bg7C,IAAKiwJ,EAASp3Q,SAAA,EAC7EK,EAAAA,EAAAA,KAAA,SAAAL,SACI+nM,EAAaz5L,KAAI,SAAAwrM,GAAW,OAC5Bz5M,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQh2B,EAAYxR,uBAAqB,IAAAtoM,SACtC85M,EAAY/8M,QAAQuR,KAAI,SAAA43L,GAAM,OAC7BszC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5pC,EAAOsC,kBAAgB,IAAAxoM,SAAA,CAC5BkmM,EAAO30J,OAAO,UACd20J,EAAOwG,UAAYxG,EAAO30J,OAAO,UAAY,QAC3C,MAEJ,OAITlxC,EAAAA,EAAAA,KAAA,SAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWznC,KAAmB,IAAEl8H,UAAU,GAAEnsE,SAEzCuyM,EAAKjkM,KAAI,SAAC24L,GAET,OADAkB,EAAWlB,IAET5mM,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAS7oC,EAAIyB,eAAa,IAAA1oM,SACvBinM,EAAI0D,MAAMr8L,KAAI,SAAC44L,GACd,OAAOsyC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAS5oC,EAAKyB,gBAAc,IAAA3oM,SAAA,CAAE,KAACw5O,EAAAA,EAAAA,MAAC9H,GAAI,CAC3ChtM,GAAI,gBAAgBpU,MAAO,CAAEhf,GAAI21L,EAAInhJ,OAAOyrN,WAAYvxQ,SAAA,CAChCknM,EAAK31J,OAAO,QAAQ,OAAQ,OACtD,MAGN,YAGJioM,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iCAAgCnsE,SAAA,EAC7Cw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,OACC,KACLw5O,EAAAA,EAAAA,MAAA,UAAAx5O,SAAA,CACGqyM,EAAY,EAAE,OAAKK,EAAYrtM,UACxB,OAEZm0O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,cAAansE,SAAA,CAAC,gBACd,KACdK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SACVuoE,UAAU,OACVrgE,aAAcumM,EAAY,EAC1Bl1E,SAAY,SAAAlpH,GACV,IAAM04P,EAAa14P,EAAEvH,OAAOhO,MAAQqN,OAAOkI,EAAEvH,OAAOhO,OAAS,EAAI,EACjEwzM,EAASy6D,EACX,WAINtsQ,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAAkBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,0BAAyBnsE,SAAA,EACtCK,EAAAA,EAAAA,KAAA,UAAQ8rE,UAAU,mBAAmB+wD,QAAS,kBAAMg1E,EAAS,EAAE,EAAExiE,UAAWijE,EAAgB3yM,SAAE,QAE9FK,EAAAA,EAAAA,KAAA,UAAQ8rE,UAAU,kBAAkB+wD,QAAS,kBAAM21E,GAAc,EAAEnjE,UAAWijE,EAAgB3yM,SAAC,cAG/FK,EAAAA,EAAAA,KAAA,UAAQ8rE,UAAU,cAAc+wD,QAAS,kBAAM41E,GAAU,EAAEpjE,UAAWkjE,EAAY5yM,SAAC,UAGnFK,EAAAA,EAAAA,KAAA,UAAQ8rE,UAAU,eAAe+wD,QAAS,kBAAMg1E,EAASI,EAAY,EAAE,EAAE5iE,UAAWkjE,EAAY5yM,SAAE,6BAchH,yCClTI2wC,GAAY,CAMhB/sC,KAAM2tH,KAAAA,OAENinO,QAASjnO,KAAAA,KACT+wH,GAAI/wH,KAAAA,aAEA2pP,GAAwBtnL,EAAAA,YAE9B,SAAAx8K,EAMG+vG,GAAG,IAAA+7H,EAAA9rO,EALJkrO,GAAIxkH,OAAS,IAAAolH,EAAG,MAAKA,EACrB/2K,EAAS/0D,EAAT+0D,UAASgvS,EAAA/jW,EACTxT,KAAAA,OAAI,IAAAu3W,EAAG,QAAOA,EAAAC,EAAAhkW,EACdohV,QAAAA,OAAO,IAAA4iB,GAAQA,EACZr7W,EAAKyzL,EAAAp8K,EAAA4/K,IAAA,OACc32L,EAAAA,EAAAA,KAAKy9H,GAASgyG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACjC/vO,GAAK,IACRonH,IAAKA,EACLh7C,UAAW99B,IAAW89B,EAAW,GAAFtvE,OAAK+G,EAAI,KAAA/G,OAAI27V,EAAU,UAAY,eAClE,IACF0iB,GAAS5qU,YAAc,WACvB4qU,GAASvqU,UAAYA,GACrB,UCzBA,GADiCijJ,EAAAA,cAAoB,CAAC,sECEhDynL,GAA8BznL,EAAAA,YAAiB,SAAAx8K,EAUlD+vG,GAAQ,IATT71G,EAAE8F,EAAF9F,GACA+0O,EAAQjvO,EAARivO,SACAl6K,EAAS/0D,EAAT+0D,UAASgvS,EAAA/jW,EACTxT,KAAAA,OAAI,IAAAu3W,EAAG,WAAUA,EAAAG,EAAAlkW,EACjBwsI,QAAAA,OAAO,IAAA03N,GAAQA,EAAAC,EAAAnkW,EACfokW,UAAAA,OAAS,IAAAD,GAAQA,EAAAr4H,EAAA9rO,EAEjBkrO,GAAIxkH,OAAS,IAAAolH,EAAG,QAAOA,EACpBnjP,EAAKyzL,EAAAp8K,EAAA4/K,IAGNykL,GACErjN,EAAAA,EAAAA,YAAWsjN,IADbD,UAGF,OADAp1H,EAAWL,GAAmBK,EAAU,qBACpBhmP,EAAAA,EAAAA,KAAKy9H,GAASgyG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC7B/vO,GAAK,IACRonH,IAAKA,EACLvjH,KAAMA,EACN0N,GAAIA,GAAMmqW,EACVtvS,UAAW99B,IAAW89B,EAAWk6K,EAAUziG,GAAW,WAAY43N,GAAa,gBAEnF,IACAH,GAAe/qU,YAAc,iBAC7B,gDCxBMqrU,GAA8B/nL,EAAAA,YAAiB,SAAAx8K,EAKlD+vG,GAAQ,IAJTk/H,EAAQjvO,EAARivO,SACAl6K,EAAS/0D,EAAT+0D,UACAksM,EAAOjhQ,EAAPihQ,QACGt4Q,EAAKyzL,EAAAp8K,EAAA4/K,IAGNykL,GACErjN,EAAAA,EAAAA,YAAWsjN,IADbD,UAGF,OADAp1H,EAAWL,GAAmBK,EAAU,qBACpBhmP,EAAAA,EAAAA,KAAK,SAAOyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC3B/vO,GAAK,IACRonH,IAAKA,EACLkxJ,QAASA,GAAWojG,EACpBtvS,UAAW99B,IAAW89B,EAAWk6K,KAErC,IACAs1H,GAAerrU,YAAc,iBAC7B,+MCZMsrU,GAAyBhoL,EAAAA,YAAiB,SAAAx8K,EAqB7C+vG,GAAQ,IApBT71G,EAAE8F,EAAF9F,GACA+0O,EAAQjvO,EAARivO,SACAw1H,EAAczkW,EAAdykW,eAAcC,EAAA1kW,EACd4qH,OAAAA,OAAM,IAAA85O,GAAQA,EAAAC,EAAA3kW,EACd8gE,QAAAA,OAAO,IAAA6jS,GAAQA,EAAAz1H,EAAAlvO,EACfs4H,SAAAA,OAAQ,IAAA42G,GAAQA,EAAAg1H,EAAAlkW,EAChBwsI,QAAAA,OAAO,IAAA03N,GAAQA,EAAAC,EAAAnkW,EACfokW,UAAAA,OAAS,IAAAD,GAAQA,EAAAS,EAAA5kW,EACjB6kW,gBAAAA,OAAe,IAAAD,GAAQA,EACvBE,EAAQ9kW,EAAR8kW,SACAC,EAAY/kW,EAAZ+kW,aACAhwS,EAAS/0D,EAAT+0D,UACA3T,EAAKphD,EAALohD,MAAK4jT,EAAAhlW,EACLu4B,MAAAA,OAAK,IAAAysU,EAAG,GAAEA,EAAAjB,EAAA/jW,EACVxT,KAAAA,OAAI,IAAAu3W,EAAG,WAAUA,EACjBx8W,EAAKyY,EAALzY,MACAqB,EAAQoX,EAARpX,SAAQkjP,EAAA9rO,EAERkrO,GAAAA,OAAE,IAAAY,EAAG,QAAOA,EACTnjP,EAAKyzL,EAAAp8K,EAAA4/K,IAERqvD,EAAWL,GAAmBK,EAAU,cACxCw1H,EAAiB71H,GAAmB61H,EAAgB,eACpD,IACEJ,GACErjN,EAAAA,EAAAA,YAAWsjN,IADbD,UAEIY,GAAmBhkN,EAAAA,EAAAA,UAAQ,iBAAO,CACtCojN,UAAWnqW,GAAMmqW,EAClB,GAAG,CAACA,EAAWnqW,IACVgrW,GAAYt8W,GAAqB,MAATrB,IAA2B,IAAVA,GCVjD,SAAwBqB,EAAU4D,GAChC,OAAOgwL,EAAAA,SAAAA,QAAuB5zL,GAAUuP,MAAK,SAAAwjB,GAAK,OAAiB6gK,EAAAA,eAAqB7gK,IAAUA,EAAMnvB,OAASA,CAAI,GACvH,CDQoE24W,CAAev8W,EAAU27W,IACrFpyS,GAAqBlpE,EAAAA,EAAAA,KAAKg7W,IAAcvrI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACzC/vO,GAAK,IACR6D,KAAe,WAATA,EAAoB,WAAaA,EACvCujH,IAAKA,EACLy8B,QAASA,EACT43N,UAAWA,EACX9rO,SAAUA,EACV4yG,GAAIA,KAEN,OAAoBjiP,EAAAA,EAAAA,KAAKq7W,GAAAA,SAAsB,CAC7Ch9W,MAAO29W,EACPr8W,UAAuBK,EAAAA,EAAAA,KAAK,MAAO,CACjCm4D,MAAOA,EACP2T,UAAW99B,IAAW89B,EAAWmwS,GAAYj2H,EAAUrkH,GAAU,GAAJnlI,OAAOwpP,EAAQ,WAAWnuK,GAAW,GAAJr7E,OAAOwpP,EAAQ,YAAqB,WAATziP,GAAqBi4W,GAC9I77W,SAAUA,IAAyBw5O,EAAAA,EAAAA,MAAMC,EAAAA,SAAW,CAClDz5O,SAAU,CAACupE,EAAO+yS,IAAyBj8W,EAAAA,EAAAA,KAAKs7W,GAAgB,CAC9DhsU,MAAOA,EACP3vC,SAAUrB,IACRu9W,IAAyB77W,EAAAA,EAAAA,KAAK66W,GAAU,CAC1Ct3W,KAAMu4W,EACN3jB,QAASyjB,EACTj8W,SAAUk8W,UAKpB,IACAN,GAAUtrU,YAAc,YACxB,OAAe9xC,OAAO+K,OAAOqyW,GAAW,CACtCY,MAAOnB,GACPoB,MAAOd,iHEjEHe,GAA2B9oL,EAAAA,YAAiB,SAAAx8K,EAc/C+vG,GAAQ,IAKLv1G,EAKG+qW,EAvBPt2H,EAAQjvO,EAARivO,SACAziP,EAAIwT,EAAJxT,KACAsI,EAAIkL,EAAJlL,KACA0wW,EAAQxlW,EAARwlW,SACAtrW,EAAE8F,EAAF9F,GACA66D,EAAS/0D,EAAT+0D,UAASmvS,EAAAlkW,EACTwsI,QAAAA,OAAO,IAAA03N,GAAQA,EAAAC,EAAAnkW,EACfokW,UAAAA,OAAS,IAAAD,GAAQA,EACjBsB,EAASzlW,EAATylW,UACAhrO,EAAQz6H,EAARy6H,SAAQqxG,EAAA9rO,EAERkrO,GAAIxkH,OAAS,IAAAolH,EAAG,QAAOA,EACpBnjP,EAAKyzL,EAAAp8K,EAAA4/K,IAGNykL,GACErjN,EAAAA,EAAAA,YAAWsjN,IADbD,WAEFp1H,EAAWL,GAAmBK,EAAU,gBAEpCw2H,GACFjrW,GAAO42I,EAAAA,EAAAA,GAAA,MAAA3rJ,OACDwpP,EAAQ,eAAe,IAGtBs2H,EAAG,CAAC,GAAJn0N,EAAAA,EAAAA,GAAAm0N,EACJt2H,GAAW,IAAI79F,EAAAA,EAAAA,GAAAm0N,EAAA,GAAA9/W,OACZwpP,EAAQ,KAAAxpP,OAAIqP,GAASA,GAF3B0F,EAE+B+qW,GAIjC,OAAoBt8W,EAAAA,EAAAA,KAAKy9H,GAASgyG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC7B/vO,GAAK,IACR6D,KAAMA,EACNsI,KAAM0wW,EACNz1P,IAAKA,EACL0qB,SAAUA,EACVvgI,GAAIA,GAAMmqW,EACVtvS,UAAW99B,IAAW89B,EAAWv6D,EAASgyI,GAAW,WAAY43N,GAAa,aAAuB,UAAT53W,GAAoB,GAAJ/G,OAAOwpP,EAAQ,aAE/H,IACAq2H,GAAYpsU,YAAc,cAC1B,OAAe9xC,OAAO+K,OAAOmzW,GAAa,CACxCxB,SAAAA,KClDF,GAAejzH,GAAmB,uCCG5B60H,GAAyBlpL,EAAAA,YAAiB,SAAAx8K,EAK7C+vG,GAAQ,IAJTs0P,EAASrkW,EAATqkW,UAASv4H,EAAA9rO,EAETkrO,GAAIxkH,OAAS,IAAAolH,EAAG,MAAKA,EAClBnjP,EAAKyzL,EAAAp8K,EAAA4/K,IAEF5wL,GAAUiyJ,EAAAA,EAAAA,UAAQ,iBAAO,CAC7BojN,UAAAA,EACD,GAAG,CAACA,IACL,OAAoBp7W,EAAAA,EAAAA,KAAKq7W,GAAAA,SAAsB,CAC7Ch9W,MAAO0H,EACPpG,UAAuBK,EAAAA,EAAAA,KAAKy9H,GAASgyG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAChC/vO,GAAK,IACRonH,IAAKA,MAGX,IACA21P,GAAUxsU,YAAc,YACxB,+ECdMysU,GAAyBnpL,EAAAA,YAAiB,SAAAx8K,EAS7C+vG,GAAQ,IAAA+7H,EAAA9rO,EAPTkrO,GAAIxkH,OAAS,IAAAolH,EAAG,QAAOA,EACvBmD,EAAQjvO,EAARivO,SAAQ22H,EAAA5lW,EACR8uL,OAAAA,OAAM,IAAA82K,GAAQA,EAAAC,EAAA7lW,EACd8lW,eAAAA,OAAc,IAAAD,GAAQA,EACtB9wS,EAAS/0D,EAAT+0D,UACAksM,EAAOjhQ,EAAPihQ,QACGt4Q,EAAKyzL,EAAAp8K,EAAA4/K,IAGNykL,GACErjN,EAAAA,EAAAA,YAAWsjN,IADbD,UAEFp1H,EAAWL,GAAmBK,EAAU,cACxC,IAAI82H,EAAc,iBACI,kBAAXj3K,IAAqBi3K,EAAc,GAAHtgX,OAAMsgX,EAAW,KAAAtgX,OAAIsgX,EAAW,KAAAtgX,OAAIqpM,IAC/E,IAAMt0L,EAAUy8B,IAAW89B,EAAWk6K,EAAU62H,GAAkB,kBAAmBh3K,GAAUi3K,GAG/F,OADA9kG,EAAUA,GAAWojG,EACjBv1K,GAA4B7lM,EAAAA,EAAAA,KAAKi3P,IAAGxnB,EAAAA,EAAAA,GAAA,CACtC3oH,IAAKA,EACLm7H,GAAI,QACJn2K,UAAWv6D,EACXymQ,QAASA,GACNt4Q,KAKHM,EAAAA,EAAAA,KAAKy9H,GAASgyG,EAAAA,EAAAA,GAAA,CACZ3oH,IAAKA,EACLh7C,UAAWv6D,EACXymQ,QAASA,GACNt4Q,GAGT,IACAg9W,GAAUzsU,YAAc,YACxB,2CCxCM8sU,GAAyBxpL,EAAAA,YAAiB,SAAAx8K,EAK7C+vG,GAAQ,IAJTk/H,EAAQjvO,EAARivO,SACAl6K,EAAS/0D,EAAT+0D,UACA76D,EAAE8F,EAAF9F,GACGvR,EAAKyzL,EAAAp8K,EAAA4/K,IAGNykL,GACErjN,EAAAA,EAAAA,YAAWsjN,IADbD,UAGF,OADAp1H,EAAWL,GAAmBK,EAAU,eACpBhmP,EAAAA,EAAAA,KAAK,SAAOyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC3B/vO,GAAK,IACR6D,KAAM,QACNujH,IAAKA,EACLh7C,UAAW99B,IAAW89B,EAAWk6K,GACjC/0O,GAAIA,GAAMmqW,IAEd,IACA2B,GAAU9sU,YAAc,YACxB,mFCnBM+sU,GAA0BzpL,EAAAA,YAAiB,SAAAx8K,EAS9C+vG,GAAQ,IARTk/H,EAAQjvO,EAARivO,SACAn6O,EAAIkL,EAAJlL,KACA0wW,EAAQxlW,EAARwlW,SACAzwS,EAAS/0D,EAAT+0D,UAASmvS,EAAAlkW,EACTwsI,QAAAA,OAAO,IAAA03N,GAAQA,EAAAC,EAAAnkW,EACfokW,UAAAA,OAAS,IAAAD,GAAQA,EACjBjqW,EAAE8F,EAAF9F,GACGvR,EAAKyzL,EAAAp8K,EAAA4/K,IAGNykL,GACErjN,EAAAA,EAAAA,YAAWsjN,IADbD,UAGF,OADAp1H,EAAWL,GAAmBK,EAAU,gBACpBhmP,EAAAA,EAAAA,KAAK,UAAQyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC5B/vO,GAAK,IACRmM,KAAM0wW,EACNz1P,IAAKA,EACLh7C,UAAW99B,IAAW89B,EAAWk6K,EAAUn6O,GAAQ,GAAJrP,OAAOwpP,EAAQ,KAAAxpP,OAAIqP,GAAQ03I,GAAW,WAAY43N,GAAa,cAC9GlqW,GAAIA,GAAMmqW,IAEd,IACA4B,GAAW/sU,YAAc,aACzB,mDCzBMgtU,GAAwB1pL,EAAAA,YAE9B,SAAAx8K,EAMG+vG,GAAQ,IALTk/H,EAAQjvO,EAARivO,SACAl6K,EAAS/0D,EAAT+0D,UAAS+2K,EAAA9rO,EACTkrO,GAAIxkH,OAAS,IAAAolH,EAAG,QAAOA,EACvBq6H,EAAKnmW,EAALmmW,MACGx9W,EAAKyzL,EAAAp8K,EAAA4/K,IAGR,OADAqvD,EAAWL,GAAmBK,EAAU,cACpBhmP,EAAAA,EAAAA,KAAKy9H,GAASgyG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC7B/vO,GAAK,IACRonH,IAAKA,EACLh7C,UAAW99B,IAAW89B,EAAWk6K,EAAUk3H,GAAS,gBAExD,IACAD,GAAShtU,YAAc,WACvB,UClBMktU,GAAsB5pL,EAAAA,YAAiB,SAAC7zL,EAAOonH,GAAG,OAAkB9mH,EAAAA,EAAAA,KAAKu7W,IAAS9rI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACnF/vO,GAAK,IACRonH,IAAKA,EACLvjH,KAAM,WACN,IACF45W,GAAOltU,YAAc,SACrB,OAAe9xC,OAAO+K,OAAOi0W,GAAQ,CACnChB,MAAOZ,GAAAA,MACPa,MAAOb,GAAAA,mECLH6B,GAA6B7pL,EAAAA,YAAiB,SAAAx8K,EAOjD+vG,GAAQ,IANTk/H,EAAQjvO,EAARivO,SACAl6K,EAAS/0D,EAAT+0D,UACAnsE,EAAQoX,EAARpX,SACAy7W,EAASrkW,EAATqkW,UACA98W,EAAKyY,EAALzY,MACGoB,EAAKyzL,EAAAp8K,EAAA4/K,IAGR,OADAqvD,EAAWL,GAAmBK,EAAU,kBACpB7M,EAAAA,EAAAA,MAAMsjI,IAAShtI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CACjC3oH,IAAKA,EACLh7C,UAAW99B,IAAW89B,EAAWk6K,GACjCo1H,UAAWA,GACR17W,GAAK,IACRC,SAAU,CAACA,GAAuBK,EAAAA,EAAAA,KAAK,QAAS,CAC9Cg4Q,QAASojG,EACTz7W,SAAUrB,OAGhB,IACA8+W,GAAcntU,YAAc,gBAC5B,4CCbMK,GAAY,CAShBv5B,KAAMm6G,KAAAA,IAKNmsP,UAAWnsP,KAAAA,KACX+wH,GAAI/wH,KAAAA,aAEAosP,GAAoB/pL,EAAAA,YAAiB,SAAAx8K,EAMxC+vG,GAAG,IALJh7C,EAAS/0D,EAAT+0D,UACAuxS,EAAStmW,EAATsmW,UAASx6H,EAAA9rO,EAETkrO,GAAIxkH,OAAS,IAAAolH,EAAG,OAAMA,EACnBnjP,EAAKyzL,EAAAp8K,EAAA4/K,IAAA,OACc32L,EAAAA,EAAAA,KAAKy9H,GAASgyG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACjC/vO,GAAK,IACRonH,IAAKA,EACLh7C,UAAW99B,IAAW89B,EAAWuxS,GAAa,mBAC9C,IACFC,GAAKrtU,YAAc,OACnBqtU,GAAKhtU,UAAYA,GACjB,OAAenyC,OAAO+K,OAAOo0W,GAAM,CACjCC,MAAOd,GACP57S,QAASw7S,GACTmB,SAAUC,GACVC,MAAOnC,GACP4B,OAAAA,GACAf,MAAOM,GACP7jH,KAAMokH,GACNU,MAAOZ,GACPr3G,OAAQs3G,GACRI,cAAAA,KCpDIQ,GAAiB,SAAChqW,GACpB,GAAmB,KAAfA,EAAEszJ,UAAkC,KAAftzJ,EAAEszJ,SACzB,OAAOtzJ,EAAEw3G,gBAEb,EAoCF,OAnCA,SAAkBr0G,GAAyF,IAAvF8mW,EAAQ9mW,EAAR8mW,SAAUC,EAAe/mW,EAAf+mW,gBAAiBnqO,EAAY58H,EAAZ48H,aAAaoqO,EAAahnW,EAAbgnW,cAAcC,EAAUjnW,EAAVinW,WAAWC,EAAkBlnW,EAAlBknW,mBAEjF,OAEIJ,EAAS5vW,KAAI,SAAChS,EAAMoT,GACoBpT,EAA7BiiX,UAAP,IAAiBvH,EAAmB16W,EAAnB06W,OAAOwH,EAAYliX,EAAZkiX,IAAIxiW,EAAQ1f,EAAR0f,MAE5B,OACI3b,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UACAK,EAAAA,EAAAA,KAAA,SAAAL,UACAw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACAw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EAAIK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SAASmX,IAAI,IAAO0jW,WAAYR,GAAoB9gP,SAAU,SAACuhP,GAAI,OAAIN,EAAc1uW,EAAOgvW,EAAK,EAAGv3W,KAAK,YAAYglE,UAAU,iBAAgB,QAC/JqtK,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EAAIK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SAAUmX,IAAI,IAAI0jW,WAAYR,GAAiB9gP,SAAU,SAACuhP,GAAI,OAAI1qO,EAAatkI,EAAOgvW,EAAK,EAAGv3W,KAAK,WAAWglE,UAAU,iBAAgB,QACxJ9rE,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACP55L,UAAU,OACVx9D,QAAS0vW,EACTl3W,KAAK,WACLg2H,SAAU,SAACuhP,GAAI,OAAIJ,EAAmB5uW,EAAOgvW,EAAK,WAAW,OAEjEr+W,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SAASkI,aAAckrW,EAAS7vW,KAAK,SAASglE,UAAU,eAAeujE,UAAQ,OAC/FrvI,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SAAUkI,aAAc0yW,EAAKr3W,KAAK,cAAcglE,UAAU,eAAeujE,UAAQ,OACjG8pG,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EAAIK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SAAYkI,aAAckQ,EAAS7U,KAAK,QAAQglE,UAAU,eAAeujE,UAAQ,IAAE,QACnGrvI,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACl2O,KAAK,KAAK+2E,QAAQ,SAASi6C,QAAS,SAACwhP,GAAI,OAAIP,EAAgBzuW,EAAM,EAGzE1P,SAAC,YAhBK0P,IAqBpB,GAIR,ECrCI0nW,GAAU,CACVS,YAAa,iBACbzqV,MAAO,MACPG,OAAQ,MAER8pV,GAAW,CACXC,UAAW,iBAEX/pV,OAAQ,MAERgqV,GAAW,CACXD,UAAW,iBAEX/pV,OAAQ,OAGRiqV,GAAW,CACXF,UAAW,iBACX/pV,OAAQ,MAERkqV,GAAW,CAGXlqV,OAAQ,MAERoxV,GAAW,CACXrH,UAAW,iBAEX/pV,OAAQ,MAERmqV,GAAY,CACZJ,UAAW,iBAEX/pV,OAAQ,MAERoqV,GAAa,CACbL,UAAW,iBAEX/pV,OAAQ,MAERqqV,GAAW,CACXC,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEVk+S,GAAW,CACXD,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEVm+S,GAAW,CACXF,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVo+S,GAAW,CACXH,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVq+S,GAAW,CACXJ,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEVs+S,GAAW,CACXL,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVu+S,GAAW,CAEX/qV,MAAO,MACPwsC,SAAU,GAEVw+S,GAAe,CACfP,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVy+S,GAAgB,CAEhBjrV,MAAO,MACPwsC,SAAU,GAEV0+S,GAAiB,CACjBT,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEV2+S,GAAkB,CAClBV,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEV4+S,GAAkB,CAClBX,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEV6+S,GAAkB,CAElBrrV,MAAO,MACPwsC,SAAU,GAEV8+S,GAAc,CACdb,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEV++S,GAAe,CAEfvrV,MAAO,MACPwsC,SAAU,IAEVg/S,GAAY,CAEZxrV,MAAO,OACPwsC,SAAU,IAEVi/S,GAAY,CAEZzrV,MAAO,OACPwsC,SAAU,IAEVk/S,GAAY,CAEZ1rV,MAAO,QACPwsC,SAAU,IAEVm/S,GAAY,CAEZ3rV,MAAO,OACPwsC,SAAU,IAEVo/S,GAAY,CAEZ5rV,MAAO,OACPwsC,SAAU,IAEVq/S,GAAY,CAEZ7rV,MAAO,OACPwsC,SAAU,IAEVs/S,GAAY,CACZ9rV,MAAO,OACPwsC,SAAU,IAoHd,GAlHqB,SAAC75D,GAClB,IAAQ22P,EAAuF32P,EAAvF22P,OAAQC,EAA+E52P,EAA/E42P,aAAcioH,EAAiE7+W,EAAjE6+W,eAAgB5I,EAAiDj2W,EAAjDi2W,aAAcC,EAAmCl2W,EAAnCk2W,eAAemE,EAAoBr6W,EAApBq6W,QAAQX,EAAY15W,EAAZ05W,QAC7EC,EAAiBlvV,EAAQ,MAC/B+oN,GAAmBh7E,EAAAA,EAAAA,WAAS,GAAMi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAA3BsrI,EAAGrrI,EAAA,GAACsrI,EAAMtrI,EAAA,GASjB,OACInzO,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UACIw5O,EAAAA,EAAAA,MAAC6V,GAAK,CAACvtC,KAAM40C,EAAQhG,OAAQiG,EAAczqP,KAAK,IAAGlM,SAAA,EAC/CK,EAAAA,EAAAA,KAACgvP,GAAAA,OAAY,CAAC7pC,aAAW,EAAAxlN,UACrBK,EAAAA,EAAAA,KAACgvP,GAAAA,MAAW,CAAArvP,SAAC,eAEjBw5O,EAAAA,EAAAA,MAAC6V,GAAAA,KAAU,CAAArvP,SAAA,EACPw5O,EAAAA,EAAAA,MAAA,OAAKhhL,MACD,CACI+b,OAAQ,kBACRnnD,MAAO,SACPG,OAAQ,WAEfvtB,SAAA,EAEIw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAO3T,MAAO4+S,GAAQp3W,SAAA,EAC9Bw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,aAAWg2W,EAAaj/G,SAAS,QAChE12P,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAI55D,SAAA,CAAC,mBAAiBg2W,EAAa9+G,IAAI,IAAE8+G,EAAa7+G,IAAI,IAAE6+G,EAAa/hG,aAAavoP,QAAQ,WAE/H8tN,EAAAA,EAAAA,MAAA,OAAKhhL,MAAO6+S,GAASr3W,SAAA,EACjBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,2CAA0CnsE,SAAA,EACrDw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,GAAI55D,SAAA,CAAC,mBAAgB,IAAIN,MAAOg3W,qBAAqB,QAC9El9H,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,GAAI55D,SAAA,CAAC,2BAAuBK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,WAAaigK,eAAgB41M,IAAU,YAAQp5W,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,WAAWigK,eAAgBu2M,WAE3J/5W,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAAkBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,OAAO3T,MAAO,CAAEoB,SAAU,GAAI55D,SAAA,CAAC,0BAAwBg2W,EAAa7hG,kBAExF36B,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,2CAA0CnsE,SAAA,EACrDw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,GAAI55D,SAAA,CAAC,mBAAiBg2W,EAAa5hG,QAC5D56B,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,GAAI55D,SAAA,CAAC,aAAWg2W,EAAaroG,cACtDn0B,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,GAAI55D,SAAA,CAAC,OAAKg2W,EAAapoG,UAASvtQ,EAAAA,EAAAA,KAAA,cACzDA,EAAAA,EAAAA,KAAA,iBAGRm5O,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOm/S,GAAYxrS,UAAU,6BAA4BnsE,SAAA,EAC1DK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO4/S,MAC7B/3W,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAO6/S,GAAcr4W,UAACK,EAAAA,EAAAA,KAAA,QAAAL,SAAM,gBAG/Ew5O,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOk/S,GAAWvrS,UAAU,6BAA4BnsE,SAAA,EACzDK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOo/S,GAAS53W,SAAC,WACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOs/S,GAAS93W,SAAC,aACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOu/S,GAAS/3W,SAAC,iBACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOw/S,GAASh4W,SAAC,iBACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOy/S,GAASj4W,SAAC,aACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO0/S,GAASl4W,SAAC,QACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO2/S,GAASn4W,SAAC,YAE3CK,EAAAA,EAAAA,KAAA,SAAOm4D,MAAO++S,GAAUprS,UAAU,6BAA4BnsE,UAC1DK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,GAAG3T,MAAO,CAAEjrC,OAAO,OAAOH,MAAM,QAASptB,SACrDi2W,EAAe3nW,KAAI,SAAC2nW,EAAevmW,GAChC,OAEI8pO,EAAAA,EAAAA,MAAA,MAAgBhhL,MAAO,CAAEjrC,OAAO,OAAOH,MAAM,QAAQptB,SAAA,EACjDK,EAAAA,EAAAA,KAAA,MAAMm4D,MAAOogT,GAAU54W,UAACw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,gCAA+BnsE,SAAA,CAAE,IAAEi2W,EAAejD,SAAS,UACnG3yW,EAAAA,EAAAA,KAAA,MAAKm4D,MAAOqgT,GAAU74W,UAACw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,gCAA+BnsE,SAAA,CAAE,IAAEi2W,EAAec,OAAO,UAChG12W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOsgT,GAAU94W,UAAEw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAe7vG,SAAS,UACvD/lQ,EAAAA,EAAAA,KAAA,MAAKm4D,MAAOugT,GAAU/4W,UAACw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAee,OAAO,UACrD32W,EAAAA,EAAAA,KAAA,MAAKm4D,MAAOwgT,GAAUh5W,UAACK,EAAAA,EAAAA,KAAA,QAAAL,SAAOi2W,EAAegB,YAC7C52W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOygT,GAAUj5W,UAACw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEc,KAAK0B,MAAMyzW,EAAeiB,OAAO,UAC/D72W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO0gT,GAAUl5W,UAACw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEc,KAAK0B,MAAMyzW,EAAekB,MAAM,WAPzDznW,EAUjB,SAKR8pO,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOm/S,GAAYxrS,UAAU,6BAA4BnsE,SAAA,EAE1DK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,8BAA8B3T,MAAO8/S,GAAet4W,SAAC,eACpEK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAO+/S,GAAgBv4W,UAACK,EAAAA,EAAAA,KAAA,cACvEA,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAOggT,GAAgBx4W,UAACK,EAAAA,EAAAA,KAAA,QAAAL,SAAOg2W,EAAaQ,eAC3Fn2W,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAOigT,GAAgBz4W,UAACK,EAAAA,EAAAA,KAAA,QAAAL,SAAOg2W,EAAaS,mBAE/Fj9H,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOg/S,GAAUrrS,UAAU,6BAA4BnsE,SAAA,EACxDw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA8B3T,MAAOkgT,GAAY14W,SAAA,CAAC,8BAA4B05W,EAAet3W,eAAe4zW,EAAazhG,YAAY,0BACpJl0Q,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAOmgT,GAAa34W,SAAEg2W,EAAazhG,iBAEtFl0Q,EAAAA,EAAAA,KAAA,OAAKm4D,MAAOi/S,GAASz3W,UACjBw5O,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOg/S,GAAUrrS,UAAU,gCAA+BnsE,SAAA,EAC3Dw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA8B3T,MAAOkgT,GAAY14W,SAAA,CAAC,6BAA2Bg2W,EAAaliG,SACzGt6B,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,gCAAgC3T,MAAOkgT,GAAY14W,SAAA,CAAC,SAAOg2W,EAAaniG,UACvFr6B,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,gCAAgC3T,MAAOkgT,GAAY14W,SAAA,CAAC,cAAYg2W,EAAajiG,kBAIpG1zQ,EAAAA,EAAAA,KAAA,OAAKm4D,MAAOmmT,SAIhBt+W,EAAAA,EAAAA,KAAA,UAEAA,EAAAA,EAAAA,KAAC+hP,GAAM,CAACllH,QAtGJ,WACjB4hP,GAAO,GACN,IAAI5I,GAAU,EACVkE,IAASlE,EAAUkE,GACvB,IAAIjE,EAAauD,EAAet3W,eAAe4zW,EAAazhG,YAA3CmlG,eACjBkF,EAAe,CAAC5I,aAAAA,EAAaC,eAAAA,EAAeC,UAAAA,EAAUC,YAAAA,GAC1D,EAgG8CzmO,SAAUmvO,EAAI7+W,SAAC,8BAMjE,ECvOM86P,GAAc,SAACC,EAASzqO,GAC5B,OAAQA,EAAM1sB,MACZ,IAAK,OACH,MAAO,CACL01O,QAAQ,EACRo7H,UAAWpkV,EAAMokV,UACjB99G,cAAetmO,EAAMsmO,eAEzB,IAAK,QACH,MAAO,CACLoV,SAAS,EACT0oG,UAAWpkV,EAAMokV,UACjBkK,eAAgBtuV,EAAMsuV,gBAE1B,IAAK,MACH,OAAA9uI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,EAAO0yB,SAAS,IAC/C,QACE,OAAAl8B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,IAEnC,EAo/BA,GAn/BuB,WACrB,IAUMylI,GAAS9yV,EAAAA,EAAAA,QAAO,MAChB+yV,GAAM/yV,EAAAA,EAAAA,QAAO,MACbgzV,GAAKhzV,EAAAA,EAAAA,QAAO,MAClBsnN,GAAsCh7E,EAAAA,EAAAA,WAAS,GAAKi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAA7C2rI,EAAW1rI,EAAA,GAAE2rI,EAAc3rI,EAAA,GAClCG,GAAkCp7E,EAAAA,EAAAA,UAAS,GAAEq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAAtC4qI,EAAS3qI,EAAA,GAChBG,GAD8BH,EAAA,IACFr7E,EAAAA,EAAAA,aAAUy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAA/BqrI,EAAMprI,EAAA,GAAEqrI,EAASrrI,EAAA,GACxBG,GAA8B57E,EAAAA,EAAAA,WAAS,GAAM67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAAtCmrI,EAAOlrI,EAAA,GAAE+lI,EAAU/lI,EAAA,GAC1BG,GAA8Bh8E,EAAAA,EAAAA,WAAS,GAAMi8E,GAAAl9N,EAAAA,EAAAA,GAAAi9N,EAAA,GAAtCgrI,EAAO/qI,EAAA,GAAE6lI,EAAU7lI,EAAA,GACpBgrI,GAAUvzV,EAAAA,EAAAA,QAAO,GACjBwzV,GAASxzV,EAAAA,EAAAA,QAAO,GAChByzV,GAAiBzzV,EAAAA,EAAAA,QAAO,GAC9ByoN,GAAsCn8E,EAAAA,EAAAA,YAAUo8E,GAAAr9N,EAAAA,EAAAA,GAAAo9N,EAAA,GAAzCirI,EAAWhrI,EAAA,GAAEirI,EAAcjrI,EAAA,GAC5B0lB,GAAMpuO,EAAAA,EAAAA,QAAO,GACbkuO,GAAMluO,EAAAA,EAAAA,QAAO,GACbmuO,GAAMnuO,EAAAA,EAAAA,QAAO,GACb4zV,GAAW5zV,EAAAA,EAAAA,UACX6zV,GAAa7zV,EAAAA,EAAAA,UACb1C,GAAW42K,EAAAA,EAAAA,MACjB20C,GAAgCv8E,EAAAA,EAAAA,UAAS,IAAGw8E,GAAAz9N,EAAAA,EAAAA,GAAAw9N,EAAA,GAArCopI,EAAQnpI,EAAA,GAAEgrI,EAAWhrI,EAAA,GAsGtBupI,GAAqB7lN,EAAAA,EAAAA,aAAW,eAAArhJ,GAAApb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,EAAOpqP,EAAOgvW,EAAMv3W,GAAI,IAAA64W,EAAAC,EAAA,OAAAhkX,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,OAQ5D,OAPD4yN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEpB38J,EAAAjrD,KAAA,EACwBgqQ,GAAcg4G,EAAKhgX,OAAO,KAAD,EAA5CshX,EAAUr4T,EAAA1qD,KAChBqyN,KAAAA,QACA+vJ,EAAUv+W,KAAK0B,MAAMw9W,EAAW35G,cAChCu5G,EAAeI,EAAWz5G,WACpB05G,GAAS/1U,EAAAA,GAAAA,GAAOg0U,IAGZxuW,GAAmB,WAAIgvW,EAAKhgX,MACtCuhX,EAAUvwW,GAAe,OAAIswW,EAAW75G,IACxC85G,EAAUvwW,GAAOvI,GAAS64W,EAAW55G,SACrC65G,EAAUvwW,GAA2B,mBAAEswW,EAAW35G,YAClD45G,EAAUvwW,GAAuB,eAAE5O,KAAK0B,MAAOy9W,EAAUvwW,GAAkB,UAAEuwW,EAAUvwW,GAA2B,mBAAG,KACrHuwW,EAAUvwW,GAAe,OAAI5O,KAAK0B,MAAMy9W,EAAUvwW,GAA2B,mBAAIuwW,EAAUvwW,GAAkB,UAAEuwW,EAAUvwW,GAA2B,mBAAG,KACvJuwW,EAAUvwW,GAAY,IAAIswW,EAAWz5G,SACrC05G,EAAUvwW,GAAc,MAAI5O,KAAK0B,MAAMy9W,EAAUvwW,GAAe,OAAIuwW,EAAUvwW,GAAiB,UAE1E,GAArBswW,EAAWz5G,WAGb05G,EAAUvwW,GAAe,OAAE,IAC3BuwW,EAAUvwW,GAAc,MAAGuwW,EAAUvwW,GAAe,OAAIuwW,EAAUvwW,GAAiB,SACnFuwW,EAAUvwW,GAAa,KAAE,KAEF,IAArBswW,EAAWz5G,WAEb05G,EAAUvwW,GAAe,OAAE,IAC3BuwW,EAAUvwW,GAAc,MAAE,IAC1BuwW,EAAUvwW,GAAa,KAAGuwW,EAAUvwW,GAAe,OAAIuwW,EAAUvwW,GAAiB,UAElFwwW,KAEEH,EAAYE,GAAW,yBAAAt4T,EAAAnqD,OAAA,GAAAs8P,EAAA,KACxB,gBAAAl3B,EAAAo3B,EAAAt8P,GAAA,OAAA0Z,EAAAtb,MAAA,KAAAC,UAAE,CAAF,CAzCqC,IA4CtCi9O,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACzDxhB,QAAQ,EACR0yB,SAAS,EACT0oG,UAAW,KACX99G,cAAe,OACf3d,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GALKlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,GAqFzB0d,EAAe,WACnBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EAEMu8W,GAAa1nN,EAAAA,EAAAA,aAAW,eAAAphJ,GAAArb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAAq/P,EAAOtnP,GAAC,IAAAmsW,EAAAC,EAAA,OAAApkX,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,OAUI,OATzC29P,EAAI3uO,QAAUzX,EAAEtV,MAChB2wN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAGf87J,EAAkB,CAAEjmH,IAAAA,EAAKC,IAAAA,EAAKC,IAAAA,GAAKmB,EAAA9+P,KAAA,EACZq9P,GAAmBqmH,GAAiB,KAAD,EAA1DC,EAAc7kH,EAAAv+P,KACpBqyN,KAAAA,aACuBhqN,IAAnB+6W,EACFR,EAASn0V,QAAU,IAEV,IAAIhsB,KAAK2gX,EAAeppH,YAExB,IAAIv3P,MACX4vN,KAAAA,KAAU,CACR3/K,MAAO,oBACP3O,KAAK,kCACLo8K,KAAM,UACN+H,mBAAoB,YAEtB57L,EAAS,yBAETs2V,EAASn0V,QAAU20V,EAAepsG,aAC9B4rG,EAASn0V,QAAU20V,EAAehpH,aACpC/nC,KAAAA,KAAU,CACR3/K,MAAO,yBACP3O,KAAK,kCACLo8K,KAAM,UACN+H,mBAAoB,YAEtB57L,EAAS,wBAELs2V,EAASn0V,SAAW20V,EAAehpH,aACrC/nC,KAAAA,KAAU,CACR3/K,MAAO,+BACP3O,KAAK,oBACLo8K,KAAM,UACN+H,mBAAoB,aAM5B26J,EAAWp0V,QAAU20V,EAAehsG,YAGtCxrH,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZE,SAAUsD,EAAI3uO,QACd2oP,WAAYyrG,EAAWp0V,QACvBwrO,IAAKiD,EAAIzuO,QACTyrO,IAAKiD,EAAI1uO,QACTuoP,aAAc4rG,EACd7rG,OAAQ,QACP,wBAAAxY,EAAAh+P,OAAA,GAAA+9P,EAAA,KACJ,gBAAAgV,GAAA,OAAAl5P,EAAAvb,MAAA,KAAAC,UAAE,CAAF,CA5D6B,IA6DxBukX,GAAa7nN,EAAAA,EAAAA,aAAW,eAAA5mI,GAAA71B,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAAC,EAAO8X,GAAC,IAAAmsW,EAAAC,EAAA,OAAApkX,EAAAA,GAAAA,KAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAUI,OATzCy9P,EAAIzuO,QAAUzX,EAAEvV,MAChB4wN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAGf87J,EAAkB,CAAEjmH,IAAAA,EAAKC,IAAAA,EAAKC,IAAAA,GAAK79P,EAAAE,KAAA,EACZq9P,GAAmBqmH,GAAiB,KAAD,EAA1DC,EAAc7jX,EAAAS,KACtBqyN,KAAAA,aACyBhqN,IAAnB+6W,EACFR,EAASn0V,QAAU,IAEV,IAAIhsB,KAAK2gX,EAAeppH,YAExB,IAAIv3P,MACX4vN,KAAAA,KAAU,CACR3/K,MAAO,oBACP3O,KAAK,kCACLo8K,KAAM,UACN+H,mBAAoB,YAEtB57L,EAAS,yBAETs2V,EAASn0V,QAAU20V,EAAepsG,aAC9B4rG,EAASn0V,QAAU20V,EAAehpH,aACpC/nC,KAAAA,KAAU,CACR3/K,MAAO,yBACP3O,KAAK,kCACLo8K,KAAM,UACN+H,mBAAoB,YAEtB57L,EAAS,wBAELs2V,EAASn0V,SAAW20V,EAAehpH,aACrC/nC,KAAAA,KAAU,CACR3/K,MAAO,+BACP3O,KAAK,oBACLo8K,KAAM,UACN+H,mBAAoB,aAM5B26J,EAAWp0V,QAAU20V,EAAehsG,YAEtCxrH,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZE,SAAUsD,EAAI3uO,QACd2oP,WAAYyrG,EAAWp0V,QACvBwrO,IAAKiD,EAAIzuO,QACTyrO,IAAKiD,EAAI1uO,QACTuoP,aAAc4rG,EACd7rG,OAAQ,QACP,wBAAAx3Q,EAAAgB,OAAA,GAAArB,EAAA,KACJ,gBAAA40Q,GAAA,OAAAl/O,EAAA/1B,MAAA,KAAAC,UAAE,CAAF,CA3D6B,IA4DxBwkX,GAAQ9nN,EAAAA,EAAAA,aAAW,eAAA/xJ,GAAA1K,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA+qQ,EAAOhzP,GAAC,IAAAmsW,EAAAC,EAAA,OAAApkX,EAAAA,GAAAA,KAAAM,MAAA,SAAA2qQ,GAAA,cAAAA,EAAAzqQ,KAAAyqQ,EAAAxqQ,MAAA,OAUS,OATzC09P,EAAI1uO,QAAUzX,EAAEvV,MAChB4wN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAGf87J,EAAkB,CAAEjmH,IAAAA,EAAKC,IAAAA,EAAKC,IAAAA,GAAK6M,EAAAxqQ,KAAA,EACZq9P,GAAmBqmH,GAAiB,KAAD,EAA1DC,EAAcn5G,EAAAjqQ,KACpBqyN,KAAAA,aACuBhqN,IAAnB+6W,EACFR,EAASn0V,QAAU,IAEV,IAAIhsB,KAAK2gX,EAAeppH,YAExB,IAAIv3P,MACX4vN,KAAAA,KAAU,CACR3/K,MAAO,oBACP3O,KAAK,kCACLo8K,KAAM,UACN+H,mBAAoB,YAEtB57L,EAAS,yBAETs2V,EAASn0V,QAAU20V,EAAepsG,aAC9B4rG,EAASn0V,QAAU20V,EAAehpH,aACpC/nC,KAAAA,KAAU,CACR3/K,MAAO,yBACP3O,KAAK,kCACLo8K,KAAM,UACN+H,mBAAoB,YAEtB57L,EAAS,wBAELs2V,EAASn0V,SAAW20V,EAAehpH,aACrC/nC,KAAAA,KAAU,CACR3/K,MAAO,+BACP3O,KAAK,oBACLo8K,KAAM,UACN+H,mBAAoB,aAM5B26J,EAAWp0V,QAAU20V,EAAehsG,YAEtCxrH,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZE,SAAUsD,EAAI3uO,QACd2oP,WAAYyrG,EAAWp0V,QACvBwrO,IAAKiD,EAAIzuO,QACTyrO,IAAKiD,EAAI1uO,QACTuoP,aAAc4rG,EACd7rG,OAAQ,QACP,wBAAA9M,EAAA1pQ,OAAA,GAAAypQ,EAAA,KACJ,gBAAAmK,GAAA,OAAA1qQ,EAAA5K,MAAA,KAAAC,UAAE,CAAF,CA3DwB,IA4DzBm5O,IAA2B38E,EAAAA,EAAAA,UAAS,IAAG48E,IAAA79N,EAAAA,EAAAA,GAAA49N,GAAA,GAAhCsrI,GAAMrrI,GAAA,GAAEsrI,GAAQtrI,GAAA,GACvBG,IAA0B/8E,EAAAA,EAAAA,UAAS,IAAGg9E,IAAAj+N,EAAAA,EAAAA,GAAAg+N,GAAA,GAA/BorI,GAAKnrI,GAAA,GAAEorI,GAAQprI,GAAA,GAChBqrI,IAAYnoN,EAAAA,EAAAA,aAAW,eAAA5+H,GAAA79B,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA0B,EAAOqW,GAAC,IAAAvV,EAAAC,EAAAkiX,EAAAC,EAAA1sG,EAAAD,EAAAxG,EAAAC,EAAA,OAAA3xQ,EAAAA,GAAAA,KAAAM,MAAA,SAAAyB,GAAA,cAAAA,EAAAvB,KAAAuB,EAAAtB,MAAA,OASnC,OAROgC,EAAiBuV,EAAjBvV,MAAOC,EAAUsV,EAAVtV,MACf2wN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEpBtmN,EAAAtB,KAAA,EAC2B03W,GAAe11W,GAAO,KAAD,EAA3CmiX,EAAa7iX,EAAAf,KACnBqyN,KAAAA,QAAYwxJ,EACoCD,EAAc,GAAtDzsG,EAAG0sG,EAAH1sG,IAAKD,EAAW2sG,EAAX3sG,YAAYxG,EAASmzG,EAATnzG,UAAUC,EAAQkzG,EAARlzG,SACnC6yG,GAASrsG,GACTusG,GAASxsG,GACM,MAAXxG,GAEAA,EAAUtoQ,OAAO,KAEnBiqN,KAAAA,KAAU,CACR3/K,MAAO,oBACP3O,KAAK,sBACLo8K,KAAM,QACN+H,mBAAoB,YAEtB57L,EACE,gBACA,CACE+G,MAAO,CACNhf,GAAI5S,MAMXmqJ,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZ8b,UAAWj0Q,EACX01Q,IAAKA,EACLX,QAAS90Q,EACTw1Q,YAAaA,EACbxG,UAAUA,EACVC,SAASA,KACR,yBAAA5vQ,EAAAR,OAAA,GAAAI,EAAA,KACJ,gBAAA8zQ,GAAA,OAAA73O,EAAA/9B,MAAA,KAAAC,UAAE,CAAF,CA5C4B,IA8C7B25O,IAA8Bn9E,EAAAA,EAAAA,UAAS,IAAGo9E,IAAAr+N,EAAAA,EAAAA,GAAAo+N,GAAA,GAAnCmhB,GAASlhB,GAAA,GAAE9sF,GAAQ8sF,GAAA,GAEpBorI,GAAa,eAAA19N,GAAArnJ,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAAs+P,EAAAp3G,GAAA,IAAA4yN,EAAAC,EAAAC,EAAAC,EAAA,OAAAl6W,EAAAA,GAAAA,KAAAM,MAAA,SAAAq+P,GAAA,cAAAA,EAAAn+P,KAAAm+P,EAAAl+P,MAAA,OAOa,GAPLs5W,EAAY5yN,EAAZ4yN,aAAaC,EAAc7yN,EAAd6yN,eAAeC,EAAS9yN,EAAT8yN,UAAUC,EAAW/yN,EAAX+yN,YAElEttN,IAAS,SAACmjF,GACR,IAAMg1I,EAAch1I,EAEpB,OADAg1I,EAA4B,eAAI9C,EACzB8C,CACT,IACA/lH,EAAgB,CAAEr3P,KAAM,QACA,IAApBi8W,EAASn0V,QAAa,CAAAkvO,EAAAl+P,KAAA,gBAAAk+P,EAAAn+P,KAAA,EAAAm+P,EAAAl+P,KAAA,EAEDw2Q,GAAcrc,GAAWqnH,GAAU,KAAD,EAA3CtjH,EAAA39P,OAERqyN,KAAAA,KAAU,CACR3/K,MAAO,mBACP3O,KAAK,0BACLo8K,KAAM,UACN+H,mBAAoB,YAEtB9mN,QAAQC,IAAI03W,GACH,EACA,EACTA,EAAaM,UAAU,EACvBN,EAAaO,UAAU,EACvBR,GAAO,CAACC,aAAAA,EAAaC,eAAAA,EAAeC,UAAAA,EAAUC,YAAAA,EAAYC,KAJjD,EAIsDC,KAHtD,IAIT9sV,EAAS,cACVqxO,EAAAl+P,KAAA,iBAAAk+P,EAAAn+P,KAAA,GAAAm+P,EAAAniD,GAAAmiD,EAAA,SAEHtrC,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAA+9P,EAAAniD,MACH,QAAAmiD,EAAAl+P,KAAA,iBAGL4yN,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,sBACLuhJ,mBAAoB,YACnB,yBAAAy1C,EAAAp9P,OAAA,GAAAg9P,EAAA,mBACN,gBAxCkB2X,GAAA,OAAA9uH,EAAAvnJ,MAAA,KAAAC,UAAA,KAyCnB+5O,IAAoCv9E,EAAAA,EAAAA,UAAS,IAAGw9E,IAAAz+N,EAAAA,EAAAA,GAAAw+N,GAAA,GAAzCmrI,GAAUlrI,GAAA,GAAEmrI,GAAanrI,GAAA,GAChCG,IAAwC39E,EAAAA,EAAAA,UAAS,IAAG49E,IAAA7+N,EAAAA,EAAAA,GAAA4+N,GAAA,GAA7CglB,GAAY/kB,GAAA,GAAEglB,GAAehlB,GAAA,GACpCG,IAA8C/9E,EAAAA,EAAAA,UAAS,IAAGg+E,IAAAj/N,EAAAA,EAAAA,GAAAg/N,GAAA,GAAnD82B,GAAe72B,GAAA,GAAE82B,GAAkB92B,GAAA,GAC1CE,IAAsCl+E,EAAAA,EAAAA,UAAS,IAAGm+E,IAAAp/N,EAAAA,EAAAA,GAAAm/N,GAAA,GAA3C0qI,GAAWzqI,GAAA,GAAE0qI,GAAc1qI,GAAA,GAClCG,IAAwCt+E,EAAAA,EAAAA,UAAS,IAAGu+E,IAAAx/N,EAAAA,EAAAA,GAAAu/N,GAAA,GAA7Cu3B,GAAYt3B,GAAA,GAAEu3B,GAAev3B,GAAA,GACpCE,IAA6Bz+E,EAAAA,EAAAA,UAAS,IAAG0+E,IAAA3/N,EAAAA,EAAAA,GAAA0/N,GAAA,GAAlCqqI,GAAMpqI,GAAA,GAAEqqI,GAAUrqI,GAAA,GACnBsqI,IAAmBt1V,EAAAA,EAAAA,QAAO,GAC1Bu1V,IAAev1V,EAAAA,EAAAA,QAAO,GAGrBi0V,GAAU,WACf7hX,QAAQC,IAAIu4P,SACgBvxP,IAAxBuxP,GAAU6c,YACZ7c,GAAU6c,UAAY,GAExB,IAAMloO,EAAIhhB,EAAQ,KAEZg3F,EAAMh2E,EAAEi2E,MAAMy8P,GAAU,SAAC7L,GAAS,OAAKtmW,OAAOsmW,EAAUr2V,MAAM,IAC9DylW,EAAYj2U,EAAEi2E,MAAMy8P,GAAU,SAAC7L,GAAS,OAAKtmW,OAAOsmW,EAAU6E,MAAM,IACpEwK,EAAal2U,EAAEi2E,MAAMy8P,GAAU,SAAC7L,GAAS,OAAKtmW,OAAOsmW,EAAU8E,KAAK,IAEtEtjG,EAAQ6tG,EAAW,GACnB5tG,EAAO2tG,EAAU,GAGrB/B,EAAeh0V,QAAQ8f,EAAEi2E,MAAMy8P,GAAU,SAAC7L,GAAS,OAAKtmW,OAAOsmW,EAAU2I,eAAe,IACxFwG,GAAa91V,QAAS81F,EAAOA,EAAMq1I,GAAU6c,UAAa,IAC1D+rG,EAAO/zV,QAAS5qB,KAAK0B,MAAMqxQ,GAC3B2rG,EAAQ9zV,QAAS5qB,KAAK0B,MAAMsxQ,GAC5BytG,GAAgB71V,QAAS5qB,KAAK0B,MAAMsxQ,GAAMhzQ,KAAK0B,MAAMqxQ,GACrDhrH,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZ0d,WAAY/yJ,EAAOA,EAAMq1I,GAAU6c,UAAa,IAChDC,eAAiBnyJ,EAAMq1I,GAAU6c,UAAa,IAC9CG,MAAO/yQ,KAAK0B,MAAMqxQ,GAClBC,KAAMhzQ,KAAK0B,MAAMsxQ,GACjBC,SAAUjzQ,KAAK0B,MAAMsxQ,GAAMhzQ,KAAK0B,MAAMqxQ,GACtC2iG,UAAUiL,EACVhL,WAAWiL,IAIf,GAEAvhX,EAAAA,EAAAA,YAAU,YACRnE,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAAu0Q,IAAA,IAAAkxG,EAAAlH,EAAAb,EAAAC,EAAA+H,EAAAC,EAAAC,EAAA9pG,EAAA+pG,EAAA7qG,EAAA8qG,EAAAC,EAAAC,EAAA,OAAAjmX,EAAAA,GAAAA,KAAAM,MAAA,SAAAs0Q,GAAA,cAAAA,EAAAp0Q,KAAAo0Q,EAAAn0Q,MAAA,OASI,OATJm0Q,EAAAp0Q,KAAA,EAEG6yN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEpBusD,EAAAn0Q,KAAA,EAC2Bk9P,KAAkB,KAAD,EAA1B,OAAb+nH,EAAa9wG,EAAA5zQ,KAAA4zQ,EAAAn0Q,KAAA,EACOowQ,KAAkB,KAAD,EAA1B,OAAX2tG,EAAW5pG,EAAA5zQ,KAAA4zQ,EAAAn0Q,KAAA,GACSw3W,KAAiB,KAAD,GAAzB,OAAX0F,EAAW/oG,EAAA5zQ,KAAA4zQ,EAAAn0Q,KAAA,GACSmxQ,KAAiB,KAAD,GAAzB,OAAXgsG,EAAWhpG,EAAA5zQ,KAAA4zQ,EAAAn0Q,KAAA,GACSw2W,KAAmB,KAAD,GAA3B,OAAX0O,EAAW/wG,EAAA5zQ,KAAA4zQ,EAAAn0Q,KAAA,GACS8pQ,KAAe,KAAD,GAAvB,OAAXq7G,EAAWhxG,EAAA5zQ,KAAA4zQ,EAAAn0Q,KAAA,IACSd,EAAAA,GAAAA,MAAqB,KAAD,GACnB,KADXi1Q,EAAA5zQ,KACDuvQ,WAEbjjP,EAAS,aAGLu4V,EAAcD,EAAYvzW,KAAI,SAAC60B,GACnC,MAAO,CACLzkC,MAAOykC,EAAKyjO,SACZjoQ,MAAOwkC,EAAKgjO,IAAM,IAAMhjO,EAAKijO,SAEjC,IACA86G,GAAcY,GAER9pG,EAAY2pG,EAAclwV,QAAO,SAACH,EAAK6R,GAI3C,OAHK7R,EAAI0X,SAAS7F,EAAK4zN,WACrBzlO,EAAIzmB,KAAKs4B,EAAK4zN,UAETzlO,CACT,GAAG,IAEGywV,EAAgB/pG,EAAU1pQ,KAAI,SAAC60B,GACnC,MAAO,CAAEzkC,MAAOykC,EAAMxkC,MAAOwkC,EAC/B,IAEAg4N,GAAgB4mH,GAEV7qG,EAAgBujG,EAAYnsW,KAAI,SAAC60B,GACrC,MAAO,CAAExkC,MAAOwkC,EAAK0pO,OAAQnuQ,MAAOykC,EAAK0pO,OAC3C,IACAQ,GAAmB6J,GACb8qG,EAAiBpI,EAAYtrW,KAAI,SAAC60B,GACtC,MAAO,CAAExkC,MAAOwkC,EAAK0pO,OAAO,IAAI1pO,EAAKixO,IAAK11Q,MAAOykC,EAAKyxU,WACxD,IACAwM,GAAeY,GACTC,EAAiBpI,EAAYvrW,KAAI,SAAC60B,GACtC,MAAO,CAAExkC,MAAOwkC,EAAKsqO,OAAS,IAAMtqO,EAAK0pO,OAAQnuQ,MAAOykC,EAAKsqO,OAC/D,IACAY,GAAgB4zG,GACVC,EAAiBN,EAAYtzW,KAAI,SAAC60B,GACtC,MAAO,CAAExkC,MAAOwkC,EAAKsqO,OAAS,IAAMtqO,EAAK0pO,OAAQnuQ,MAAOykC,EAAKsqO,OAC/D,IACA6zG,GAAWY,GAAgBrxG,EAAAn0Q,KAAA,iBAAAm0Q,EAAAp0Q,KAAA,GAAAo0Q,EAAAp4D,GAAAo4D,EAAA,SAE3BxyQ,QAAQC,IAAGuyQ,EAAAp4D,IAAM,QAEnBumK,EAAItzV,QAAQ,WACZuzV,EAAGvzV,QAAQ,UACX4jM,KAAAA,QAAa,yBAAAuhD,EAAArzQ,OAAA,GAAAizQ,EAAA,kBAhEfz0Q,EAkEF,GAAG,IACH,IAAMmmX,GAAuB,SAACnD,EAAIC,GACzB,WAAJA,GASW,YAALD,GAPPG,GAAe,GACfJ,EAAOrzV,QAAQhtB,MAAM,GACrBmqJ,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZqd,oBAAoB,SAatBirG,GAAe,EAKnB,EAGMxK,GAAmB,eAAAyN,GAAApmX,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAA+0Q,EAAO30Q,GAAI,IAAAqM,EAAAixW,EAAAoI,EAAA,OAAA/lX,EAAAA,GAAAA,KAAAM,MAAA,SAAA20Q,GAAA,cAAAA,EAAAz0Q,KAAAy0Q,EAAAx0Q,MAAA,OASlC,OATkCw0Q,EAAAz0Q,KAAA,EAEnC6yN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEpB4sD,EAAAx0Q,KAAA,EACoB43W,IAAWxkI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIxzO,GAAI,IAAEkwG,OAAO,KAAQ,KAAD,EAC9C,GADN7jG,EAAMuoQ,EAAAj0Q,KACZqyN,KAAAA,SACI3mN,EAAO,CAADuoQ,EAAAx0Q,KAAA,aACJiM,EAAO,CAADuoQ,EAAAx0Q,KAAA,SAML,OALH4yN,KAAAA,KAAU,CACR3/K,MAAO,kBACP3O,KAAK,qCACLo8K,KAAM,UACN+H,mBAAoB,YACnB+rD,EAAAx0Q,KAAA,GACuBw3W,KAAiB,KAAD,GAApC0F,EAAW1oG,EAAAj0Q,KACX+kX,EAAiBpI,EAAYtrW,KAAI,SAAC60B,GACtC,MAAO,CAAExkC,MAAOwkC,EAAK0pO,OAAO,IAAI1pO,EAAKixO,IAAK11Q,MAAOykC,EAAKyxU,WACxD,IACAwM,GAAeY,GACf/mH,EAAgB,CAAEr3P,KAAM,QAAS,QAAAstQ,EAAAx0Q,KAAA,iBAAAw0Q,EAAAz0Q,KAAA,GAAAy0Q,EAAAz4D,GAAAy4D,EAAA,SAIrC5hD,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAAq0Q,EAAAz4D,MACH,yBAAAy4D,EAAA1zQ,OAAA,GAAAyzQ,EAAA,mBAEN,gBAnCwBuB,GAAA,OAAA4vG,EAAAtmX,MAAA,KAAAC,UAAA,KAsCzB,OACEy9O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,EACEK,EAAAA,EAAAA,KAACgvQ,GAAG,CAAArvQ,UACFK,EAAAA,EAAAA,KAACi3P,GAAG,CAAAt3P,UACFw5O,EAAAA,EAAAA,MAACsf,GAAI,CAAC3sL,UAAU,0BAAyBnsE,SAAA,EACvCw5O,EAAAA,EAAAA,MAAC61B,GAAG,CAAArvQ,SAAA,EACFw5O,EAAAA,EAAAA,MAAC8d,GAAG,CAAC9kF,GAAI,EAAGrL,GAAI,EAAGk7M,GAAI,EAAEriX,SAAA,EACvBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,qBAAoBnsE,UACjCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,qBAAoBnsE,UACjCw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,iBAC1BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,UAC3B,IAAIN,MAAOg3W,+BAKpBl9H,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,gBAC/BK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACL55L,UAAU,eACVx9D,QAASusP,GACT/9H,SAAU,SAAClpH,GACTksW,EAAWlsW,EACb,QAGJulO,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,gBAC/BK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACL55L,UAAU,eACVx9D,QAASy/P,GACTjxI,SAAU,SAAClpH,GACTqsW,EAAWrsW,EACb,QAGJulO,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,sBAC/BK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACL55L,UAAU,eACVx9D,QAAS0yW,GACTlkP,SAAU,SAAClpH,GACTssW,EAAMtsW,EACR,WAINulO,EAAAA,EAAAA,MAAC8d,GAAG,CAAC9kF,GAAI,EAAGrL,GAAI,EAAGk7M,GAAI,EAAEriX,SAAA,EACvBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,0BAC/BK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACL55L,UAAU,eACVx9D,QAAS3P,GAAAA,GACT8M,aAAc,CAAEnN,MAAO,UAAWD,MAAO,WACzCy+H,SAAU,SAAClpH,GAETgrW,EAAGvzV,QAAQzX,EAAEvV,MACbyjX,GAAqBnD,EAAItzV,QAAQuzV,EAAGvzV,SACpCm9H,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZyd,YAAargQ,EAAEvV,QAInB,QAGJ86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,+BAG/BK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLuoE,UAAU,eACVgxD,SAAU,SAAClpH,GAET40I,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZ+c,qBAAsB3/P,EAAEvH,OAAOhO,QAEnC,WAIN86O,EAAAA,EAAAA,MAAC8d,GAAG,CAAC9kF,GAAI,EAAGrL,GAAI,EAAGk7M,GAAI,EAAEriX,SAAA,EACvBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,wBAC/BK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACLp3P,QAASy+P,GACTthQ,aAAc,CAAEnN,MAAO,WAAYD,MAAO,YAC1Cy+H,SAAU,SAAClpH,GACT40I,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZ+Y,YAAa37P,EAAEvV,SAElBsgX,EAAItzV,QAAQzX,EAAEvV,MACXyjX,GAAqBnD,EAAItzV,QAAQuzV,EAAGvzV,QAExC,QAGJ8tN,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,oCAG/BK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLujH,IAAK43P,EACL5yS,UAAU,eACVujE,SAAUwvO,EACV/hP,SAAU,SAAClpH,GACT40I,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZqd,oBAAqBjgQ,EAAEvH,OAAOhO,QAElC,QAGJ86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,UAG/BK,EAAAA,EAAAA,KAAA,YACE8rE,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACb2d,IAAKvgQ,EAAEvH,OAAOhO,QAEjB,cAKR2B,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,qCAAoCnsE,UACjDw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,QAAMm4D,MAAO,CAAEoB,SAAU,IAAMuS,UAAU,UAASnsE,SAAC,6BAGnDw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAMuS,UAAU,UAASnsE,SAAA,CAC/Cm6P,EAAIzuO,QAAQ,IAAE0uO,EAAI1uO,QAAQ,IAAEm0V,EAASn0V,iBAI5CrrB,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,UACdqtK,EAAAA,EAAAA,MAAC61B,GAAG,CAACljM,UAAU,OAAMnsE,SAAA,EACnBw5O,EAAAA,EAAAA,MAAC8d,GAAG,CAAAt3P,SAAA,EACFK,EAAAA,EAAAA,KAACs9W,GAAAA,MAAU,CAACxxS,UAAU,eAAcnsE,SAAC,gBACrCw5O,EAAAA,EAAAA,MAAC61B,GAAG,CAACljM,UAAU,OAAMnsE,SAAA,EACnBw5O,EAAAA,EAAAA,MAAC8d,GAAG,CAAAt3P,SAAA,CACD,KACDK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACLp3P,QAASwyW,GACTmB,aAAa,EACbnlP,SAAU,SAAClpH,GACT2sW,GAAU3sW,EACZ,QAGJulO,EAAAA,EAAAA,MAAC8d,GAAG,CAAAt3P,SAAA,CACD,KACDK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACllH,QAvrBN,WAClB+9H,EAAgB,CAAEr3P,KAAM,OAAQ8wW,UAAW,WAC7C,EAqrBgDxoW,KAAK,KAAIlM,SAAC,2BAK5CK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLuoE,UAAU,oBACVniC,UAAQ,EACRk/B,YAAY,eACZxqE,MAAOgiX,GACPhxO,UAAQ,KAEVrvI,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLuoE,UAAU,gBACVniC,UAAQ,EACRk/B,YAAY,MACZxqE,MAAO8hX,GACP9wO,UAAQ,QAIZrvI,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClBw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,QAAOnsE,SAAA,EACtBK,EAAAA,EAAAA,KAAA,SAAAL,UACEw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACAK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE/P,MAAO,QAASr7B,MAAM,OAAOptB,SAAC,WACzCK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE/P,MAAO,QAAQr7B,MAAM,OAAQptB,SAAC,WAC3Cw5O,EAAAA,EAAAA,MAAA,MAAIhhL,MAAO,CAAE/P,MAAO,SAAUzoD,SAAA,CAC3B,IAAI,6BAGPK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE/P,MAAO,SAAUzoD,SAAC,YAC/BK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE/P,MAAO,QAAQr7B,MAAM,OAAQptB,SAAC,SAC3CK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE/P,MAAO,SAAUzoD,SAAC,WAC/BK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACl2O,KAAK,KAAKgxH,QAp3BrB,WAUnB6iP,EAAY,GAADljX,QAAAqtC,EAAAA,GAAAA,GAAKg0U,GAAQ,CATN,CAChBnD,mBAAmB,EACnBrnG,UAAU,EACVs/F,SAAU,EACV5sG,SAAU,GACV4wG,OAAQ,GACRwH,IAAK,GACLxiW,MAAO,MAGX,EAy2BgEhc,SAAC,cAO/CK,EAAAA,EAAAA,KAACkiX,GAAS,CAERhE,UAAWA,EACXL,SAAUA,EACVC,gBAn3BI,SAACzuW,GAGvB,IAAM46L,GAAIpgK,EAAAA,GAAAA,GAAOg0U,GACjB5zK,EAAK5mL,OAAOhU,EAAO,QACSpK,IAAxBuxP,GAAU6c,YACZ7c,GAAU6c,UAAY,GAExB,IAKIxuQ,EALEsmC,EAAIhhB,EAAQ,KAEZg3F,EAAMh2E,EAAEi2E,MAAM6oF,GAAM,SAAC+nK,GAAS,OAAKtmW,OAAOsmW,EAAUr2V,MAAM,IAC1DylW,EAAYj2U,EAAEi2E,MAAM6oF,GAAM,SAAC+nK,GAAS,OAAKtmW,OAAOsmW,EAAU6E,MAAM,IAChEwK,EAAal2U,EAAEi2E,MAAM6oF,GAAM,SAAC+nK,GAAS,OAAKtmW,OAAOsmW,EAAU8E,KAAK,IAElEtjG,EAAQ,EACRC,EAAO,EACX,IAAK5uQ,KAAKolM,EACW,GAAfA,EAAKplM,GAAGs5W,IAAU1qG,GAAcxpE,EAAKplM,GAAG8W,MAAQ,GAC/C63P,GAAgBvpE,EAAKplM,GAAG8W,MAAQ,GAGvC0jW,EAAeh0V,QAAU81F,EAAMq1I,GAAU6c,UAAa,IACtD8tG,GAAa91V,QAAS81F,EAAOA,EAAMq1I,GAAU6c,UAAa,IAC1D+rG,EAAO/zV,QAAS5qB,KAAK0B,MAAMqxQ,GAC3B2rG,EAAQ9zV,QAAS5qB,KAAK0B,MAAMsxQ,GAC5BytG,GAAgB71V,QAAS5qB,KAAK0B,MAAMsxQ,GAAMhzQ,KAAK0B,MAAMqxQ,GACrDhrH,IAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,IAAS,IACZ0d,WAAY/yJ,EAAOA,EAAMq1I,GAAU6c,UAAa,IAChDC,eAAiBnyJ,EAAMq1I,GAAU6c,UAAa,IAC9CG,MAAO/yQ,KAAK0B,MAAMqxQ,GAClBC,KAAMhzQ,KAAK0B,MAAMsxQ,GACjBC,SAAUjzQ,KAAK0B,MAAMsxQ,GAAMhzQ,KAAK0B,MAAMqxQ,GACtC2iG,UAAUiL,EACVhL,WAAWiL,KAEb3B,EAAYz1K,EACd,EA+0BoBt2D,aApzBC,SAACtkI,EAAOgvW,GAC3B,IAAA8D,EAAwB9D,EAAKhyW,OAArBvF,EAAIq7W,EAAJr7W,KAAMzI,EAAK8jX,EAAL9jX,MACRuhX,GAAS/1U,EAAAA,GAAAA,GAAOg0U,GACtB+B,EAAUvwW,GAAOvI,GAAQzI,EAEzBuhX,EAAUvwW,GAAc,MAAI5O,KAAK0B,MAAMy9W,EAAUvwW,GAAe,OAAIuwW,EAAUvwW,GAAiB,UAClE,GAAzBuwW,EAAUvwW,GAAY,MAG5BuwW,EAAUvwW,GAAe,OAAE,IAC3BuwW,EAAUvwW,GAAc,MAAEuwW,EAAUvwW,GAAc,MAClDuwW,EAAUvwW,GAAa,KAAE,KAEE,IAAzBuwW,EAAUvwW,GAAY,MAExBuwW,EAAUvwW,GAAe,OAAE,IAC3BuwW,EAAUvwW,GAAc,MAAE,IAE1BuwW,EAAUvwW,GAAa,KAAEuwW,EAAUvwW,GAAc,OAG/CqwW,EAAYE,GACZC,IAEF,EA6xBoB9B,cA/0BE,SAAC1uW,EAAOgvW,GAC5B,IAAA+D,EAAwB/D,EAAKhyW,OAArBvF,EAAIs7W,EAAJt7W,KAAMzI,EAAK+jX,EAAL/jX,MACRuhX,GAAS/1U,EAAAA,GAAAA,GAAOg0U,GACtB+B,EAAUvwW,GAAOvI,GAAQzI,EACzBuhX,EAAUvwW,GAAuB,eAAE5O,KAAK0B,MAAOy9W,EAAUvwW,GAAkB,UAAEuwW,EAAUvwW,GAA2B,mBAAG,KACrHuwW,EAAUvwW,GAAe,OAAIuwW,EAAUvwW,GAA2B,mBAAIuwW,EAAUvwW,GAAuB,eACvGuwW,EAAUvwW,GAAc,MAAI5O,KAAK0B,MAAMy9W,EAAUvwW,GAAe,OAAIuwW,EAAUvwW,GAAiB,UAClE,GAAzBuwW,EAAUvwW,GAAY,MAG5BuwW,EAAUvwW,GAAe,OAAE,IAC3BuwW,EAAUvwW,GAAc,MAAEuwW,EAAUvwW,GAAc,MAClDuwW,EAAUvwW,GAAa,KAAE,KAEE,IAAzBuwW,EAAUvwW,GAAY,MAExBuwW,EAAUvwW,GAAe,OAAE,IAC3BuwW,EAAUvwW,GAAc,MAAE,IAE1BuwW,EAAUvwW,GAAa,KAAEuwW,EAAUvwW,GAAc,OAG/CqwW,EAAYE,GACZC,IAEF,EAuzBoB7B,WAAY4C,GACZ3C,mBAAoBA,EACpBc,OAAQA,EACRO,YAAaA,eAOvBnmI,EAAAA,EAAAA,MAAC61B,GAAG,CAACljM,UAAU,kCAAiCnsE,SAAA,EAChDK,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,UACZqtK,EAAAA,EAAAA,MAAC8d,GAAG,CAAC9kF,GAAI,EAAExyK,SAAA,EACTw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iEAAgEnsE,SAAA,EAC7EK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,gBAC1BK,EAAAA,EAAAA,KAAA,QAAAL,UACEK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,SAAQnsE,SAAE0/W,EAAeh0V,gBAG7C8tN,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iEAAgEnsE,SAAA,EAC7EK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,aAC1BK,EAAAA,EAAAA,KAAA,QAAAL,UACEK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,SAAQnsE,SAAEy/W,EAAO/zV,gBAGrC8tN,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iEAAgEnsE,SAAA,EAC7EK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,YAC1BK,EAAAA,EAAAA,KAAA,QAAAL,UACEK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,SAAQnsE,SAAEw/W,EAAQ9zV,gBAGtC8tN,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iEAAgEnsE,SAAA,EAC7EK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,gBAC1BK,EAAAA,EAAAA,KAAA,QAAAL,UACEK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,SAAQnsE,SAAEuhX,GAAgB71V,gBAG9CrrB,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,OACErtK,UAAU,4DACV3T,MAAO,CACLoB,SAAU,YACV55D,SAAA,EAEFK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,YAC1BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAEwhX,GAAa91V,oBAI9CrrB,EAAAA,EAAAA,KAAC+hP,GAAM,CACLn/J,QAAQ,UACR9W,UAAU,qBACV+wD,QA5xBQ,WAIlB,IAFA,IAAIwlP,EAAe,EACfC,EAAc,EACTz9W,EAAE,EAAEA,EAAEg5W,EAAS74W,OAAOH,IAED,IAAvBg5W,EAASh5W,GAAGwuQ,YAEdgvG,EAAe,GAES,IAAtBxE,EAASh5W,GAAG8tW,UAAqC,GAAtBkL,EAASh5W,GAAG8tW,WAEzC2P,EAAc,GAInB9rH,GAAUyd,YAAazd,GAAUyd,YAAczd,GAAUyd,YAAY,UACrEzd,GAAU+Y,YAAa/Y,GAAU+Y,YAAc/Y,GAAU+Y,YAAY,gBACvCtqQ,IAA1BuxP,GAAUod,cAA+D,IAAlCpd,GAAUod,aAAavoP,QAChE4jM,KAAAA,KAAU,CACR3/K,MAAO,yBACP3O,KAAK,kCACLo8K,KAAM,UACN+H,mBAAoB,iBAIG7/M,IAAlBuxP,GAAUud,IAEjB9kD,KAAAA,KAAU,CACR3/K,MAAO,yBACP3O,KAAK,wBACLo8K,KAAM,UACN+H,mBAAoB,iBAEW7/M,IAAzBuxP,GAAU0d,YAAgD,IAApB2pG,EAAS74W,QAAsC,IAAtB64W,EAAS,GAAG93G,UAAsC,IAAtB83G,EAAS,GAAGlL,SAE7G1jJ,KAAAA,KAAU,CACR3/K,MAAO,eACP3O,KAAK,yBACLo8K,KAAM,UACN+H,mBAAoB,YAGE,GAAhBu9J,EAERpzJ,KAAAA,KAAU,CACR3/K,MAAO,+BACP3O,KAAK,oBACLo8K,KAAM,UACN+H,mBAAoB,YAEC,GAAfw9J,EAERrzJ,KAAAA,KAAU,CACR3/K,MAAO,kCACP3O,KAAK,mBACLo8K,KAAM,UACN+H,mBAAoB,aAKK,WAAvB0xC,GAAUyd,aAEV6lG,GAAW,GACXE,GAAW,KAGbA,GAAW,GACXF,GAAW,IAEbl/G,EAAgB,CAAEr3P,KAAM,QAAS8wW,UAAW,YAGlD,EAitBiC10W,SACtB,2BAON8G,EAAQwyO,SACPj5O,EAAAA,EAAAA,KAACw0W,GAAoB,CACnBn+G,OAAQ5vP,EAAQwyO,OAChBqd,aAAcA,EACdC,cAAe+9G,GACfhB,SAh+BS,CAAC,CAChB9mG,OAAO,GACPsH,YAAY,GACZC,IAAI,GACJy/F,OAAO,GACPlmG,UAAU,GACVC,SAAS,GACTomG,OAAO,OA49BJltW,EAAQklQ,UACP3rQ,EAAAA,EAAAA,KAACuiX,GAAY,CACXlsH,OAAQ5vP,EAAQklQ,QAChBrV,aAAcA,EACdioH,eAAgBmC,GAChB9K,eAAgBiI,EAChBlI,aAAcn/G,GACd4iH,QAAS6F,EACTlF,QAASmF,MAMnB,ECviCMpvL,GAAS,CACX,OACA,YACA,YACA,QACA,SACA,YA4CF,GA1CgB,SAAH/4K,GAAsB,IAC7BwS,EADa5pB,EAAQoX,EAARpX,SAkBX6iX,EAAa,WACbj5V,GAAO6C,aAAa7C,EAC1B,GAKAzpB,EAAAA,EAAAA,YAAU,WACR3B,OAAOsnD,OAAOqqI,IAAQnrL,SAAQ,SAACm+B,GAC7Bl9B,OAAOgZ,iBAAiBkkB,GAAM,WAC5B0/U,IAvBJj5V,EAAQtL,YAAW,WAEjBukW,IAEArkX,OAAOsnD,OAAOqqI,IAAQnrL,SAAQ,SAACm+B,GAC7Bl9B,OAAOmX,oBAAoB+lB,EAAM0/U,EACnC,IAEAC,GACF,GAAG,IAgBD,GACF,GACF,IAGA,IAAMA,EAAe,WACnBvjX,aAAau8F,QACb71F,OAAO2U,SAASF,SAAW,QAC7B,EAEE,OAAO1a,CACT,EChDS4rQ,GAAe,SAAHx0P,GAAsB,IAAf8uL,EAAM9uL,EAAN8uL,OAExBkG,EAA0BlG,EAA1BkG,YAAaH,EAAa/F,EAAb+F,UACpB,OACC5rM,EAAAA,EAAAA,KAAA,OAAAL,UAECK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,4BAChBztE,MAAO0tM,GAAe,GAAKjvE,SAAU,SAAAlpH,GAAC,OAAIg4L,EAAUh4L,EAAEvH,OAAOhO,MAAM,KAGvE,ECVamtQ,GAAU,CACtB,CACC1lE,OAAS,MACTC,OAAS,KACT/tL,SAAU,gBACVyzP,OAAQF,GACRp/D,gBAAgB,GAEjB,CACCrG,OAAS,YACTC,OAAS,SACT/tL,SAAU,YACVyzP,OAAQF,GACRp/D,gBAAgB,GAEjB,CACCrG,OAAS,MACTC,OAAS,MACT/tL,SAAU,MACVyzP,OAAQF,GACRp/D,gBAAgB,GAGjB,CACCrG,OAAS,cACTC,OAAS,cACT/tL,SAAU,cACVyzP,OAAQF,GACRp/D,gBAAgB,GAEjB,CACCrG,OAAS,WACTC,OAAS,WACT/tL,SAAU,WACVyzP,OAAQF,GACRp/D,gBAAgB,IAGLu2K,GAAgB,CAC5B,CACC58K,OAAQ,kBACP9lM,EAAAA,EAAAA,KAAA,OACEm4D,MAAO,CACRmC,UAAU,UACP36D,SACH,kBAAoB,EACtBqY,SAAU,YACVwtL,KAAM,SAAC9lM,GACN,OACEM,EAAAA,EAAAA,KAAA,KAAKm4D,MAAO,CACbmC,UAAU,UACP36D,SACFD,EAAMrB,OAGP,EACFotQ,OAAQF,IAGT,CACCzlE,OAAQ,kBACP9lM,EAAAA,EAAAA,KAAA,OACEm4D,MAAO,CACRmC,UAAU,UACP36D,SACH,SAAW,EACbqY,SAAU,WACVwtL,KAAM,SAAC9lM,GACN,OACEM,EAAAA,EAAAA,KAAA,KAAKm4D,MAAO,CACbmC,UAAU,UACP36D,SACFD,EAAMrB,OAGP,EACFotQ,OAAQF,IAET,CACCzlE,OAAQ,kBACP9lM,EAAAA,EAAAA,KAAA,OACEm4D,MAAO,CACRmC,UAAU,UACP36D,SACH,YAAc,EAChBqY,SAAU,WACVwtL,KAAM,SAAC9lM,GACN,OACEM,EAAAA,EAAAA,KAAA,KAAKm4D,MAAO,CACbmC,UAAU,UACP36D,SACFD,EAAMrB,OAGP,EACFotQ,OAAQF,IAGT,CACCzlE,OAAQ,kBACP9lM,EAAAA,EAAAA,KAAA,OACEm4D,MAAO,CACRmC,UAAU,UACP36D,SACH,UAAY,EAEdqY,SAAU,SACVwtL,KAAM,SAAC9lM,GACN,OACEM,EAAAA,EAAAA,KAAA,KAAKm4D,MAAO,CACbmC,UAAU,UACP36D,SACFD,EAAMrB,OAGP,EACFotQ,OAAQF,IAET,CACCzlE,OAAQ,kBACP9lM,EAAAA,EAAAA,KAAA,OACEm4D,MAAO,CACRmC,UAAU,UACP36D,SACH,QAAU,EAEZqY,SAAU,MACVwtL,KAAM,SAAC9lM,GACN,OACEM,EAAAA,EAAAA,KAAA,KAAKm4D,MAAO,CACbmC,UAAU,UACP36D,SACFD,EAAMrB,OAGP,EACFotQ,OAAQF,IAET,CACCzlE,OAAQ,kBACP9lM,EAAAA,EAAAA,KAAA,OACEm4D,MAAO,CACRmC,UAAU,UACP36D,SACH,SAAW,EAEbqY,SAAU,QACVwtL,KAAM,SAAC9lM,GACN,OACEM,EAAAA,EAAAA,KAAA,KAAKm4D,MAAO,CACbmC,UAAU,UACP36D,SACFD,EAAMrB,OAGP,EACFotQ,OAAQF,KAGG8nG,GAAW,CACvB,CACCvtK,OAAS,KACTC,OAAS,KACT/tL,SAAU,YACVyzP,OAAQF,IAGT,CACCzlE,OAAS,mBACTC,OAAS,mBACT/tL,SAAU,gBACVyzP,OAAQF,IAET,CACCzlE,OAAS,eACTC,OAAS,eACT/tL,SAAU,cACVyzP,OAAQF,IAET,CACCzlE,OAAS,MACTC,OAAS,MACT/tL,SAAU,MACVyzP,OAAQF,IAET,CACCzlE,OAAS,gBACTC,OAAS,eACT/tL,SAAU,eACVyzP,OAAQF,IAET,CACCzlE,OAAS,eACTC,OAAS,cACT/tL,SAAU,cACVyzP,OAAQF,IAGT,CACCzlE,OAAS,QACTC,OAAS,QACT/tL,SAAU,eACVyzP,OAAQF,KC1MGG,GAAe,SAAH30P,GAA8B,IAAxBzN,EAAMyN,EAANzN,OAAQsiM,EAAS70L,EAAT60L,UACtC,OACCutC,EAAAA,EAAAA,MAAA,OAAAx5O,SAAA,CAAK,YACM,KACVK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iCAChBztE,MAAOiL,GAAU,GAAKwzH,SAAU,SAAAlpH,GAAC,OAAIg4L,EAAUh4L,EAAEvH,OAAOhO,MAAM,EAAE85D,MAAO,CAACprC,MAAO,WAInF,ECiJA,GAzJ2B,SAACrtB,GAC1B,IAAQ22P,EAAoD32P,EAApD22P,OAAOC,EAA6C52P,EAA7C42P,aAAaC,EAAgC72P,EAAhC62P,cAAc+8G,EAAkB5zW,EAAlB4zW,SAASqP,EAASjjX,EAATijX,MAEnDzvI,GAA8Bh7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAAnCsjB,EAASrjB,EAAA,GAAE3qF,EAAQ2qF,EAAA,GAuB1B,OACEnzO,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UACEw5O,EAAAA,EAAAA,MAAC6V,GAAK,CAACvtC,KAAM40C,EAAQhG,OAAQiG,EAAa32P,SAAA,EACxCK,EAAAA,EAAAA,KAACgvP,GAAAA,OAAY,CAAC7pC,aAAW,EAAAxlN,UACvBK,EAAAA,EAAAA,KAACgvP,GAAAA,MAAW,CAAArvP,SAAC,2BAEfK,EAAAA,EAAAA,KAACgvP,GAAAA,KAAU,CAAArvP,UACTw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,EACEw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,aAEhCK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAEhCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACNkI,aAAc6nW,EAAS,GAAGsP,UACzB92S,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEosH,UAAWhvW,EAAEvH,OAAOhO,QAC/C,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,gBAEhCK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAEhCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLkI,aAAc6nW,EAAS,GAAGx/F,YAC1BhoM,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAACsd,YAAalgQ,EAAEvH,OAAOhO,QAChD,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,iBAAgBnsE,SAAA,CAAC,OAEhCK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,cAAansE,SAAC,UAEhCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLkI,aAAc6nW,EAAS,GAAGv/F,IAC1BjoM,UAAU,eACVniC,UAAQ,EACRmzF,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEud,IAAKngQ,EAAEvH,OAAOhO,QACzC,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,YAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLkI,aAAc6nW,EAAS,GAAGG,OAC1B3nS,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEi9G,OAAQ7/V,EAAEvH,OAAOhO,QAC5C,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,eAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACA2iG,UAAW,GACTp/F,KAAK,OACLkI,aAAc6nW,EAAS,GAAGhmG,UAC1BxhM,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAE8W,UAAW15P,EAAEvH,OAAOhO,QAC/C,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,cAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLkI,aAAc6nW,EAAS,GAAG/lG,SAC1BzhM,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAE+W,SAAU35P,EAAEvH,OAAOhO,QAC9C,UAIN86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,sBAAqBnsE,SAAA,EAClCK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,YAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,QACLkI,aAAc6nW,EAAS,GAAGK,OAC1B7nS,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAI+mB,GAAS,IAAEm9G,OAAQ//V,EAAEvH,OAAOhO,QAC5C,eAMV86O,EAAAA,EAAAA,MAAC6V,GAAAA,OAAY,CAAArvP,SAAA,EACXK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACn/J,QAAQ,SAASi6C,QAASy5H,EAAa32P,SAAC,YAGhDK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAEllH,QA5IK,SAAC5gH,GACrBu6O,EAAUosH,UAAUpsH,EAAUosH,UAAWpsH,EAAUosH,UAAUtP,EAAS,GAAGsP,UACzEpsH,EAAUsd,YAAYtd,EAAUsd,YAAatd,EAAUsd,YAAYw/F,EAAS,GAAGx/F,YAC/Etd,EAAUud,IAAIvd,EAAUud,IAAKvd,EAAUud,IAAIu/F,EAAS,GAAGv/F,IACvDvd,EAAUi9G,OAAOj9G,EAAUi9G,OAAQj9G,EAAUi9G,OAAOH,EAAS,GAAGG,OAChEj9G,EAAU8W,UAAU9W,EAAU8W,UAAW9W,EAAU8W,UAAUgmG,EAAS,GAAGhmG,UACzE9W,EAAU+W,SAAS/W,EAAU+W,SAAU/W,EAAU+W,SAAS+lG,EAAS,GAAG/lG,SACtE/W,EAAUk9G,OAAOl9G,EAAUm9G,OAAQn9G,EAAUk9G,OAAOJ,EAAS,GAAGI,OAChEl9G,EAAUqsH,YAAYvP,EAAS,GAAGwP,cACd,KAAhBtsH,EAAUud,KAAoC,KAAxBvd,EAAUsd,aAA0C,KAAtBtd,EAAUosH,UAEhE3zJ,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAM,gBACNuhJ,mBAAoB,UAItByxC,EAAcC,EAAUmsH,EAE5B,EAuHwChjX,SAAC,mBAO3C,ECvJO,SAAeojX,KAAiB,OAAAC,GAAAvnX,MAAC,KAADC,UAAA,CAatC,SAAAsnX,KAAA,OAAAA,IAAArnX,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAbM,SAAA49P,IAAA,IAAA19P,EAAAuM,EAAArM,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,OACuB,OAAtBN,GAAQO,EAAAA,GAAAA,MAAcgrD,EAAAjrD,KAAA,EACPE,MAAM,GAADC,OAAIC,GAAAA,GAAS,gBAAgB,CACrDC,QAAS,CAAEC,cAAc,UAADH,OAAYT,MACnC,KAAD,EAFU,OAANuM,EAAMg/C,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,EAIOiM,EAAOzL,OAAO,KAAD,EAAtB,GAAJZ,EAAIqrD,EAAA1qD,KAEL0L,EAAOxL,GAAG,CAADwqD,EAAAjrD,KAAA,cACN,IAAIU,MAAMd,EAAKe,SAAS,KAAD,SAAAsqD,EAAArqD,OAAA,SAGxBhB,EAAKqM,QAAM,yBAAAg/C,EAAAnqD,OAAA,GAAAs8P,EAAA,KACnBupH,GAAAvnX,MAAA,KAAAC,UAAA,CACM,SAAeunX,GAAa1gJ,GAAA,OAAA2gJ,GAAAznX,MAAC,KAADC,UAAA,CAgChC,SAAAwnX,KAAA,OAAAA,IAAAvnX,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAhCI,SAAAq/P,EAA6BioH,GAAe,IAAAh3Q,EAAA02Q,EAAA9mX,EAAAu+P,EAAA18P,EAAA0K,EAAArM,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,OAc9C,OAbL2B,QAAQC,IAAIklX,GACAh3Q,EAAuBg3Q,EAAvBh3Q,MAAO02Q,EAAgBM,EAAhBN,YACT9mX,GAAQO,EAAAA,GAAAA,MACVg+P,EAAO,GAAA99P,OAAMC,GAAAA,GAAS,cAEtBmB,EAAS,OAETulX,EAAgBh3Q,cAAcg3Q,EAAgBh3Q,MAC9Cg3Q,EAAgBN,oBAAoBM,EAAgBr2G,QAEnD3gK,IACHmuJ,EAAO,GAAA99P,OAAM89P,EAAO,KAAA99P,OAAIqmX,GACxBjlX,EAAS,OACVu9P,EAAA9+P,KAAA,GAEoBE,MAAM+9P,EAAS,CAClC18P,OAAQA,EACRlB,QAAS,CACPC,cAAc,UAADH,OAAYT,GACzB,eAAgB,oBAElB8B,KAAMC,KAAKC,UAAUolX,KACpB,KAAD,GAPU,OAAN76W,EAAM6yP,EAAAv+P,KAAAu+P,EAAA9+P,KAAA,GASOiM,EAAOzL,OAAO,KAAD,GAAtB,GAAJZ,EAAIk/P,EAAAv+P,KAEL0L,EAAOxL,GAAG,CAADq+P,EAAA9+P,KAAA,eACN,IAAIU,MAAMd,EAAKe,SAAS,KAAD,UAAAm+P,EAAAl+P,OAAA,SAGxBhB,EAAKu+P,SAAO,yBAAAW,EAAAh+P,OAAA,GAAA+9P,EAAA,KACpBgoH,GAAAznX,MAAA,KAAAC,UAAA,CAEI,SAAe0nX,GAAgBzpH,GAAA,OAAA0pH,GAAA5nX,MAAC,KAADC,UAAA,CAetC,SAAA2nX,KADC,OACDA,IAAA1nX,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAfO,SAAAC,EAAgCgnX,GAAa,IAAA/mX,EAAAC,EAAAC,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEtB,OAAtBN,GAAQO,EAAAA,GAAAA,MAAcH,EAAAE,KAAA,EAELE,MAAM,GAADC,OAAIC,GAAAA,GAAS,eAAAD,OAAcsmX,GAAiB,CACtEpmX,QAAS,CAAEC,cAAc,UAADH,OAAYT,MACnC,KAAD,EAFY,OAARC,EAAQG,EAAAS,KAAAT,EAAAE,KAAA,EAIKL,EAASa,OAAO,KAAD,EAAxB,GAAJZ,EAAIE,EAAAS,KAELZ,EAASc,GAAG,CAADX,EAAAE,KAAA,cACR,IAAIU,MAAMd,EAAKe,SAAS,KAAD,SAAAb,EAAAc,OAAA,SAExBhB,EAAKqM,QAAM,yBAAAnM,EAAAgB,OAAA,GAAArB,EAAA,KACnBunX,GAAA5nX,MAAA,KAAAC,UAAA,CAgCA,SAAA4nX,KAAA,OAAAA,IAAA3nX,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAZM,SAAA+qQ,EAA+Bi8G,GAAW,IAAA9mX,EAAAC,EAAAC,EAAA,OAAAL,EAAAA,GAAAA,KAAAM,MAAA,SAAA2qQ,GAAA,cAAAA,EAAAzqQ,KAAAyqQ,EAAAxqQ,MAAA,OACnB,OAAtBN,GAAQO,EAAAA,GAAAA,MAAcuqQ,EAAAxqQ,KAAA,EACLE,MAAM,GAADC,OAAIC,GAAAA,GAAS,eAAAD,OAAcqmX,GAAe,CACpEnmX,QAAS,CAAEC,cAAc,UAADH,OAAYT,IACpC6B,OAAQ,WACP,KAAD,EAHY,OAAR5B,EAAQ6qQ,EAAAjqQ,KAAAiqQ,EAAAxqQ,KAAA,EAIKL,EAASa,OAAO,KAAD,EAAxB,GAAJZ,EAAI4qQ,EAAAjqQ,KAELZ,EAASc,GAAG,CAAD+pQ,EAAAxqQ,KAAA,cACR,IAAIU,MAAMd,EAAKe,SAAS,KAAD,SAAA6pQ,EAAA5pQ,OAAA,SAExBhB,EAAK6qQ,WAAS,yBAAAD,EAAA1pQ,OAAA,GAAAypQ,EAAA,KACtB08G,GAAA7nX,MAAA,KAAAC,UAAA,CCxED,IAAM++P,GAAc,SAACC,EAASzqO,GAC5B,OAAQA,EAAM1sB,MACZ,IAAK,OACH,MAAO,CACL01O,QAAQ,EACRsd,cAAetmO,EAAMsmO,eAEzB,IAAK,MACH,OAAA9mB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,IAEnC,EAoUA,GAnUoB,WAElB,IAAA/F,GAA6Bh7E,EAAAA,EAAAA,UAAS,CACpC,CACE0qN,UAAW,GACX9uG,YAAa,GACbC,IAAK,GACLy/F,OAAQ,GACRlmG,UAAW,GACXC,SAAU,GACVomG,OAAQ,MAEVxgI,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAVKogI,EAAQngI,EAAA,GAACowI,EAAWpwI,EAAA,GAW3BG,GAAuBp7E,EAAAA,EAAAA,WAAS,GAAKq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAA9BqvI,EAAKpvI,EAAA,GAACiwI,EAAQjwI,EAAA,GACrBG,GAA8Bx7E,EAAAA,EAAAA,WAAS,GAAKy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAArC5iK,EAAO6iK,EAAA,GAAEk4B,EAAUl4B,EAAA,GAC1BgF,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACzDxhB,QAAQ,IACRL,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GAFKlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,GAG/B9E,GAAwB57E,EAAAA,EAAAA,UAAS,IAAG67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAA7B73O,EAAI83O,EAAA,GAAE0iC,EAAO1iC,EAAA,GAEd6iC,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAnxP,EAAA,OAAA1M,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,cAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAAjrD,KAAA,EAEV0mX,KAAoB,KAAD,EAAlCz6W,EAAMg/C,EAAA1qD,KACZ65Q,GAAO5sO,EAAAA,GAAAA,GAAKvhC,IACZujQ,GAAW,GAAOvkN,EAAAjrD,KAAA,gBAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAElBtpD,QAAQC,IAAGqpD,EAAA8wJ,IACXyzD,GAAW,GAAO,yBAAAvkN,EAAAnqD,OAAA,GAAAs8P,EAAA,oBAGtB35P,EAAAA,EAAAA,YAAU,WACR82Q,GACF,GAAG,IACH,IAkBMtlH,GAAU0G,EAAAA,EAAAA,UAAQ,kBAAMwzG,EAAO,GAAE,IACjCQ,GAAgB3yD,EAAAA,GAAAA,UACpB,CACE/nD,QAAAA,EACAr1J,KAAAA,EACAitM,aAAc,CAAE8I,UAAW,IAE7ByG,GAAAA,WACAG,GAAAA,gBACAI,GAAAA,eAIAjR,EAcEikE,EAdFjkE,cACAC,EAaEgkE,EAbFhkE,kBACAN,EAYEskE,EAZFtkE,aACAI,EAWEkkE,EAXFlkE,WACA73K,EAUE+7O,EAVF/7O,MACAiiL,EASE85D,EATF95D,KACAL,EAQEm6D,EARFn6D,SACAI,EAOE+5D,EAPF/5D,UACAI,EAME25D,EANF35D,YACAI,EAKEu5D,EALFv5D,SACAD,EAIEw5D,EAJFx5D,aACAD,EAGEy5D,EAHFz5D,YACAD,EAEE05D,EAFF15D,gBACAzF,EACEm/D,EADFn/D,gBAEIynK,EAAmB,eAAAt9V,GAAArb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAAq/P,EAAOj/P,EAAKkwG,GAAK,IAAA7jG,EAAA0yP,EAAA,OAAAp/P,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,OAQtC,OARsC8+P,EAAA/+P,KAAA,EAEzC6yN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAClBk3C,EAAA9+P,KAAA,EACkB4mX,IAAaxzI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIxzO,GAAI,IAAEkwG,MAAAA,KAAS,KAAD,EAA1C,KAAN7jG,EAAM6yP,EAAAv+P,MAED,CAADu+P,EAAA9+P,KAAA,aACJiM,EAAO,CAAD6yP,EAAA9+P,KAAA,gBAAA8+P,EAAA9+P,KAAA,EACiB0mX,KAAoB,KAAD,EAAtC/nH,EAAUG,EAAAv+P,KAChB65Q,GAAO5sO,EAAAA,GAAAA,GAAKmxN,IACZ/rC,KAAAA,QACAA,KAAAA,KAAU,CACR3/K,MAAO,oBACP3O,KAAK,uCACLo8K,KAAM,UACN+H,mBAAoB,UAEtB81C,EAAgB,CAAEr3P,KAAM,QAAS,QAAA43P,EAAA9+P,KAAA,iBAAA8+P,EAAA/+P,KAAA,GAAA++P,EAAA/iD,GAAA+iD,EAAA,SAIrClsC,KAAAA,QACAA,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAA2+P,EAAA/iD,MACH,yBAAA+iD,EAAAh+P,OAAA,GAAA+9P,EAAA,mBAEN,gBAjCwB34B,EAAAo3B,GAAA,OAAA3iP,EAAAvb,MAAA,KAAAC,UAAA,KAmCjBoxM,EAA4B78K,EAA5B68K,aAAckF,EAAc/hL,EAAd+hL,UAShBi6D,EAAS,SAACh7P,GACd,IACEg+M,KAAAA,KAAU,CACR3/K,MAAO,8BACPi0B,KAAM,oBACNw5I,KAAM,UACNoH,kBAAkB,EAClBW,mBAAoB,QACpBE,kBAAmB,MACnByN,kBAAmB,kBAClBjmN,MAAK,SAAClE,GACHA,EAAOmmN,cACTQ,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,ID3FxB,SAA8B5mN,GAAAimX,GAAA7nX,MAAC,KAADC,UAAA,CC6F3B+nX,CAAgBxyW,GAChB2lQ,IACA3nD,KAAAA,QACAA,KAAAA,KAAU,CACR3/K,MAAO,YACPi0B,KAAM,sBACNw5I,KAAM,UACN+H,mBAAoB,UAG1B,GACF,CAAE,MAAOrnM,GACPzf,QAAQC,IAAIwf,EACd,CACF,EAEA,OACE07N,EAAAA,EAAAA,MAACxsD,EAAAA,SAAQ,CAAAhtL,SAAA,EACPK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,mBAEdK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACllH,QAxIJ,WAClB0mP,EAAY,CACV,CACEX,UAAW,GACX9uG,YAAa,GACbC,IAAK,GACLy/F,OAAQ,GACRlmG,UAAW,GACXC,SAAU,GACVomG,OAAQ,MAGZ6P,GAAS,GACT5oH,EAAgB,CAAEr3P,KAAM,QAC1B,EA0H6C5D,SAAC,sBAKtCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC5BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC/BK,EAAAA,EAAAA,KAAC0rQ,GAAY,CACXpiQ,OAAQwjM,EACRlB,UAAWiB,KAEb7sM,EAAAA,EAAAA,KAACosQ,GAAQ,CACPl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,KAEX9wE,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,SAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACM1nC,KAAe,IACnBj8H,UAAU,0BAAyBnsE,SAAA,EAEnCK,EAAAA,EAAAA,KAAA,SAAAL,SACG+nM,EAAaz5L,KAAI,SAACwrM,GAAW,OAC5B0/B,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQh2B,EAAYxR,uBAAqB,IAAAtoM,SAAA,CACtC85M,EAAY/8M,QAAQuR,KAAI,SAAC43L,GAAM,OAC9BszC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5pC,EAAOsC,kBAAgB,IAAAxoM,SAAA,CAC5BkmM,EAAO30J,OAAO,UACd20J,EAAOwG,UACJxG,EAAO30J,OAAO,UACd,QACD,KAEPlxC,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAEthC,QAAS,QAASl3B,SAAC,gBAC7B,OAITK,EAAAA,EAAAA,KAAA,SAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWznC,KAAmB,IAAEl8H,UAAU,GAAEnsE,SACzCuyM,EAAKjkM,KAAI,SAAC24L,GAET,OADAkB,EAAWlB,IAETuyC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ7oC,EAAIyB,eAAa,IAAA1oM,SAAA,CACtBinM,EAAI0D,MAAMr8L,KAAI,SAAC44L,GACd,OACEsyC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5oC,EAAKyB,gBAAc,IAAEx8H,UAAU,MAAKnsE,SAAA,CAEzCknM,EAAK31J,OAAO,QAAS,OAG5B,KACAioM,EAAAA,EAAAA,MAAA,MAAKrtK,UAAU,cAAansE,SAAA,EAExBK,EAAAA,EAAAA,KAAC+hP,GAAM,CAELllH,QAAS,kBAnH1B,SAAC/5F,GACd,IAAI8jK,EAAM3qM,EAAKqN,QAAO,SAAAnJ,GAAG,OAAIA,EAAI2iX,gBAAgBhgV,CAAI,IACtDygV,EAAY38K,GACZ48K,GAAS,GACR5oH,EAAgB,CAAEr3P,KAAM,QAG1B,CA4G+C6xW,CAAOxuK,EAAInhJ,OAAOq9T,cAAc,EAC/Ch3S,UAAU,oBACVjgE,KAAK,QAIP7L,EAAAA,EAAAA,KAAC+hP,GAAM,CACLllH,QAAS,kBAAMovI,EAAOrlE,EAAInhJ,OAAOq9T,cAAc,EAC/Ch3S,UAAU,eACV8W,QAAQ,SACR/2E,KAAK,aAMjB,YAGJstO,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iCAAgCnsE,SAAA,EAC7Cw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,OACC,KACLw5O,EAAAA,EAAAA,MAAA,UAAAx5O,SAAA,CACGqyM,EAAY,EAAE,OAAKK,EAAYrtM,UAEjC,OAEHm0O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,cAAansE,SAAA,CAAC,eACf,KACbK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,SACLuoE,UAAU,OACVrgE,aAAcumM,EAAY,EAC1Bl1E,SAAU,SAAClpH,GACT,IAAM04P,EAAa14P,EAAEvH,OAAOhO,MACxBqN,OAAOkI,EAAEvH,OAAOhO,OAAS,EACzB,EACJwzM,EAASy6D,EACX,WAINtsQ,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAAkBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,0BAAyBnsE,SAAA,EACtCK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,mBACV+wD,QAAS,kBAAMg1E,EAAS,EAAE,EAC1BxiE,UAAWijE,EAAgB3yM,SAE1B,QAGHK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,kBACV+wD,QAAS,kBAAM21E,GAAc,EAC7BnjE,UAAWijE,EAAgB3yM,SAC5B,cAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,cACV+wD,QAAS,kBAAM41E,GAAU,EACzBpjE,UAAWkjE,EAAY5yM,SACxB,UAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,eACV+wD,QAAS,kBAAMg1E,EAASI,EAAY,EAAE,EACtC5iE,UAAWkjE,EAAY5yM,SAEtB,0BAUlB8G,EAAQwyO,SACPj5O,EAAAA,EAAAA,KAAC0jX,GAAkB,CACjBrtH,OAAQ5vP,EAAQwyO,OAChBqd,aA1Qa,WACnBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EAyQQgzP,cAAe+9G,EACfhB,SAAUA,EACVqP,MAAOA,MAKjB,EC7IE,GApMgB,WACd,IAAAzvI,GAA8Bh7E,EAAAA,EAAAA,WAAS,GAAKi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAArCpiK,EAAOqiK,EAAA,GAAE04B,EAAU14B,EAAA,GAC1BG,GAAwBp7E,EAAAA,EAAAA,UAAS,IAAGq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAA7Br3O,EAAIs3O,EAAA,GAAEkjC,EAAOljC,EAAA,GACdjiF,GAAU0G,EAAAA,EAAAA,UAAQ,kBAAMq7M,EAAQ,GAAE,IAClCz8F,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAnxP,EAAA,OAAA1M,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,cAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAAjrD,KAAA,EAEX05Q,KAA0B,KAAD,EAAxCztQ,EAAMg/C,EAAA1qD,KACX65Q,GAAO5sO,EAAAA,GAAAA,GAAKvhC,IACZujQ,GAAW,GAAOvkN,EAAAjrD,KAAA,gBAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAElBtpD,QAAQC,IAAGqpD,EAAA8wJ,IACXyzD,GAAW,GAAO,yBAAAvkN,EAAAnqD,OAAA,GAAAs8P,EAAA,oBAGtB35P,EAAAA,EAAAA,YAAU,WACR82Q,GACF,GAAG,IACH,IAAM5K,GAAgB3yD,EAAAA,GAAAA,UACpB,CACE/nD,QAAAA,EACAr1J,KAAAA,EACAitM,aAAc,CAAE8I,UAAW,IAE7ByG,GAAAA,WACAG,GAAAA,gBACAI,GAAAA,eAIAjR,EAcEikE,EAdFjkE,cACAC,EAaEgkE,EAbFhkE,kBACAN,EAYEskE,EAZFtkE,aACAI,EAWEkkE,EAXFlkE,WACA73K,EAUE+7O,EAVF/7O,MACAiiL,EASE85D,EATF95D,KACAL,EAQEm6D,EARFn6D,SACAI,EAOE+5D,EAPF/5D,UACAI,EAME25D,EANF35D,YACAI,EAKEu5D,EALFv5D,SACAD,EAIEw5D,EAJFx5D,aACAD,EAGEy5D,EAHFz5D,YACAD,EAEE05D,EAFF15D,gBACAzF,EACEm/D,EADFn/D,gBAGMC,EAA4B78K,EAA5B68K,aAAckF,EAAc/hL,EAAd+hL,UAOtB,OACEhyM,EAAAA,EAAAA,KAAC2sL,EAAAA,SAAQ,CAAAhtL,UACPK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,eAEdK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAApiP,UACLK,EAAAA,EAAAA,KAACqxO,GAAI,CAAChtM,GAAG,iBAAiB8zB,MAAO,CAAE/P,MAAO,SAAUzoD,SAAC,0CAQ/DK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC5BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC/BK,EAAAA,EAAAA,KAAC0rQ,GAAY,CACXpiQ,OAAQwjM,EACRlB,UAAWiB,KAEf7sM,EAAAA,EAAAA,KAACosQ,GAAQ,CACTl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,KAET9wE,EAAAA,EAAAA,KAAA,UACEm5O,EAAAA,EAAAA,MAAA,SAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACM1nC,KAAe,IACnBj8H,UAAU,0BAAyBnsE,SAAA,EAEnCK,EAAAA,EAAAA,KAAA,SAAAL,SACG+nM,EAAaz5L,KAAI,SAACwrM,GAAW,OAC5Bz5M,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQh2B,EAAYxR,uBAAqB,IAAAtoM,SACtC85M,EAAY/8M,QAAQuR,KAAI,SAAC43L,GAAM,OAC9BszC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5pC,EAAOsC,kBAAgB,IAAAxoM,SAAA,CAC5BkmM,EAAO30J,OAAO,UACd20J,EAAOwG,UACJxG,EAAO30J,OAAO,UACd,QACD,MAEJ,OAITlxC,EAAAA,EAAAA,KAAA,SAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWznC,KAAmB,IAAEl8H,UAAU,GAAEnsE,SACzCuyM,EAAKjkM,KAAI,SAAC24L,GAET,OADAkB,EAAWlB,IAET5mM,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ7oC,EAAIyB,eAAa,IAAA1oM,SACtBinM,EAAI0D,MAAMr8L,KAAI,SAAC44L,GACd,OACEsyC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5oC,EAAKyB,gBAAc,IAAA3oM,SAAA,CACxB,KACDw5O,EAAAA,EAAAA,MAAC9H,GAAI,CAAChtM,GAAI,sBAAsBpU,MAAO,CAAEhf,GAAI21L,EAAInhJ,OAAOyrN,WAAYvxQ,SAAA,CACjEknM,EAAK31J,OAAO,QAAS,OAChB,OAGd,MAGN,YAGJioM,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iCAAgCnsE,SAAA,EAC7Cw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,OACC,KACLw5O,EAAAA,EAAAA,MAAA,UAAAx5O,SAAA,CACGqyM,EAAY,EAAE,OAAKK,EAAYrtM,UAEjC,OAEHm0O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,cAAansE,SAAA,CAAC,eACf,KACbK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,SACLuoE,UAAU,OACVrgE,aAAcumM,EAAY,EAC1Bl1E,SAAU,SAAClpH,GACT,IAAM04P,EAAa14P,EAAEvH,OAAOhO,MACxBqN,OAAOkI,EAAEvH,OAAOhO,OAAS,EACzB,EACJwzM,EAASy6D,EACX,WAINtsQ,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAAkBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,0BAAyBnsE,SAAA,EACtCK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,mBACV+wD,QAAS,kBAAMg1E,EAAS,EAAE,EAC1BxiE,UAAWijE,EAAgB3yM,SAE1B,QAGHK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,kBACV+wD,QAAS,kBAAM21E,GAAc,EAC7BnjE,UAAWijE,EAAgB3yM,SAC5B,cAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,cACV+wD,QAAS,kBAAM41E,GAAU,EACzBpjE,UAAWkjE,EAAY5yM,SACxB,UAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,eACV+wD,QAAS,kBAAMg1E,EAASI,EAAY,EAAE,EACtC5iE,UAAWkjE,EAAY5yM,SAEtB,2BAazB,ECaF,GA/MuB,WACrB,IAAAuzO,GAA8Bh7E,EAAAA,EAAAA,WAAS,GAAKi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAArCpiK,EAAOqiK,EAAA,GAAE04B,EAAU14B,EAAA,GAC1BG,GAAwBp7E,EAAAA,EAAAA,UAAS,IAAGq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAA7Br3O,EAAIs3O,EAAA,GAAEkjC,EAAOljC,EAAA,GACdjiF,GAAU0G,EAAAA,EAAAA,UAAQ,kBAAM0qN,EAAa,GAAE,IACvC5rG,GAAU1+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAnxP,EAAA,OAAA1M,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,OAEP,OAFOirD,EAAAlrD,KAAA,EAExByvQ,GAAW,GAAMvkN,EAAAjrD,KAAA,EAEIo1Q,KAAsB,KAAD,EAApCnpQ,EAAMg/C,EAAA1qD,KACZoB,QAAQC,IAAIqK,GACZmuQ,GAAO5sO,EAAAA,GAAAA,GAAKvhC,IACZujQ,GAAW,GAAOvkN,EAAAjrD,KAAA,iBAAAirD,EAAAlrD,KAAA,GAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAElBtpD,QAAQC,IAAGqpD,EAAA8wJ,IACXyzD,GAAW,GAAO,yBAAAvkN,EAAAnqD,OAAA,GAAAs8P,EAAA,qBAGtB35P,EAAAA,EAAAA,YAAU,WACRg3Q,GACF,GAAG,IAEH,IAAM9K,GAAgB3yD,EAAAA,GAAAA,UACpB,CACE/nD,QAAAA,EACAr1J,KAAAA,EACAitM,aAAc,CAAE8I,UAAW,IAE7ByG,GAAAA,WACAG,GAAAA,gBACAI,GAAAA,eAIAjR,EAcEikE,EAdFjkE,cACAC,EAaEgkE,EAbFhkE,kBACAN,EAYEskE,EAZFtkE,aACAI,EAWEkkE,EAXFlkE,WACA73K,EAUE+7O,EAVF/7O,MACAiiL,EASE85D,EATF95D,KACAL,EAQEm6D,EARFn6D,SACAI,EAOE+5D,EAPF/5D,UACAI,EAME25D,EANF35D,YACAI,EAKEu5D,EALFv5D,SACAD,EAIEw5D,EAJFx5D,aACAD,EAGEy5D,EAHFz5D,YACAD,EAEE05D,EAFF15D,gBACAzF,EACEm/D,EADFn/D,gBAGMC,EAA4B78K,EAA5B68K,aAAckF,EAAc/hL,EAAd+hL,UAEhB+kE,GAAWnrP,EAAAA,EAAAA,QAAO,MAExB,OACEutN,EAAAA,EAAAA,MAACxsD,EAAAA,SAAQ,CAAAhtL,SAAA,EACPK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,8BAA6BnsE,UAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,kCAMtBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,cACf9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAGnB9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC5BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACnBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,YAAWnsE,SAAA,EAC1BK,EAAAA,EAAAA,KAAC2jX,GAAW,CAClBr0U,MAAM,uBACNrzC,KAAMA,EACNkR,SAAS,UACTskW,aAAa,8BAEfzxW,EAAAA,EAAAA,KAAA,UACUm5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC/BK,EAAAA,EAAAA,KAAC0rQ,GAAY,CACXpiQ,OAAQwjM,EACRlB,UAAWiB,KAEb7sM,EAAAA,EAAAA,KAACosQ,GAAQ,CACPl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,KAEX9wE,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,SAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACM1nC,KAAe,IACnBj8H,UAAU,0BACVg7C,IAAKiwJ,EAASp3Q,SAAA,EAEdK,EAAAA,EAAAA,KAAA,SAAAL,SACG+nM,EAAaz5L,KAAI,SAACwrM,GAAW,OAC5Bz5M,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQh2B,EAAYxR,uBAAqB,IAAAtoM,SACtC85M,EAAY/8M,QAAQuR,KAAI,SAAC43L,GAAM,OAC9BszC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5pC,EAAOsC,kBAAgB,IAAAxoM,SAAA,CAC5BkmM,EAAO30J,OAAO,UACd20J,EAAOwG,UACJxG,EAAO30J,OAAO,UACd,QACD,MAEJ,OAITlxC,EAAAA,EAAAA,KAAA,SAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWznC,KAAmB,IAAEl8H,UAAU,GAAEnsE,SACzCuyM,EAAKjkM,KAAI,SAAC24L,GAET,OADAkB,EAAWlB,IAET5mM,EAAAA,EAAAA,KAAA,MAAAyvO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAS7oC,EAAIyB,eAAa,IAAA1oM,SACvBinM,EAAI0D,MAAMr8L,KAAI,SAAC44L,GACd,OACEsyC,EAAAA,EAAAA,MAAA,MAAA1J,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQ5oC,EAAKyB,gBAEZ,IAAA3oM,SAAA,EAECw5O,EAAAA,EAAAA,MAAC9H,GAAI,CAAChtM,GAAI,sBAAsBpU,MAAO,CAAEhf,GAAI21L,EAAInhJ,OAAO2sT,WAAYzyW,SAAA,CACjEknM,EAAK31J,OAAO,QAAS,OAChB,OAGd,MAGN,YAGJioM,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iCAAgCnsE,SAAA,EAC7Cw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,OACC,KACLw5O,EAAAA,EAAAA,MAAA,UAAAx5O,SAAA,CACGqyM,EAAY,EAAE,OAAKK,EAAYrtM,UAEjC,OAEHm0O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,cAAansE,SAAA,CAAC,eACf,KACbK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,SACLuoE,UAAU,OACVrgE,aAAcumM,EAAY,EAC1Bl1E,SAAU,SAAClpH,GACT,IAAM04P,EAAa14P,EAAEvH,OAAOhO,MACxBqN,OAAOkI,EAAEvH,OAAOhO,OAAS,EACzB,EACJwzM,EAASy6D,EACX,WAINtsQ,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,mBAAkBnsE,UAC/Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,0BAAyBnsE,SAAA,EACtCK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,mBACV+wD,QAAS,kBAAMg1E,EAAS,EAAE,EAC1BxiE,UAAWijE,EAAgB3yM,SAE1B,QAGHK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,kBACV+wD,QAAS,kBAAM21E,GAAc,EAC7BnjE,UAAWijE,EAAgB3yM,SAC5B,cAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,cACV+wD,QAAS,kBAAM41E,GAAU,EACzBpjE,UAAWkjE,EAAY5yM,SACxB,UAGDK,EAAAA,EAAAA,KAAA,UACE8rE,UAAU,eACV+wD,QAAS,kBAAMg1E,EAASI,EAAY,EAAE,EACtC5iE,UAAWkjE,EAAY5yM,SAEtB,6BAYzB,ECjNM86P,GAAc,SAACC,EAASzqO,GAC5B,MACO,SADCA,EAAM1sB,KAEH,CACL01O,QAAQ,EACRsd,cAAetmO,EAAMsmO,cACrBoE,eAAgB1qO,EAAM0qO,iBAKxBlrB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,GAEnC,EAwKA,GAvKuB,WACrB,IAAAN,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACzDxhB,QAAQ,EACR0hB,eAAgB,KAChBpE,cAAe,OACf3d,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GAJKlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,GAO/B1F,GAA+Bh7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAApCsjC,EAAUrjC,EAAA,GAAE3qF,EAAQ2qF,EAAA,GAC3BG,GAAwBp7E,EAAAA,EAAAA,UAAS,IAAGq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GACpCI,GADWH,EAAA,GAASA,EAAA,IACMr7E,EAAAA,EAAAA,UAAS,KAAGy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAA/BokC,EAAKnkC,EAAA,GAAE0+H,EAAQ1+H,EAAA,GAChB2+H,GAAQ1mV,EAAAA,EAAAA,UACdkoN,GAAkC57E,EAAAA,EAAAA,WAAS,GAAM67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAyB3C0+H,GAzBUz+H,EAAA,GAAcA,EAAA,GAyBP,eAAA/8N,GAAArb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAAq/P,IAAA,IAAA6K,EAAAz9P,EAAA2pW,EAAAQ,EAAAzjU,EAAA+8N,EAAAlnQ,EAAA,OAAAjJ,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,OAWvB,OAVD4yN,KAAAA,KAAU,CACR3/K,MAAO,YACP3O,KAAM,oBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEf8hD,EAAW,CACfuK,YAAakG,EAAWhH,YACxBe,SAAUiG,EAAWnH,YACtBlU,EAAA9+P,KAAA,EACoBo0Q,GAA0B1K,GAAU,KAAD,EAAlDz9P,EAAM6yP,EAAAv+P,KAEZy1W,GAAQxoU,EAAAA,GAAAA,GAAKvhC,IACT2pW,EAAY,GACZQ,EAAQ,GACHzjU,EAAI,EAAE,KAAD,OAAEA,EAAI1mC,EAAOtD,QAAM,CAAAm2P,EAAA9+P,KAAA,gBAAA8+P,EAAA9+P,KAAA,GACTw1Q,GAA0BvpQ,EAAO0mC,GAAGkiO,WAAY,KAAD,GAErE,IAFMnF,EAAO5Q,EAAAv+P,KAEJiI,EAAI,EAAGA,EAAIknQ,EAAQ/mQ,OAAQH,IAKhCotW,EAFEptW,EAAEknQ,EAAQ/mQ,QAAUH,GAAGknQ,EAAQ/mQ,OAAO,EAE9BitW,EAAUlmG,EAAQlnQ,GAAG8tW,SAAS,IAAI5mG,EAAQlnQ,GAAGkhQ,SAAS,MAItDksG,EAAUlmG,EAAQlnQ,GAAG8tW,SAAS,IAAI5mG,EAAQlnQ,GAAGkhQ,SAAS,IAGpE0sG,EAAMjoW,KAAK,CACT4nW,UAAW9pW,EAAO0mC,GAAGkiO,UACrBnL,SAAUksG,IAEZA,EAAY,GAAG,QAnBkBjjU,IAAGmsN,EAAA9+P,KAAA,gBAqBtC2B,QAAQC,IAAIw0W,GACZH,EAAMjnV,QAAUonV,EAChBxjJ,KAAAA,QACA2rC,EAAgB,CACdr3P,KAAM,SACL,yBAAA43P,EAAAh+P,OAAA,GAAA+9P,EAAA,KACJ,kBA5CsB,OAAAlkP,EAAAvb,MAAA,KAAAC,UAAA,MAgDvB,OACEy9O,EAAAA,EAAAA,MAACxsD,EAAAA,SAAQ,CAAAhtL,SAAA,EACPK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,8BAA6BnsE,UAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,2CAMtBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,iBAAgBnsE,UAC7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA6BnsE,SAAA,EAC1CK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,WAAUnsE,UACvBK,EAAAA,EAAAA,KAACy4P,GAAAA,MAAU,CAAA94P,SAAC,eAEdK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gBAAensE,UAC5Bw5O,EAAAA,EAAAA,MAAA,QAAMloO,GAAG,SAAQtR,SAAA,EACfw5O,EAAAA,EAAAA,MAAC61B,GAAG,CAACljM,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,OAAMnsE,UACnBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,mBAAkBnsE,SAAA,EAC/BK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,mBAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLuoE,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mC,GAAU,IACbhH,YAAa57P,EAAEvH,OAAOhO,QAE1B,OAGJ2B,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,iBAAgBnsE,SAAC,iBAClCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,GAAEnsE,UACfK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLuoE,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mC,GAAU,IACbnH,WAAYz7P,EAAEvH,OAAOhO,QAEzB,YAKR2B,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,UACf9rE,EAAAA,EAAAA,KAACi3P,GAAG,CAACnrL,UAAU,aAEjB9rE,EAAAA,EAAAA,KAAC+hP,GAAM,CAACllH,QAAS21O,EAAmB1mS,UAAU,YAAWnsE,SAAC,kCAWrE8G,EAAQwyO,SACPj5O,EAAAA,EAAAA,KAAC4yW,GAAY,CACXv8G,OAAQ5vP,EAAQwyO,OAChBqd,aAzEa,WACnBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EAwEQtH,KAAM67Q,EACNA,MAAOw6F,EACPv6O,KAAMy+I,EAAWhH,YACjBsiG,MAAOt7F,EAAWnH,WAClB0iG,YA1JU,OA2JVxiG,YA1JW,UA+JrB,wBCvMM75H,GAAuB,CAC3BC,iBAAkB,CAChBC,IAAK,sBACLzzC,MAAO,+BAGT0zC,SAAU,CACRD,IAAK,YACLzzC,MAAO,sBAGT2zC,YAAa,eAEbC,iBAAkB,CAChBH,IAAK,qBACLzzC,MAAO,8BAGT6zC,SAAU,CACRJ,IAAK,WACLzzC,MAAO,qBAGT8zC,YAAa,CACXL,IAAK,sBACLzzC,MAAO,gCAGT+zC,OAAQ,CACNN,IAAK,SACLzzC,MAAO,mBAGTg0C,MAAO,CACLP,IAAK,WACLzzC,MAAO,qBAGTi0C,YAAa,CACXR,IAAK,wBACLzzC,MAAO,kCAGTk0C,OAAQ,CACNT,IAAK,WACLzzC,MAAO,qBAGTm0C,aAAc,CACZV,IAAK,qBACLzzC,MAAO,gCAGTo0C,QAAS,CACPX,IAAK,QACLzzC,MAAO,mBAGTq0C,YAAa,CACXZ,IAAK,wBACLzzC,MAAO,kCAGTs0C,OAAQ,CACNb,IAAK,WACLzzC,MAAO,qBAGTu0C,WAAY,CACVd,IAAK,qBACLzzC,MAAO,+BAGTw0C,aAAc,CACZf,IAAK,gBACLzzC,MAAO,2BC3EJ,SAAS40C,GAAkBxnH,GAChC,OAAO,WAAkB,IAAjBjhB,EAAO5S,UAAAsJ,OAAA,QAAAC,IAAAvJ,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEXqxB,EAAQze,EAAQye,MAAQnjB,OAAO0E,EAAQye,OAASwC,EAAKynH,aAE3D,OADeznH,EAAK0nH,QAAQlqH,IAAUwC,EAAK0nH,QAAQ1nH,EAAKynH,aAE1D,CACF,CCLA,IAqBape,GAAa,CACxBb,KAAMgf,GAAkB,CACtBE,QAvBgB,CAClBC,KAAM,2BACNC,KAAM,qBACNC,OAAQ,UACRC,MAAO,WAoBLL,aAAc,SAGhBl7E,KAAMi7E,GAAkB,CACtBE,QArBgB,CAClBC,KAAM,gBACNC,KAAM,aACNC,OAAQ,WACRC,MAAO,SAkBLL,aAAc,SAGhB9e,SAAU6e,GAAkB,CAC1BE,QAnBoB,CACtBC,KAAM,4BACNC,KAAM,4BACNC,OAAQ,qBACRC,MAAO,sBAgBLL,aAAc,UCpCZM,GAAuB,CAC3BC,SAAU,4BACVC,UAAW,gBACXC,MAAO,eACPC,SAAU,qBACVC,SAAU,gBACVx1C,MAAO,KAGHyhR,GAA6B,CACjCrsO,SAAU,6BACVC,UAAW,iBACXC,MAAO,gBACPC,SAAU,sBACVC,SAAU,iBACVx1C,MAAO,KC0BF,SAAS21C,GAAgBvoH,GAC9B,OAAO,SAAClxB,EAAOiQ,GACb,IAEI0pI,EACJ,GAAgB,gBAHO,OAAP1pI,QAAO,IAAPA,GAAAA,EAASvI,QAAU6D,OAAO0E,EAAQvI,SAAW,eAG7BwpB,EAAK0oH,iBAAkB,CACrD,IAAMjB,EAAeznH,EAAK2oH,wBAA0B3oH,EAAKynH,aACnDjqH,EAAe,OAAPze,QAAO,IAAPA,GAAAA,EAASye,MAAQnjB,OAAO0E,EAAQye,OAASiqH,EAEvDgB,EACEzoH,EAAK0oH,iBAAiBlrH,IAAUwC,EAAK0oH,iBAAiBjB,EAC1D,KAAO,CACL,IAAMA,EAAeznH,EAAKynH,aACpBjqH,EAAe,OAAPze,QAAO,IAAPA,GAAAA,EAASye,MAAQnjB,OAAO0E,EAAQye,OAASwC,EAAKynH,aAE5DgB,EAAczoH,EAAKk2B,OAAO14B,IAAUwC,EAAKk2B,OAAOuxF,EAClD,CAIA,OAAOgB,EAHOzoH,EAAK8oH,iBAAmB9oH,EAAK8oH,iBAAiBh6I,GAASA,EAIvE,CACF,CC7DA,IAmIa+7I,GAAW,CACtB9B,cANoB,SAACC,EAAalmH,GAElC,OADe3mB,OAAO6sI,GACN,MAClB,EAKEE,IAAKX,GAAgB,CACnBryF,OAvIc,CAChBizF,OAAQ,CAAC,KAAM,MACfC,YAAa,CAAC,KAAM,MACpBC,KAAM,CAAC,kBAAmB,yBAqIxB5B,aAAc,SAGhB6B,QAASf,GAAgB,CACvBryF,OAtIkB,CACpBizF,OAAQ,CAAC,IAAK,IAAK,IAAK,KACxBC,YAAa,CAAC,KAAM,KAAM,KAAM,MAChCC,KAAM,CAAC,kBAAgB,kBAAgB,kBAAgB,oBAoIrD5B,aAAc,OACdqB,iBAAkB,SAACQ,GAAO,OAAKntI,OAAOmtI,GAAW,CAAC,IAGpDna,MAAOoZ,GAAgB,CACrBryF,OAtIgB,CAClBizF,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChEC,YAAa,CACX,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAGFC,KAAM,CACJ,QACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,aACA,UACA,YACA,cA0GA5B,aAAc,SAGhBrX,IAAKmY,GAAgB,CACnBryF,OA1Gc,CAChBizF,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACvCrB,MAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAC5CsB,YAAa,CAAC,MAAO,MAAO,MAAO,SAAO,MAAO,MAAO,UACxDC,KAAM,CACJ,UACA,QACA,SACA,eACA,SACA,UACA,cAgGA5B,aAAc,SAGhB8B,UAAWhB,GAAgB,CACzBryF,OAhGoB,CACtBizF,OAAQ,CACNK,GAAI,IACJC,GAAI,IACJC,SAAU,KACVC,KAAM,KACNC,QAAS,YACTC,UAAW,QACXC,QAAS,QACTC,MAAO,SAETX,YAAa,CACXI,GAAI,KACJC,GAAI,KACJC,SAAU,aACVC,KAAM,WACNC,QAAS,YACTC,UAAW,QACXC,QAAS,QACTC,MAAO,SAETV,KAAM,CACJG,GAAI,OACJC,GAAI,OACJC,SAAU,aACVC,KAAM,WACNC,QAAS,YACTC,UAAW,QACXC,QAAS,QACTC,MAAO,UAoEPtC,aAAc,OACdiB,iBAjE8B,CAChCS,OAAQ,CACNK,GAAI,IACJC,GAAI,IACJC,SAAU,KACVC,KAAM,KACNC,QAAS,kBACTC,UAAW,cACXC,QAAS,cACTC,MAAO,eAETX,YAAa,CACXI,GAAI,KACJC,GAAI,KACJC,SAAU,aACVC,KAAM,WACNC,QAAS,kBACTC,UAAW,cACXC,QAAS,cACTC,MAAO,eAETV,KAAM,CACJG,GAAI,OACJC,GAAI,OACJC,SAAU,aACVC,KAAM,WACNC,QAAS,kBACTC,UAAW,cACXC,QAAS,cACTC,MAAO,gBAqCPpB,uBAAwB,UCjKrB,SAASqB,GAAahqH,GAC3B,OAAO,SAAC49C,GAAyB,IAAjB7+D,EAAO5S,UAAAsJ,OAAA,QAAAC,IAAAvJ,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnBqxB,EAAQze,EAAQye,MAEhBysH,EACHzsH,GAASwC,EAAKkqH,cAAc1sH,IAC7BwC,EAAKkqH,cAAclqH,EAAKmqH,mBACpBC,EAAcxsE,EAAOv9D,MAAM4pI,GAEjC,IAAKG,EACH,OAAO,KAET,IAWIt7I,EAXEu7I,EAAgBD,EAAY,GAE5BE,EACH9sH,GAASwC,EAAKsqH,cAAc9sH,IAC7BwC,EAAKsqH,cAActqH,EAAKuqH,mBAEpB30I,EAAMzB,MAAMD,QAAQo2I,GA+B9B,SAAmB5mD,EAAOM,GACxB,IAAK,IAAIpuF,EAAM,EAAGA,EAAM8tF,EAAMjuF,OAAQG,IACpC,GAAIouF,EAAUN,EAAM9tF,IAClB,OAAOA,EAGX,MACF,CArCQ0tG,CAAUgnC,GAAe,SAAC9uG,GAAO,OAAKA,EAAQ38B,KAAKwrI,EAAc,IAkBzE,SAAiB3kD,EAAQ1B,GACvB,IAAK,IAAMpuF,KAAO8vF,EAChB,GACE92F,OAAO2E,UAAUsD,eAAehD,KAAK6xF,EAAQ9vF,IAC7CouF,EAAU0B,EAAO9vF,IAEjB,OAAOA,EAGX,MACF,CA1BQI,CAAQs0I,GAAe,SAAC9uG,GAAO,OAAKA,EAAQ38B,KAAKwrI,EAAc,IAYnE,OARAv7I,EAAQkxB,EAAKwqH,cAAgBxqH,EAAKwqH,cAAc50I,GAAOA,EAQhD,CAAE9G,MAPTA,EAAQiQ,EAAQyrI,cAEZzrI,EAAQyrI,cAAc17I,GACtBA,EAIYorC,KAFH0jC,EAAO9pE,MAAMu2I,EAAc50I,QAG1C,CACF,CChCA,ICHoCuqB,GD6FvB3f,GAAQ,CACnB0oI,eC9FkC/oH,GD8FC,CACjCiqH,aA5F8B,iBA6F9BQ,aA5F8B,OA6F9BD,cAAe,SAAU17I,GACvB,OAAOuiD,SAASviD,EAAO,GACzB,GClGK,SAAC8uE,GAAyB,IAAjB7+D,EAAO5S,UAAAsJ,OAAA,QAAAC,IAAAvJ,UAAA,GAAAA,UAAA,GAAG,CAAC,EACnBi+I,EAAcxsE,EAAOv9D,MAAM2f,GAAKiqH,cACtC,IAAKG,EAAa,OAAO,KACzB,IAAMC,EAAgBD,EAAY,GAE5BM,EAAc9sE,EAAOv9D,MAAM2f,GAAKyqH,cACtC,IAAKC,EAAa,OAAO,KACzB,IAAI57I,EAAQkxB,GAAKwqH,cACbxqH,GAAKwqH,cAAcE,EAAY,IAC/BA,EAAY,GAOhB,MAAO,CAAE57I,MAJTA,EAAQiQ,EAAQyrI,cAAgBzrI,EAAQyrI,cAAc17I,GAASA,EAI/CorC,KAFH0jC,EAAO9pE,MAAMu2I,EAAc50I,QAG1C,GDoFAyzI,IAAKc,GAAa,CAChBE,cAjGqB,CACvBf,OAAQ,gBACRC,YAAa,6DACbC,KAAM,2FA+FJc,kBAAmB,OACnBG,cA9FqB,CACvBnpB,IAAK,CAAC,OAAQ,QACdkoB,KAAM,CACJ,kDACA,gDA2FAkB,kBAAmB,QAGrBjB,QAASU,GAAa,CACpBE,cA3FyB,CAC3Bf,OAAQ,WACRC,YAAa,YACbC,KAAM,6BAyFJc,kBAAmB,OACnBG,cAxFyB,CAC3BnpB,IAAK,CAAC,KAAM,KAAM,KAAM,OAwFtBopB,kBAAmB,MACnBC,cAAe,SAAC1qI,GAAK,OAAKA,EAAQ,CAAC,IAGrCqvH,MAAO6a,GAAa,CAClBE,cA1FuB,CACzBf,OAAQ,gBACRC,YAAa,sDACbC,KAAM,gGAwFJc,kBAAmB,OACnBG,cAvFuB,CACzBnB,OAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAGFhoB,IAAK,CACH,OACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,UA4DAopB,kBAAmB,QAGrBna,IAAK4Z,GAAa,CAChBE,cA5DqB,CACvBf,OAAQ,aACRrB,MAAO,iCACPsB,YAAa,8CACbC,KAAM,wEAyDJc,kBAAmB,OACnBG,cAxDqB,CACvBnB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACnDhoB,IAAK,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,SAuDpDopB,kBAAmB,QAGrBhB,UAAWS,GAAa,CACtBE,cAxD2B,CAC7Bf,OAAQ,sDACRhoB,IAAK,gFAuDHgpB,kBAAmB,MACnBG,cAtD2B,CAC7BnpB,IAAK,CACHqoB,GAAI,MACJC,GAAI,MACJC,SAAU,OACVC,KAAM,OACNC,QAAS,aACTC,UAAW,SACXC,QAAS,SACTC,MAAO,WA8CPQ,kBAAmB,SEtHV4hK,GAAK,CAChB/uS,KAAM,KACNutI,eT4D4B,SAACn+I,EAAOy/C,EAAOltC,GAC3C,IAAIhG,EAEEsuI,EAAalB,GAAqB35I,GASxC,OAPEuM,EADwB,kBAAfsuI,EACAA,EACU,IAAVp7F,EACAo7F,EAAWhB,IAEXgB,EAAWz0C,MAAMv5F,QAAQ,YAAa4yC,EAAM34C,YAG5C,OAAPyL,QAAO,IAAPA,GAAAA,EAASuoI,UACPvoI,EAAQwoI,YAAcxoI,EAAQwoI,WAAa,EACtC,MAAQxuI,EAER,QAAUA,EAIdA,CACT,EShFEswH,WAAYA,GACZuhB,eNH4B,SAACp+I,EAAOg8H,EAAM8f,EAAWxlH,GACrD,OAAwB,IAApB0lG,EAAKkW,WACA21O,GAA2B7nX,GAE3Bu7I,GAAqBv7I,EAEhC,EMFEq+I,SAAUA,GACVxqI,MAAOA,GACPtB,QAAS,CACPirH,aAAc,EACd8gB,sBAAuB,IAK3B,MCAA,OA5BA,SAAmBtjI,GAA6C,IAA3C8mW,EAAQ9mW,EAAR8mW,SAAUC,EAAe/mW,EAAf+mW,gBAAiBnqO,EAAY58H,EAAZ48H,aAE5C,OAEIkqO,EAAS5vW,KAAI,SAAChS,EAAMoT,GAChB,IAAOsM,EAAQ1f,EAAR0f,MAEP,OACI3b,EAAAA,EAAAA,KAAC2sL,EAAAA,SAAQ,CAAAhtL,UACTw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EACAw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EAAIK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SAAWkI,aAAc,EAAGqxH,SAAU,SAACuhP,GAAI,OAAI1qO,EAAatkI,EAAOgvW,EAAK,EAAGv3W,KAAK,WAAWglE,UAAU,iBAAgB,QACrIqtK,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EAAIK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,OAASu5H,SAAU,SAACuhP,GAAI,OAAI1qO,EAAatkI,EAAOgvW,EAAK,EAAGv3W,KAAK,WAAWglE,UAAU,iBAAgB,QAClH9rE,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SAAWuD,KAAK,SAAWg2H,SAAU,SAACuhP,GAAI,OAAI1qO,EAAatkI,EAAOgvW,EAAK,EAAGvyS,UAAU,oBACpG9rE,EAAAA,EAAAA,KAAA,MAAAL,UAAIw5O,EAAAA,EAAAA,MAAA,UAASryO,KAAK,MAAQg2H,SAAU,SAACuhP,GAAI,OAAI1qO,EAAatkI,EAAOgvW,EAAK,EAAIvyS,UAAU,cAAansE,SAAA,CAAC,KAACK,EAAAA,EAAAA,KAAA,UAAQ3B,MAAM,KAAIsB,SAAE,QACtHK,EAAAA,EAAAA,KAAA,UAAQ3B,MAAM,IAAGsB,SAAC,YACnBw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EAAIK,EAAAA,EAAAA,KAAA,SAAOuD,KAAK,SAAYkI,aAAckQ,EAAS7U,KAAK,QAAQglE,UAAU,eAAeujE,UAAQ,IAAE,QACnGrvI,EAAAA,EAAAA,KAAA,MAAAL,UAAIK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACl2O,KAAK,KAAK+2E,QAAQ,SAASi6C,QAAS,SAACwhP,GAAI,OAAIP,EAAgBzuW,EAAM,EAGzE1P,SAAC,YAIf,GAIR,ECtBIq3W,GAAW,CACXC,UAAW,iBAEX/pV,OAAQ,OAERgqV,GAAW,CACXD,UAAW,iBAEX/pV,OAAQ,OAGRiqV,GAAW,CACXF,UAAW,iBACX/pV,OAAQ,MAERkqV,GAAW,CAGXlqV,OAAQ,MAORmqV,GAAY,CACZJ,UAAW,iBAEX/pV,OAAQ,MAORqqV,GAAW,CACXC,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEVk+S,GAAW,CACXD,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEVm+S,GAAW,CACXF,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVo+S,GAAW,CACXH,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVq+S,GAAW,CACXJ,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAEVs+S,GAAW,CACXL,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAEVu+S,GAAW,CAEX/qV,MAAO,MACPwsC,SAAU,GAgCV8+S,GAAc,CACdb,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,IAEV++S,GAAe,CAEfvrV,MAAO,MACPwsC,SAAU,IAEVg/S,GAAY,CAEZxrV,MAAO,OACPwsC,SAAU,IAEVi/S,GAAY,CAEZzrV,MAAO,OACPwsC,SAAU,IAEVk/S,GAAY,CAEZ1rV,MAAO,QACPwsC,SAAU,IAEVm/S,GAAY,CAEZ3rV,MAAO,OACPwsC,SAAU,IAEVo/S,GAAY,CAEZ5rV,MAAO,OACPwsC,SAAU,IAEVq/S,GAAY,CAEZ7rV,MAAO,OACPwsC,SAAU,IAEVs/S,GAAY,CACZ9rV,MAAO,OACPwsC,SAAU,IA0Gd,GAxGsB,SAAC75D,GACnB,IAAQ22P,EAAqE32P,EAArE22P,OAAQC,EAA6D52P,EAA7D42P,aAAcC,EAA+C72P,EAA/C62P,cAAeo/G,EAAgCj2W,EAAhCi2W,aAAcC,EAAkBl2W,EAAlBk2W,eAC3D53W,QAAQC,IAAI03W,GAKZ,OACI31W,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UACIw5O,EAAAA,EAAAA,MAAC6V,GAAK,CAACvtC,KAAM40C,EAAQhG,OAAQiG,EAAczqP,KAAK,IAAGlM,SAAA,EAC/CK,EAAAA,EAAAA,KAACgvP,GAAAA,OAAY,CAAC7pC,aAAW,EAAAxlN,UACrBK,EAAAA,EAAAA,KAACgvP,GAAAA,MAAW,CAAArvP,SAAC,sBAEjBw5O,EAAAA,EAAAA,MAAC6V,GAAAA,KAAU,CAAArvP,SAAA,EACPw5O,EAAAA,EAAAA,MAAA,OAAKhhL,MACD,CACI+b,OAAQ,kBACRnnD,MAAO,SACPG,OAAQ,WAEfvtB,SAAA,EAEIw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,GAAEnsE,SAAA,EAEFw5O,EAAAA,EAAAA,MAAA,QAAOrtK,UAAU,OAAM3T,MAAO,CAAEoB,SAAU,IAAI55D,SAAA,CAAC,mBAAiBg2W,EAAangG,gBAAgB,QAC/Fx1Q,EAAAA,EAAAA,KAAA,UAGEm5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,OAAO3T,MAAO,CAAEoB,SAAU,IAAI55D,SAAA,CAAC,wBAAsBg2W,EAAa7hG,gBAAmB9zQ,EAAAA,EAAAA,KAAA,UAErGm5O,EAAAA,EAAAA,MAAA,QAAOrtK,UAAU,OAAM3T,MAAO,CAAEoB,SAAU,IAAI55D,SAAA,CAAC,iBAAeg2W,EAAa5hG,WAK3F/zQ,EAAAA,EAAAA,KAAA,OAAKm4D,MAAO6+S,GAASr3W,UACjBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,GAAEnsE,SAAA,EACbw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,OAAO3T,MAAO,CAAEoB,SAAU,IAAI55D,SAAA,CAAC,kBAAgBg2W,EAAapgG,MAAM,QAAQv1Q,EAAAA,EAAAA,KAAA,UAC1Fm5O,EAAAA,EAAAA,MAAA,QAAOrtK,UAAU,OAAM3T,MAAO,CAAEoB,SAAU,IAAI55D,SAAA,CAAC,sBAAoBg2W,EAAa9/F,cAAc8/F,EAAa9/F,cAAc,aAAa,QACtI71Q,EAAAA,EAAAA,KAAA,UAEAm5O,EAAAA,EAAAA,MAAA,QAAOrtK,UAAU,OAAM3T,MAAO,CAAEoB,SAAU,IAAI55D,SAAA,CAAC,mBAAiBg2W,EAAalgG,uBAKrFt8B,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOk/S,GAAWvrS,UAAU,6BAA4BnsE,SAAA,EACzDK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOo/S,GAAS53W,SAAC,WACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOs/S,GAAS93W,SAAC,aACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOu/S,GAAS/3W,SAAC,iBACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOw/S,GAASh4W,SAAC,iBACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOy/S,GAASj4W,SAAC,aACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO0/S,GAASl4W,SAAC,QACvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO2/S,GAASn4W,SAAC,YAE3CK,EAAAA,EAAAA,KAAA,SAAOm4D,MAAO++S,GAAUprS,UAAU,6BAA4BnsE,UAC1DK,EAAAA,EAAAA,KAAA,SAAO8rE,UAAU,GAAG3T,MAAO,CAAEjrC,OAAO,OAAOH,MAAM,QAASptB,SACrDi2W,EAAe3nW,KAAI,SAAC2nW,EAAevmW,GAChC,IAAImkQ,EAAO,GACPC,EAAM,GAGV,OAFAz1Q,QAAQC,IAAI23W,EAAeuI,KACN,OAArBvI,EAAeuI,IAAY3qG,EAAMoiG,EAAej6V,MAAQ83P,EAAKmiG,EAAej6V,OAGxEw9N,EAAAA,EAAAA,MAAA,MAAgBhhL,MAAO,CAAEjrC,OAAO,OAAOH,MAAM,QAAQptB,SAAA,EACjDK,EAAAA,EAAAA,KAAA,MAAMm4D,MAAOogT,GAAU54W,UAACw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,gCAA+BnsE,SAAA,CAAE,IAAEi2W,EAAejD,SAAS,UACnG3yW,EAAAA,EAAAA,KAAA,MAAKm4D,MAAOqgT,GAAU74W,UAACw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,gCAA+BnsE,SAAA,CAAE,IAAEi2W,EAAec,OAAO,UAChG12W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOsgT,GAAU94W,UAAEw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAe7vG,SAAS,UACvD/lQ,EAAAA,EAAAA,KAAA,MAAKm4D,MAAOugT,GAAU/4W,UAACw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAee,OAAO,UACrD32W,EAAAA,EAAAA,KAAA,MAAKm4D,MAAOwgT,GAAUh5W,UAACK,EAAAA,EAAAA,KAAA,QAAAL,SAAOi2W,EAAegB,YAC7C52W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOygT,GAAUj5W,UAACw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAE8zQ,EAAK,UACnCzzQ,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO0gT,GAAUl5W,UAACw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAE6zQ,EAAM,WAP/BnkQ,EAUjB,SAMR8pO,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOg/S,GAAUrrS,UAAU,6BAA4BnsE,SAAA,EACxDK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,8BAA8B3T,MAAOkgT,GAAY14W,SAAC,WACjEK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,gCAAgC3T,MAAOmgT,GAAa34W,SAAEg2W,EAAah6V,YAEtF3b,EAAAA,EAAAA,KAAA,OAAKm4D,MAAOi/S,GAASz3W,UACjBw5O,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOg/S,GAAUrrS,UAAU,gCAA+BnsE,SAAA,EAC3Dw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,8BAA8B3T,MAAOkgT,GAAY14W,SAAA,CAAC,YAAUg2W,EAAa//F,cACxFz8B,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,gCAAgC3T,MAAOkgT,GAAY14W,SAAA,CAAC,YAAUg2W,EAAahgG,eAC1Fx8B,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,gCAAgC3T,MAAOkgT,GAAY14W,SAAA,CAAC,cAAYg2W,EAAajiG,qBAMxG1zQ,EAAAA,EAAAA,KAAA,UAEAA,EAAAA,EAAAA,KAAC+hP,GAAM,CAACllH,QA7FJ,WAChB05H,EAAco/G,EAAaC,EAC/B,EA2F6Cj2W,SAAC,mBAMlD,EClOM86P,GAAc,SAACC,EAASzqO,GAC5B,OAAQA,EAAM1sB,MACZ,IAAK,OACH,MAAO,CACL01O,QAAQ,EACRo7H,UAAWpkV,EAAMokV,UACjB99G,cAAetmO,EAAMsmO,eAEvB,IAAK,QACL,MAAO,CACLoV,SAAS,EACT0oG,UAAWpkV,EAAMokV,UACjB99G,cAAetmO,EAAMsmO,eAEzB,IAAK,MACH,OAAA9mB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,EAAM0yB,SAAS,IAElD,EA4iBE,GA3iBsB,YACpBn2H,EAAAA,GAAAA,gBAAe,KAAMkmK,KACrBjmK,EAAAA,GAAAA,kBAAiB,MACjB,IAUAy9F,GAA2Ch7E,EAAAA,EAAAA,UAAS,IAAGi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAAhD2wI,EAAe1wI,EAAA,GAAC2wI,EAAkB3wI,EAAA,GACnCwrI,GAAM/yV,EAAAA,EAAAA,UACNgzV,GAAKhzV,EAAAA,EAAAA,UACL1C,GAAW42K,EAAAA,EAAAA,MACjBwzC,GAAiBp7E,EAAAA,EAAAA,YAAUq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAApBkuG,EAAEjuG,EAAA,GAACwwI,EAAKxwI,EAAA,GACfG,GAAiBx7E,EAAAA,EAAAA,YAAUy7E,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAApBq8H,EAAEp8H,EAAA,GAACqwI,EAAKrwI,EAAA,GACfG,GAA8B57E,EAAAA,EAAAA,UAAS,IAAG67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAAnC0iB,EAASziB,EAAA,GAAEvrF,EAAQurF,EAAA,GACpBotI,GAAev1V,EAAAA,EAAAA,QAAO,GACtBuzV,GAAUvzV,EAAAA,EAAAA,QAAO,GACjBwzV,GAASxzV,EAAAA,EAAAA,QAAO,GAChBs1V,GAAmBt1V,EAAAA,EAAAA,QAAO,GAChC+sN,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACzDxhB,QAAQ,EACR0yB,SAAS,EACT0oG,UAAW,KACX99G,cAAe,OACf3d,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GALKlyO,EAAOmyO,EAAA,GAAEgiB,EAAehiB,EAAA,IAM/B94O,EAAAA,EAAAA,YAAU,YACRnE,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAA8/G,EAAAoI,EAAA,OAAA/lX,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,OASI,OATJirD,EAAAlrD,KAAA,EAEG6yN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEpB38J,EAAAjrD,KAAA,EAGyB0mX,KAAoB,KAAD,EAAvCxJ,EAAWjyT,EAAA1qD,KAGX+kX,EAAiBpI,EAAYtrW,KAAI,SAAC60B,GACtC,MAAO,CAAExkC,MAAOwkC,EAAKgxO,YAAY,IAAIhxO,EAAKixO,IAAK11Q,MAAOykC,EAAKggV,cAC7D,IACAgB,EAAmBnC,GAAgBr6T,EAAAjrD,KAAA,gBAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAEnCtpD,QAAQC,IAAGqpD,EAAA8wJ,IAAM,QAEnBumK,EAAItzV,QAAQ,WACZuzV,EAAGvzV,QAAQ,UACX4jM,KAAAA,QAAa,yBAAA3nK,EAAAnqD,OAAA,GAAAs8P,EAAA,iBAxBf99P,EA0BF,GAAG,IACH,IAAM4kX,GAAYnoN,EAAAA,EAAAA,aAAW,eAAAphJ,GAAArb,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAAq/P,EAAOtnP,GAAC,IAAAvV,EAAAmiX,EAAAC,EAAA1sG,EAAAD,EAAA,OAAAl4Q,EAAAA,GAAAA,KAAAM,MAAA,SAAAi/P,GAAA,cAAAA,EAAA/+P,KAAA++P,EAAA9+P,MAAA,OASnC,OAROgC,EAAiBuV,EAAjBvV,MAAiBuV,EAAVtV,MACf2wN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEpBk3C,EAAA9+P,KAAA,EAC2B+mX,GAAiB/kX,GAAO,KAAD,EAA7CmiX,EAAarlH,EAAAv+P,KACnBqyN,KAAAA,QAAYwxJ,EACgBD,EAAc,GAAlCzsG,EAAG0sG,EAAH1sG,IAAKD,EAAW2sG,EAAX3sG,YACbiwG,EAAOjwG,GACPkwG,EAAOjwG,GACPvrH,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,GAAS,IACZud,IAAKA,EACLD,YAAYA,KACX,yBAAA3Y,EAAAh+P,OAAA,GAAA+9P,EAAA,KACJ,gBAAA34B,GAAA,OAAAvrN,EAAAvb,MAAA,KAAAC,UAAE,CAAF,CApB4B,IAyBvB46P,EAAe,WACnBsE,EAAgB,CAAEr3P,KAAM,OAC1B,EACM+wW,EAAmB,eAAA9iV,GAAA71B,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAG,SAAAC,EAAOG,EAAKkwG,GAAK,IAAA7jG,EAAAixW,EAAAoI,EAAA,OAAA/lX,EAAAA,GAAAA,KAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAUxC,OATHu+P,EAAgB,CAAEr3P,KAAM,QAASpH,EAAAC,KAAA,EAE/B6yN,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAEpB9nN,EAAAE,KAAA,EACkB4mX,IAAaxzI,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIxzO,GAAI,IAAEkwG,MAAAA,KAAS,KAAD,EAA1C,KAAN7jG,EAAMnM,EAAAS,MAEC,CAADT,EAAAE,KAAA,aACJiM,EAAO,CAADnM,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACkB0mX,KAAoB,KAAD,GAAvCxJ,EAAWp9W,EAAAS,KACX+kX,EAAiBpI,EAAYtrW,KAAI,SAAC60B,GACtC,MAAO,CAAExkC,MAAOwkC,EAAKgxO,YAAY,IAAIhxO,EAAKixO,IAAK11Q,MAAOykC,EAAKggV,cAC7D,IACAgB,EAAmBnC,GACnB1yJ,KAAAA,QACAA,KAAAA,KAAU,CACR3/K,MAAO,qBACP3O,KAAK,uCACLo8K,KAAM,UACN+H,mBAAoB,UACnB,QAAA3oN,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAi8M,GAAAj8M,EAAA,SAIP8yN,KAAAA,QACAA,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAAL,EAAAi8M,MACH,yBAAAj8M,EAAAgB,OAAA,GAAArB,EAAA,mBAGN,gBAtCwB69P,EAAAt8P,GAAA,OAAAm0B,EAAA/1B,MAAA,KAAAC,UAAA,KA+CzBw4O,GAAgCh8E,EAAAA,EAAAA,UAAS,IAAGi8E,GAAAl9N,EAAAA,EAAAA,GAAAi9N,EAAA,GAArC2pI,EAAQ1pI,EAAA,GAAEurI,EAAWvrI,EAAA,GA4CvB0rI,EAAU,WACf,IAEIh7W,EADEs8G,EADIh3F,EAAQ,KACJi3F,MAAMy8P,GAAU,SAAC7L,GAAS,OAAKtmW,OAAOsmW,EAAUr2V,MAAM,IAEhEi6P,EAAU,EACVD,EAAW,EAEf,IAAK9wQ,KAAKg5W,EACe,KAAnBA,EAASh5W,GAAGs5W,MAEdvoG,GAAoBioG,EAASh5W,GAAG8W,OAEX,MAAnBkiW,EAASh5W,GAAGs5W,MAEdxoG,GAAsBkoG,EAASh5W,GAAG8W,OAItCwlW,EAAa91V,QAAQ81F,EACrBi+P,EAAO/zV,QAAS5qB,KAAK0B,MAAMwzQ,EAAW,IACtCwpG,EAAQ9zV,QAAS5qB,KAAK0B,MAAMyzQ,EAAU,IACtCsrG,EAAgB71V,QAAQ+zV,EAAO/zV,QAAQ8zV,EAAQ9zV,QAC/Cm9H,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,GAAS,IACZmf,WAAYypG,EAAO/zV,QACnBuqP,UAAUupG,EAAQ9zV,QAClBqoP,SAAWwtG,EAAgB71V,QAC3B1P,MAAOwlG,IAEX,EAiDM8iQ,EAAe,eAAA59W,GAAA1K,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAE,SAAA+qQ,EAAOiR,EAAMC,GAAK,IAAAxvQ,EAAA,OAAA1M,EAAAA,GAAAA,KAAAM,MAAA,SAAA2qQ,GAAA,cAAAA,EAAAzqQ,KAAAyqQ,EAAAxqQ,MAAA,OAapC,OAXHmsJ,GAAS,SAACmjF,GACR1c,KAAAA,KAAU,CACR3/K,MAAO,WACP3O,KAAM,kBACN6xL,mBAAmB,EACnBrO,kBAAkB,EAClBF,mBAAmB,IAErB,IAAM08J,EAAch1I,EAEpB,OADAg1I,EAA4B,eAAI9C,EACzB8C,CACT,IAAG95G,EAAAzqQ,KAAA,EAAAyqQ,EAAAxqQ,KAAA,EAGoB64Q,GAAoB1e,EAAWqnH,GAAU,KAAD,GAAvDv1W,EAAMu+P,EAAAjqQ,OAEN0L,IACF2mN,KAAAA,QACAA,KAAAA,KAAU,CACR3/K,MAAO,6BACP3O,KAAK,0BACLo8K,KAAM,UACN+H,mBAAoB,UAGtB57L,EAAS,aAEZ29O,EAAAxqQ,KAAA,gBAAAwqQ,EAAAzqQ,KAAA,EAAAyqQ,EAAAzuD,GAAAyuD,EAAA,SAED53C,KAAAA,QACAA,KAAAA,KAAU,CACRlS,KAAM,QACNztK,MAAO,UACPi0B,KAAK,GAAD/mE,OAAAqqQ,EAAAzuD,MACH,yBAAAyuD,EAAA1pQ,OAAA,GAAAypQ,EAAA,kBAGN,gBAvCoBsJ,EAAAQ,GAAA,OAAArqQ,EAAA5K,MAAA,KAAAC,UAAA,KAwCrB24O,GAAkCn8E,EAAAA,EAAAA,UAAS,IAAGo8E,GAAAr9N,EAAAA,EAAAA,GAAAo9N,EAAA,GAAvCp0G,EAASq0G,EAAA,GAAE4vI,EAAY5vI,EAAA,GAC9BG,GAAoCv8E,EAAAA,EAAAA,UAAS,IAAGw8E,GAAAz9N,EAAAA,EAAAA,GAAAw9N,EAAA,GAA/BC,EAAA,GAAeA,EAAA,GAChC,SAASyvI,EAAWpsP,GAClB,IAAIzpF,EAAI,IAAIjvC,KAAK04H,GACb2G,EAAQ,IAAMpwF,EAAE2sG,WAAa,GAC7Btb,EAAM,GAAKrxF,EAAE4sG,UACbve,EAAOruF,EAAE0sG,cAOb,OALItc,EAAM15H,OAAS,IACf05H,EAAQ,IAAMA,GACdiB,EAAI36H,OAAS,IACb26H,EAAM,IAAMA,GAET,CAAChD,EAAM+B,EAAOiB,GAAKzxH,KAAK,IACnC,CACI,OACIirO,EAAAA,EAAAA,MAAA,QAAQsd,SAxGM,SAAC7iP,GACnBA,EAAEw3G,iBACForI,EAAUif,cAAejf,EAAUif,cAAgBjf,EAAUif,cAAc,eACrDxwQ,IAAlBuxP,EAAU+e,MAEVtmD,KAAAA,KAAU,CACR3/K,MAAO,uBACP3O,KAAK,iCACLo8K,KAAM,UACN+H,mBAAoB,kBAMM7/M,IAA1BuxP,EAAUqf,eAEVrtH,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,GAAS,IACZqf,cAAe,qBAGC5wQ,IAAlBuxP,EAAUud,IAEZ9kD,KAAAA,KAAU,CACR3/K,MAAO,yBACP3O,KAAK,0BACLo8K,KAAM,UACN+H,mBAAoB,iBAIG7/M,IAAlBuxP,EAAU76O,OAAyC,IAApBkiW,EAAS74W,QAAsC,IAAtB64W,EAAS,GAAG93G,UAAsC,IAAtB83G,EAAS,GAAGlL,SAEvG1jJ,KAAAA,KAAU,CACR3/K,MAAO,eACP3O,KAAK,yBACLo8K,KAAM,UACN+H,mBAAoB,YAItB81C,EAAgB,CAAEr3P,KAAM,QAAS8wW,UAAW,YAKlD,EAyDoC10W,SAAA,EAC9BK,EAAAA,EAAAA,KAACgvQ,GAAG,CAAArvQ,UACFK,EAAAA,EAAAA,KAACi3P,GAAG,CAAAt3P,UACFw5O,EAAAA,EAAAA,MAACsf,GAAI,CAAC3sL,UAAU,0BAAyBnsE,SAAA,EACvCw5O,EAAAA,EAAAA,MAAC61B,GAAG,CAAArvQ,SAAA,EACFK,EAAAA,EAAAA,KAACi3P,GAAG,CAAC9kF,GAAI,EAAGrL,GAAI,EAAGk7M,GAAI,EAAEriX,UACvBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qBAAoBnsE,SAAA,EACjCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,qBAAoBnsE,UACjCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAMnsE,UACrBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACrDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,sBAG/BK,EAAAA,EAAAA,KAACokX,KAAU,CAAEz6U,UAAQ,EAAIovF,WAAW,aAAcjtD,UAAU,eAAeg0D,SAAUG,EAAWnD,SAAU,SAAA/E,GAASmsP,EAAansP,GAAOywB,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACxI+mB,GAAS,IACZ+e,MAAM4uG,EAAWpsP,KACjB,YAKNohH,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACnDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,gCAG/BK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLomC,UAAQ,EACRmiC,UAAU,eACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,GAAS,IACZgf,gBAAiB5hQ,EAAEvH,OAAOhO,QAE9B,aAMN2B,EAAAA,EAAAA,KAACi3P,GAAG,CAAC9kF,GAAI,EAAGrL,GAAI,EAAGk7M,GAAI,EAAEriX,UACvBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,0BAC/BK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACL55L,UAAU,eACXx9D,QAAS3P,GAAAA,GACR8M,aAAc,CAAEnN,MAAO,UAAWD,MAAO,WACzCy+H,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,GAAS,IACZif,cAAe7hQ,EAAEvV,QAErB,UAMN86O,EAAAA,EAAAA,MAAC8d,GAAG,CAAC9kF,GAAI,EAAGrL,GAAI,EAAGk7M,GAAI,EAAEriX,SAAA,EAGvBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,eAAcnsE,SAAC,0BAG/BK,EAAAA,EAAAA,KAAA,YACE8rE,UAAU,yBACVgxD,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,GAAS,IACb2d,IAAKvgQ,EAAEvH,OAAOhO,QAEjB,QAGJ86O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qCAAoCnsE,SAAA,EACjDK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,oBAAmBnsE,SAAC,4BACpCK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACL55L,UAAU,oBACXx9D,QAAS1P,GAAAA,GACR6M,aAAc,CAAEnN,MAAO,aAAcD,MAAO,cAC5Cy+H,SAAU,SAAClpH,GACT40I,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,GAAS,IACZqf,cAAejiQ,EAAEvV,QAErB,cAMR2B,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,qCAAoCnsE,UACjDw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,QAAMm4D,MAAO,CAAEoB,SAAU,IAAMuS,UAAU,UAASnsE,SAAC,6BAGnDK,EAAAA,EAAAA,KAAA,QAAMm4D,MAAO,CAAEoB,SAAU,IAAMuS,UAAU,UAASnsE,SAChD62P,EAAUgf,wBAIhBx1Q,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,UACdqtK,EAAAA,EAAAA,MAAC61B,GAAG,CAACljM,UAAU,OAAMnsE,SAAA,EACnBw5O,EAAAA,EAAAA,MAAC8d,GAAG,CAAAt3P,SAAA,EACFK,EAAAA,EAAAA,KAACs9W,GAAAA,MAAU,CAACxxS,UAAU,eAAcnsE,SAAC,YACrCw5O,EAAAA,EAAAA,MAAC61B,GAAG,CAACljM,UAAU,OAAMnsE,SAAA,EACnBw5O,EAAAA,EAAAA,MAAC8d,GAAG,CAAAt3P,SAAA,CACD,KACDK,EAAAA,EAAAA,KAAC0lQ,GAAM,CACNp3P,QAASu1W,EACT/mP,SAAU,SAAClpH,GACV2sW,EAAU3sW,EACZ,QAIFulO,EAAAA,EAAAA,MAAC8d,GAAG,CAAAt3P,SAAA,CACD,KACDK,EAAAA,EAAAA,KAAC+hP,GAAM,CAAEl2O,KAAK,KAAMgxH,QA9VlB,WAClB+9H,EAAgB,CAAEr3P,KAAM,OAAQ8wW,UAAW,WAC7C,EA4V2D10W,SAAC,0BAK9CK,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLuoE,UAAU,oBACVniC,UAAQ,EACRk/B,YAAY,sBACZp9D,aAAc+1U,EACdnyM,UAAQ,KAEVrvI,EAAAA,EAAAA,KAAA,SACEuD,KAAK,OACLuoE,UAAU,gBACVniC,UAAQ,EACRk/B,YAAY,aACbp9D,aAAcskW,EACb1gO,UAAQ,QAIZrvI,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClBw5O,EAAAA,EAAAA,MAAA,SAAOrtK,UAAU,QAAOnsE,SAAA,EACtBK,EAAAA,EAAAA,KAAA,SAAAL,UACEw5O,EAAAA,EAAAA,MAAA,MAAAx5O,SAAA,EAEEK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE/P,MAAO,QAAQr7B,MAAM,OAAQptB,SAAC,WAC3Cw5O,EAAAA,EAAAA,MAAA,MAAIhhL,MAAO,CAAE/P,MAAO,SAAUzoD,SAAA,CAC3B,IAAI,6BAGPK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE/P,MAAO,SAAUzoD,SAAC,YAC/BK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE/P,MAAO,QAAQr7B,MAAM,OAAQptB,SAAC,SAC3CK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO,CAAE/P,MAAO,SAAUzoD,SAAC,WAC/BK,EAAAA,EAAAA,KAAA,MAAAL,UACEK,EAAAA,EAAAA,KAAC+hP,GAAM,CAACl2O,KAAK,KAAMgxH,QA9UtB,WAQrB6iP,EAAY,GAADljX,QAAAqtC,EAAAA,GAAAA,GAAKg0U,GAAQ,CAPN,CAChBlL,SAAU,EACV5sG,SAAU,GACV4wG,OAAQ,GACRwH,IAAK,KACLxiW,MAAO,MAGX,EAqUmEhc,SAAC,cAQhDK,EAAAA,EAAAA,KAAA,SAAAL,UACAK,EAAAA,EAAAA,KAACqkX,GAAU,CACPxG,SAAUA,EACVC,gBA/UA,SAACzuW,GACvB,IAAM46L,GAAIpgK,EAAAA,GAAAA,GAAOg0U,GACjB5zK,EAAK5mL,OAAOhU,EAAO,GACnB,IAEIxK,EADEs8G,EADIh3F,EAAQ,KACJi3F,MAAM6oF,GAAM,SAAC+nK,GAAS,OAAKtmW,OAAOsmW,EAAUr2V,MAAM,IAE5Di6P,EAAU,EACVD,EAAW,EAEf,IAAK9wQ,KAAKolM,EACW,KAAfA,EAAKplM,GAAGs5W,MAEVvoG,GAAoB3rE,EAAKplM,GAAG8W,OAEX,MAAfsuL,EAAKplM,GAAGs5W,MAEVxoG,GAAsB1rE,EAAKplM,GAAG8W,OAIlCwlW,EAAa91V,QAAQ81F,EACrBi+P,EAAO/zV,QAAS5qB,KAAK0B,MAAMwzQ,EAAW,IACtCwpG,EAAQ9zV,QAAS5qB,KAAK0B,MAAMyzQ,EAAU,IACtCsrG,EAAgB71V,QAAQ+zV,EAAO/zV,QAAQ8zV,EAAQ9zV,QAC/Cm9H,GAAQinF,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACL+mB,GAAS,IACZmf,WAAYypG,EAAO/zV,QACnBuqP,UAAUupG,EAAQ9zV,QAClBqoP,SAAWwtG,EAAgB71V,QAC3B1P,MAAOwlG,KAETu+P,EAAYz1K,EACd,EAgTwBt2D,aAnWD,SAACtkI,EAAOgvW,GAC3B,IAAA+D,EAAwB/D,EAAKhyW,OAArBvF,EAAIs7W,EAAJt7W,KAAMzI,EAAK+jX,EAAL/jX,MACRuhX,GAAS/1U,EAAAA,GAAAA,GAAOg0U,GACtB+B,EAAUvwW,GAAOvI,GAAQzI,EACzBuhX,EAAUvwW,GAAc,MAAEuwW,EAAUvwW,GAAiB,SAAEuwW,EAAUvwW,GAAe,OAChFqwW,EAAYE,GACZC,GACF,iBAoWU1mI,EAAAA,EAAAA,MAAC61B,GAAG,CAACljM,UAAU,kCAAiCnsE,SAAA,EAChDK,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,UACZqtK,EAAAA,EAAAA,MAAC8d,GAAG,CAAC9kF,GAAI,EAAExyK,SAAA,EAETw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iEAAgEnsE,SAAA,EAC7EK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,aAC1BK,EAAAA,EAAAA,KAAA,QAAAL,UACEK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,SAAQnsE,SAAEy/W,EAAO/zV,gBAGrC8tN,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iEAAgEnsE,SAAA,EAC7EK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,YAC1BK,EAAAA,EAAAA,KAAA,QAAAL,UACEK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,SAAQnsE,SAAEw/W,EAAQ9zV,gBAGtC8tN,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,iEAAgEnsE,SAAA,EAC7EK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,gBAC1BK,EAAAA,EAAAA,KAAA,QAAAL,UACEK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,SAAQnsE,SAAEuhX,EAAgB71V,gBAG9CrrB,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,OACErtK,UAAU,4DACV3T,MAAO,CACLoB,SAAU,YACV55D,SAAA,EAEFK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAC,YAC1BK,EAAAA,EAAAA,KAAA,QAAM8rE,UAAU,UAASnsE,SAAEwhX,EAAa91V,oBAI9CrrB,EAAAA,EAAAA,KAAC+hP,GAAM,CACPx+O,KAAK,SACHq/E,QAAQ,UACR9W,UAAU,qBAAoBnsE,SAC/B,2BAON8G,EAAQwyO,SACPj5O,EAAAA,EAAAA,KAAC0jX,GAAkB,CACjBrtH,OAAQ5vP,EAAQwyO,OAChBqd,aAAcA,EACdC,cAAe+9G,EACfhB,SAvhBS,CAAC,CAChBsP,UAAU,GACV9uG,YAAY,GACZC,IAAI,GACJ0/F,OAAO,GACPnmG,UAAU,GACVC,SAAS,GACTomG,OAAO,KAihBDgP,OA/gBI,IAkhBNl8W,EAAQklQ,UACR3rQ,EAAAA,EAAAA,KAACskX,GAAa,CACZjuH,OAAQ5vP,EAAQklQ,QAChBrV,aAAcA,EACdC,cAAe0tH,EACftO,aAAcn/G,EACdo/G,eAAgBiI,MAM1B,ECpkBE9G,GAAU,CACZ7pV,OAAQ,MAEN8pV,GAAW,CACbC,UAAW,iBAEX/pV,OAAQ,OAENgqV,GAAW,CACbD,UAAW,iBAEX/pV,OAAQ,OAGNiqV,GAAW,CACbF,UAAW,iBACX/pV,OAAQ,MAENkqV,GAAW,CACblqV,OAAQ,MAGNmqV,GAAY,CACdJ,UAAW,iBAEX/pV,OAAQ,MAENoqV,GAAa,CACfL,UAAW,iBAEX/pV,OAAQ,MAENq3V,GAAkB,CACpBtN,UAAW,iBAEX/pV,OAAQ,MAENqqV,GAAW,CACbC,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAERk+S,GAAW,CACbD,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAERm+S,GAAW,CACbF,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAERo+S,GAAW,CACbH,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAERq+S,GAAW,CACbJ,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,GAERs+S,GAAW,CACbL,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAERu+S,GAAW,CACb/qV,MAAO,MACPwsC,SAAU,GAERw+S,GAAe,CACjBP,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAERy+S,GAAgB,CAClBjrV,MAAO,MACPwsC,SAAU,GAER0+S,GAAiB,CACnBT,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,GAER2+S,GAAkB,CACpBV,YAAa,iBACbzqV,MAAO,KACPwsC,SAAU,IAER4+S,GAAkB,CACpBX,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,IAER6+S,GAAkB,CACpBrrV,MAAO,MACPwsC,SAAU,IAER8+S,GAAc,CAChBb,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,IAER++S,GAAe,CACjBvrV,MAAO,MACPwsC,SAAU,IAERg/S,GAAY,CACdxrV,MAAO,OACPwsC,SAAU,IAERi/S,GAAY,CACdzrV,MAAO,OACPwsC,SAAU,IAERk/S,GAAY,CACd1rV,MAAO,QACPwsC,SAAU,IAERm/S,GAAY,CACd3rV,MAAO,OACPwsC,SAAU,IAERo/S,GAAY,CACd5rV,MAAO,OACPwsC,SAAU,IAERq/S,GAAY,CACd7rV,MAAO,OACPwsC,SAAU,IAERs/S,GAAY,CACd9rV,MAAO,OACPwsC,SAAU,IAERu/S,GAAY,CACdtB,YAAa,iBACbzqV,MAAO,MACPwsC,SAAU,IAONkhM,GAAc,SAACC,EAASzqO,GAC5B,OAAQA,EAAM1sB,MACZ,IAAK,OACH,MAAO,CACL01O,QAAQ,EACRsd,cAAetmO,EAAMsmO,cACrB+gB,QAASrnP,EAAMqnP,SAEnB,IAAK,QACH,MAAO,CACLr+B,QAAQ,EACR0yB,SAAS,EACTpV,cAAetmO,EAAMsmO,eAEzB,IAAK,MACH,OAAA9mB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYirB,GAAO,IAAEzhB,QAAQ,EAAO0yB,SAAS,IAEnD,EAgTA,GA/S2B,WAAO,IAADmpG,EAC/B5hI,GAAgCh7E,EAAAA,EAAAA,UAAS,CAAC,GAAEi7E,GAAAl8N,EAAAA,EAAAA,GAAAi8N,EAAA,GAA3B04B,GAAFz4B,EAAA,GAAaA,EAAA,IAC5BG,GAA8Bp7E,EAAAA,EAAAA,WAAS,GAAKq7E,GAAAt8N,EAAAA,EAAAA,GAAAq8N,EAAA,GAArCxiK,EAAOyiK,EAAA,GAAEs4B,EAAUt4B,EAAA,GAC1BoF,GAAmC1gF,EAAAA,EAAAA,YAAWwiG,GAAa,CACzDxhB,QAAQ,EACR0yB,SAAS,EACT2L,QAAS,KACT/gB,cAAe,OACf3d,GAAA3hO,EAAAA,EAAAA,GAAA0hO,EAAA,GAEI1nO,GAPQ2nO,EAAA,GAAiBA,EAAA,GAON,QAAjBk8H,GADSl1K,EAAAA,EAAAA,MACG3vK,aAAK,IAAA6kV,OAAA,EAAdA,EAAgB7jW,IAC3ByiO,GAAsBx7E,EAAAA,EAAAA,UAASjnJ,GAAG0iO,GAAA18N,EAAAA,EAAAA,GAAAy8N,EAAA,GAA3BmmI,EAAGlmI,EAAA,GACVG,GADkBH,EAAA,IACkBz7E,EAAAA,EAAAA,UAAS,KAAG67E,GAAA98N,EAAAA,EAAAA,GAAA68N,EAAA,GAAzCqlI,EAAaplI,EAAA,GAAE0lI,EAAU1lI,EAAA,GAChCG,GAAoCh8E,EAAAA,EAAAA,YAAUi8E,GAAAl9N,EAAAA,EAAAA,GAAAi9N,EAAA,GAAvCyhC,EAAUxhC,EAAA,GAAEqwI,EAAarwI,EAAA,GAChCE,GAAkCn8E,EAAAA,EAAAA,YAAUo8E,GAAAr9N,EAAAA,EAAAA,GAAAo9N,EAAA,GAArCuhC,EAASthC,EAAA,GAAEmwI,EAAYnwI,EAAA,GAC9BG,GAAqCv8E,EAAAA,EAAAA,UAAS,IAAGw8E,GAAAz9N,EAAAA,EAAAA,GAAAw9N,EAAA,GAA1CmhI,EAAclhI,EAAA,GAAEglI,EAAUhlI,EAAA,GAE3BilI,GAAe/tV,EAAAA,EAAAA,QAAO,MACtBytV,EAAiBlvV,EAAQ,MAEzBysP,GAAiBx+G,EAAAA,EAAAA,cAAWz8J,EAAAA,GAAAA,IAAAC,EAAAA,GAAAA,KAAAC,MAAC,SAAA49P,IAAA,IAAAuB,EAAAo/G,EAAAsK,EAAAC,EAAAC,EAAAC,EAAA94G,EAAA,OAAAnwQ,EAAAA,GAAAA,KAAAM,MAAA,SAAAorD,GAAA,cAAAA,EAAAlrD,KAAAkrD,EAAAjrD,MAAA,cAAAirD,EAAAlrD,KAAA,EAAAkrD,EAAAjrD,KAAA,EAEN85Q,GAAqB0jG,GAAK,KAAD,EAAlC,OAAV7+G,EAAU1zM,EAAA1qD,KAAA0qD,EAAAjrD,KAAA,EACUw1Q,GAA0BgoG,GAAK,KAAD,EAQ3B,OARvBO,EAAW9yT,EAAA1qD,KACZ8nX,EAAatK,EAAY9wW,QAAO,SAAAw7W,GAAI,MAAc,MAAVA,EAAK3G,GAAS,IACtDwG,EAAYvK,EAAY9wW,QAAO,SAAAw7W,GAAI,MAAc,KAAVA,EAAK3G,GAAQ,IACtDyG,EAAY,EAChBF,EAAW//W,SAAQ,SAAS+D,GAAGk8W,GAAel8W,EAAEiT,KAAM,IACnD6oW,EAAcI,GACVC,EAAW,EACfF,EAAUhgX,SAAQ,SAAS+D,GAAGm8W,GAAcn8W,EAAEiT,KAAM,IACjD8oW,EAAaI,GAAWv9T,EAAAjrD,KAAA,IACPd,EAAAA,GAAAA,MAAqB,KAAD,GAApCwwQ,EAAOzkN,EAAA1qD,KACbgvQ,EAAYG,GAEZ4tG,EAAatuV,QAAU2vO,EAAW,GAAGid,cAErCwhG,EAAWz+G,GACX0+G,EAAWU,GACXvuG,GAAW,GAAOvkN,EAAAjrD,KAAA,iBAAAirD,EAAAlrD,KAAA,GAAAkrD,EAAA8wJ,GAAA9wJ,EAAA,SAElBtpD,QAAQC,IAAGqpD,EAAA8wJ,IACXyzD,GAAW,GAAO,yBAAAvkN,EAAAnqD,OAAA,GAAAs8P,EAAA,mBAEnB,CAACxoP,IAKJ,OAJAnR,EAAAA,EAAAA,YAAU,WACR82Q,GACF,GAAG,CAACA,KAGFz9B,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAz5O,SAAA,EACEK,EAAAA,EAAAA,KAACosQ,GAAQ,CACPl/O,OAAO,KACPH,MAAM,KACNq7B,MAAM,QACN+qM,UAAU,oBACV6X,OAAO,IACPC,aAAc,CAAC,EACfC,aAAa,GACbhvC,QAASprJ,IAEVqoS,EAAclrW,KAAI,SAAC0nW,EAAcJ,GAChC,OACEv1W,EAAAA,EAAAA,KAAA,OAAAL,UACEw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,MAAKnsE,SAAA,EAClBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,0BAAyBnsE,UACtCw5O,EAAAA,EAAAA,MAAA,OACEhhL,MAAO,CACL+b,OAAQ,kBACRnnD,MAAO,SACPG,OAAQ,UACRopC,WAAY,SACZ32D,SAAA,EAEFK,EAAAA,EAAAA,KAAA,OACE8rE,UAAU,2CACV3T,MAAO4+S,GAAQp3W,UAEfK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAM3T,MAAO2gT,GAAUn5W,UACpCw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,mBAE7BK,EAAAA,EAAAA,KAAA,SAAS,IAAE21W,EAAa19F,cAAe,YAI7C9+B,EAAAA,EAAAA,MAAA,OAAKhhL,MAAO6+S,GAASr3W,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,2CAA0CnsE,UACvDw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,kBACbg2W,EAAax9F,aAAc,UAI/Cn4Q,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,uBAAsBnsE,UACnCw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,OAAO3T,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,WACrCg2W,EAAa7hG,kBAG1B36B,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,2CAA0CnsE,SAAA,EACvDw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,IAAK55D,SAAA,CAAC,eAChBg2W,EAAa5hG,QAG5B/zQ,EAAAA,EAAAA,KAAA,iBAGJm5O,EAAAA,EAAAA,MAAA,OACEhhL,MAAOosT,GACPz4S,UAAU,6BAA4BnsE,SAAA,EAEtCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO4/S,MAC7B/3W,EAAAA,EAAAA,KAAA,OACE8rE,UAAU,gCACV3T,MAAO6/S,GAAcr4W,UAErBK,EAAAA,EAAAA,KAAA,QAAAL,SAAM,gBAGVw5O,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOk/S,GAAWvrS,UAAU,6BAA4BnsE,SAAA,EAC3DK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOo/S,GAAS53W,SAAC,WAGvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOs/S,GAAS93W,SAAC,aAGvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOu/S,GAAS/3W,SAAC,iBAGvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOw/S,GAASh4W,SAAC,iBAGvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAOy/S,GAASj4W,SAAC,aAGvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO0/S,GAASl4W,SAAC,QAGvCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,OAAO3T,MAAO2/S,GAASn4W,SAAC,YAIzCK,EAAAA,EAAAA,KAAA,SACEm4D,MAAO++S,GACPprS,UAAU,6BAA4BnsE,UAEtCK,EAAAA,EAAAA,KAAA,SACE8rE,UAAU,GACV3T,MAAO,CAAEjrC,OAAQ,OAAQH,MAAO,QAASptB,SAExCi2W,EAAe3nW,KAAI,SAAC2nW,EAAgBvmW,GACnC,IAAImkQ,EAAQ,GACRC,EAAO,GAMX,MAJuB,OAAvBmiG,EAAeuI,IACV3qG,EAAQoiG,EAAej6V,MACvB83P,EAAOmiG,EAAej6V,OAGzBw9N,EAAAA,EAAAA,MAAA,MAEEhhL,MAAO,CAAEjrC,OAAQ,OAAQH,MAAO,QAASptB,SAAA,EAEzCK,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOogT,GAAU54W,UACnBw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,gCAA+BnsE,SAAA,CAC5C,IACAi2W,EAAejD,SAAU,UAG9B3yW,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOqgT,GAAU74W,UACnBw5O,EAAAA,EAAAA,MAAA,QAAMrtK,UAAU,gCAA+BnsE,SAAA,CAC5C,IACAi2W,EAAec,OAAQ,UAG5B12W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOsgT,GAAU94W,UACnBw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAe7vG,SAAS,UAElC/lQ,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOugT,GAAU/4W,UACnBw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEi2W,EAAee,OAAO,UAEhC32W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOwgT,GAAUh5W,UACnBK,EAAAA,EAAAA,KAAA,QAAAL,SAAOi2W,EAAegB,YAExB52W,EAAAA,EAAAA,KAAA,MAAIm4D,MAAOygT,GAAUj5W,UACnBK,EAAAA,EAAAA,KAAA,QAAAL,SAAO8zQ,OAETzzQ,EAAAA,EAAAA,KAAA,MAAIm4D,MAAO0gT,GAAUl5W,UACnBK,EAAAA,EAAAA,KAAA,QAAAL,SAAO6zQ,QA5BJnkQ,EAgCX,SAIJ8pO,EAAAA,EAAAA,MAAA,OACEhhL,MAAOm/S,GACPxrS,UAAU,6BAA4BnsE,SAAA,EAEtCK,EAAAA,EAAAA,KAAA,OACE8rE,UAAU,8BACV3T,MAAO8/S,GAAet4W,SACvB,eAGDK,EAAAA,EAAAA,KAAA,OACE8rE,UAAU,gCACV3T,MAAO+/S,GAAgBv4W,UAEvBK,EAAAA,EAAAA,KAAA,cAEFA,EAAAA,EAAAA,KAAA,OACE8rE,UAAU,gCACV3T,MAAOggT,GAAgBx4W,UAEvBK,EAAAA,EAAAA,KAAA,QAAAL,SAAOi2Q,OAET51Q,EAAAA,EAAAA,KAAA,OACE8rE,UAAU,gCACV3T,MAAOigT,GAAgBz4W,UAEvBK,EAAAA,EAAAA,KAAA,QAAAL,SAAOg2Q,UAGXx8B,EAAAA,EAAAA,MAAA,OAAKhhL,MAAOg/S,GAAUrrS,UAAU,6BAA4BnsE,SAAA,EAC1Dw5O,EAAAA,EAAAA,MAAA,OACErtK,UAAU,8BACV3T,MAAOkgT,GAAY14W,SAAA,CACpB,0BACyB,KACxBw5O,EAAAA,EAAAA,MAAA,QAAMhhL,MAAO,CAAEoB,SAAU,GAAI55D,SAAA,CAC1B05W,EAAet3W,eACd4zW,EAAaz9F,cACZ,IAAI,wBAED,QAEVl4Q,EAAAA,EAAAA,KAAA,OACE8rE,UAAU,gCACV3T,MAAOmgT,GAAa34W,SAEnBg2W,EAAaz9F,mBAGlBl4Q,EAAAA,EAAAA,KAAA,OAAKm4D,MAAOi/S,GAASz3W,UACnBw5O,EAAAA,EAAAA,MAAA,OACEhhL,MAAOg/S,GACPrrS,UAAU,iCAAgCnsE,SAAA,EAE1Cw5O,EAAAA,EAAAA,MAAA,OACErtK,UAAU,mCACV3T,MAAOkgT,GAAY14W,SAAA,CACpB,4BAC2B,KAC1Bw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,IAAEg2W,EAAa//F,iBAEvBz8B,EAAAA,EAAAA,MAAA,OACErtK,UAAU,qCACV3T,MAAOkgT,GAAY14W,SAAA,CACpB,SACQg2W,EAAahgG,eAEtBx8B,EAAAA,EAAAA,MAAA,OACErtK,UAAU,qCACV3T,MAAOkgT,GAAY14W,SAAA,CACpB,aACY,IACVg2W,EAAa//F,UAAY+/F,EAAahgG,yBAMjDx8B,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,qBAAoBnsE,SAAA,EACjCK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,MAAKnsE,UAClBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,YAAWnsE,UACxBw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,OAAMnsE,SAAA,EACnBK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,cAAansE,UAC1BK,EAAAA,EAAAA,KAAA,MAAI8rE,UAAU,aAAYnsE,SAAC,oBAE7Bw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,gBAAensE,SAAA,EAC5Bw5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,qBACeg2W,EAAa1hG,gBAElCj0Q,EAAAA,EAAAA,KAAA,UAEAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,SAAOg2W,EAAapmG,YAAY,QACtCvvQ,EAAAA,EAAAA,KAAA,UACAm5O,EAAAA,EAAAA,MAAA,QAAAx5O,SAAA,CAAM,uBACiBg2W,EAAa9/F,cAAe,kBAM3D71Q,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,eAvOXypS,EA4Od,MAGN,ECnYA,SAASwP,KACP,IAAArsI,GAAyC3gF,EAAAA,EAAAA,YAAWk7E,IAA5C8C,EAAU2C,EAAV3C,WAAYJ,EAAgB+C,EAAhB/C,iBACpB,OACEwD,EAAAA,EAAAA,MAAA,OACEloO,GAAG,eACH66D,UAAS,QAAAtvE,OAAUm5O,EAAmB,mBAAqB,GAAE,KAAAn5O,OAC3Du5O,EAAa,cAAgB,IAC5Bp2O,SAAA,EAEHK,EAAAA,EAAAA,KAACglX,GAAG,KACJhlX,EAAAA,EAAAA,KAAA,OACE8rE,UAAU,eACV3T,MAAO,CAAE8sT,UAAWr/W,OAAOs/W,OAAOh4V,OAAS,IAAKvtB,UAEhDK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,kBAAiBnsE,UAC9BK,EAAAA,EAAAA,KAAC0jM,EAAAA,GAAM,UAKjB,CAEA,OA/Ee,WACb,IAAMyhL,EAAY,CAGhB,CAAE/0W,IAAK,qBAAsB2gC,WAAW/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACqlX,GAAS,OAC7D,CAAEj1W,IAAK,kBAAmB2gC,WAAWooM,EAAAA,EAAAA,MAACisI,GAAS,CAAAzlX,SAAA,EAACK,EAAAA,EAAAA,KAACslX,GAAO,IAAG,QAC3D,CAAEl1W,IAAK,sBAAuB2gC,WAAW/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACulX,GAAa,OAClE,CAAEn1W,IAAK,mBAAoB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACwlX,GAAO,OAE1D,CAAEp1W,IAAK,iBAAkB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACylX,GAAc,OAC/D,CAAEr1W,IAAK,aAAc2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAAC0lX,GAAU,OACvD,CAAEt1W,IAAK,eAAgB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAAC2lX,GAAY,OAC3D,CAAEv1W,IAAK,iBAAkB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAAC4lX,GAAc,OAC/D,CAAEx1W,IAAK,UAAW2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAAC6lX,GAAO,OACjD,CAAEz1W,IAAK,qBAAsB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAAC8lX,GAAS,OAC9D,CAAE11W,IAAK,cAAe2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAAC+lX,GAAa,OAC3D,CAAE31W,IAAK,WAAY2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACgmX,GAAQ,OACnD,CAAE51W,IAAK,WAAY2gC,WAAWooM,EAAAA,EAAAA,MAACisI,GAAS,CAAAzlX,SAAA,CAAC,KAACK,EAAAA,EAAAA,KAACimX,GAAQ,IAAG,QACtD,CAAE71W,IAAK,eAAgB2gC,WAAW/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACkmX,GAAY,OAC1D,CAAE91W,IAAK,eAAgB2gC,WAAWooM,EAAAA,EAAAA,MAACisI,GAAS,CAAAzlX,SAAA,EAACK,EAAAA,EAAAA,KAACmmX,GAAY,IAAG,QAC7D,CAAE/1W,IAAK,WAAY2gC,WAAYooM,EAAAA,EAAAA,MAACisI,GAAS,CAAAzlX,SAAA,EAACK,EAAAA,EAAAA,KAAComX,GAAS,IAAG,QACvD,CAAEh2W,IAAK,eAAgB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACqmX,GAAW,OAC1D,CAAEj2W,IAAK,iBAAkB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACsmX,GAAc,OAE/D,CAAEl2W,IAAK,cAAe2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACvB,GAAW,OACzD,CAAE2R,IAAK,UAAW2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACumX,GAAO,OACjD,CAAEn2W,IAAK,iBAAkB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACwmX,GAAc,OAC/D,CAAEp2W,IAAK,iBAAkB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAACymX,GAAc,OAC/D,CAAEr2W,IAAK,gBAAiB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAAC0mX,GAAa,OAC7D,CAAEt2W,IAAK,qBAAsB2gC,WAAY/wC,EAAAA,EAAAA,KAAColX,GAAS,CAAAzlX,UAACK,EAAAA,EAAAA,KAAC2mX,GAAkB,QAIzE,OACExtI,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAz5O,SAAA,EACEw5O,EAAAA,EAAAA,MAACr0C,EAAAA,GAAM,CAAAnlM,SAAA,EACLK,EAAAA,EAAAA,KAAC4jM,EAAAA,GAAK,CAAC/4K,SAAS7qB,EAAAA,EAAAA,KAAC+kX,GAAO,IAAIplX,SACzBwlX,EAAUl3W,KAAI,SAAChS,EAAM4I,GAAC,OACrB7E,EAAAA,EAAAA,KAAC4jM,EAAAA,GAAK,CAEJ5yE,OAAK,EACLjjH,KAAI,IAAAvR,OAAMP,EAAKmU,KACfya,QAAS5uB,EAAK80C,WAHTlsC,EAIL,OAGN7E,EAAAA,EAAAA,KAAC4jM,EAAAA,GAAK,CACM71L,KAAK,IACL8c,SAAU7qB,EAAAA,EAAAA,KAACwjM,EAAAA,GAAQ,CAACn/J,GAAG,oBAIrCrkC,EAAAA,EAAAA,KAACgsP,GAAW,MAGlB,aClFM46H,IAAQthL,EAAAA,EAAAA,OAAK,WACf,OAAO,IAAIhpL,SAAQ,SAAAC,GACrB0B,YAAW,kBAAM1B,EAAQ,6BAA4B,GAAE,IACxD,GACD,IAsEA,IAMA,GA1EA,SAAoBkhH,GAchB,OAbA,SAAiC/9H,GAC/B,IAAI6a,GAAWqlL,EAAAA,EAAAA,MACX12K,GAAW42K,EAAAA,EAAAA,MACXhwL,GAASgxL,EAAAA,EAAAA,MAEb,OACE9gM,EAAAA,EAAAA,KAACy9H,GAASgyG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACJ/vO,GAAK,IACTqgM,OAAQ,CAAExlL,SAAAA,EAAU2O,SAAAA,EAAUpZ,OAAAA,KAGpC,CAGJ,CA2DA,EAA0B45O,EAAAA,GAAAA,KANF,SAACz5N,GACrB,MAAO,CACHu5N,gBAAiBA,GAAgBv5N,GAEzC,GAE0By5N,EAzD1B,SAAchqP,GAEV,IAAMupB,GAAWu1K,EAAAA,GAAAA,MACXt1K,GAAW42K,EAAAA,EAAAA,OACjBhgM,EAAAA,EAAAA,YAAU,YACNkpB,EAAAA,GAAAA,IAAeC,EAAUC,EAC7B,GAAG,IAEH,IAAI29V,GACA7mX,EAAAA,EAAAA,KAAC8kM,EAAAA,GAAM,CAAAnlM,UACHK,EAAAA,EAAAA,KAAC4jM,EAAAA,GAAK,CAAC71L,KAAK,SAAS8c,SAAS7qB,EAAAA,EAAAA,KAAC4mX,GAAK,QAG5C,OAAIlnX,EAAM8pP,iBAEXxpP,EAAAA,EAAAA,KAAAo5O,EAAAA,SAAA,CAAAz5O,UACaK,EAAAA,EAAAA,KAACstL,EAAAA,SAAQ,CAACtgH,UACNhtE,EAAAA,EAAAA,KAAA,OAAKiR,GAAG,YAAWtR,UACfw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,kBAAiBnsE,SAAA,EAC5BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,yBACf9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,yBACf9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,6BAGvBnsE,UAEAK,EAAAA,EAAAA,KAAC8mX,GAAK,SAOvB9mX,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,SAAQnsE,UACVK,EAAAA,EAAAA,KAACstL,EAAAA,SAAQ,CAACtgH,UACNhtE,EAAAA,EAAAA,KAAA,OAAKiR,GAAG,YAAWtR,UACfw5O,EAAAA,EAAAA,MAAA,OAAKrtK,UAAU,kBAAiBnsE,SAAA,EAC5BK,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,yBACf9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,yBACf9rE,EAAAA,EAAAA,KAAA,OAAK8rE,UAAU,6BAGxBnsE,SAEEknX,KAKrB,KC3EA,GAZwB,SAAAE,GAClBA,GAAeA,aAAuBxjV,UACxC,6BAAqB/2B,MAAK,SAAAuK,GAAkD,IAA/CiwW,EAAMjwW,EAANiwW,OAAQC,EAAMlwW,EAANkwW,OAAQC,EAAMnwW,EAANmwW,OAAQC,EAAMpwW,EAANowW,OAAQC,EAAOrwW,EAAPqwW,QAC3DJ,EAAOD,GACPE,EAAOF,GACPG,EAAOH,GACPI,EAAOJ,GACPK,EAAQL,EACV,GAEJ,ECDA,SAASM,GAAuB16W,GAC9B,MAAO,yBAA2BA,EAAO,4CAA8CA,EAAhF,iFACT,CAGA,IAAI26W,GACuB,oBAAXnjX,QAAyBA,OAAOojX,YAAc,eAS1DC,GAAe,WACjB,OAAO/mX,KAAKsL,SAASlJ,SAAS,IAAIiT,UAAU,GAAG5K,MAAM,IAAIgD,KAAK,IAChE,EAEIu5W,GAAc,CAChBC,KAAM,eAAiBF,KACvBG,QAAS,kBAAoBH,KAC7BI,qBAAsB,WACpB,MAAO,+BAAiCJ,IAC1C,GAOF,SAASvjX,GAAcW,GACrB,GAAmB,kBAARA,GAA4B,OAARA,EAAc,OAAO,EAGpD,IAFA,IAAI+1F,EAAQ/1F,EAE4B,OAAjCzG,OAAO4E,eAAe43F,IAC3BA,EAAQx8F,OAAO4E,eAAe43F,GAGhC,OAAOx8F,OAAO4E,eAAe6B,KAAS+1F,CACxC,CAuFA,SAASktR,GAAYphX,EAASqhX,EAAgBC,GAC5C,IAAI/wW,EAEJ,GAA8B,oBAAnB8wW,GAAqD,oBAAbC,GAA+C,oBAAbA,GAAmD,oBAAjBrsX,UAAU,GAC/H,MAAM,IAAIqB,MAA8CsqX,GAAuB,IAQjF,GAL8B,oBAAnBS,GAAqD,qBAAbC,IACjDA,EAAWD,EACXA,OAAiB7iX,GAGK,qBAAb8iX,EAA0B,CACnC,GAAwB,oBAAbA,EACT,MAAM,IAAIhrX,MAA8CsqX,GAAuB,IAGjF,OAAOU,EAASF,GAATE,CAAsBthX,EAASqhX,EACxC,CAEA,GAAuB,oBAAZrhX,EACT,MAAM,IAAI1J,MAA8CsqX,GAAuB,IAGjF,IAAIW,EAAiBvhX,EACjBwhX,EAAeH,EACfI,EAAmB,GACnBC,EAAgBD,EAChBE,GAAgB,EASpB,SAASC,IACHF,IAAkBD,IACpBC,EAAgBD,EAAiB7kX,QAErC,CAQA,SAASi5L,IACP,GAAI8rL,EACF,MAAM,IAAIrrX,MAA8CsqX,GAAuB,IAGjF,OAAOY,CACT,CA0BA,SAAShpW,EAAU5D,GACjB,GAAwB,oBAAbA,EACT,MAAM,IAAIte,MAA8CsqX,GAAuB,IAGjF,GAAIe,EACF,MAAM,IAAIrrX,MAA8CsqX,GAAuB,IAGjF,IAAIhuL,GAAe,EAGnB,OAFAgvL,IACAF,EAAc39W,KAAK6Q,GACZ,WACL,GAAKg+K,EAAL,CAIA,GAAI+uL,EACF,MAAM,IAAIrrX,MAA8CsqX,GAAuB,IAGjFhuL,GAAe,EACfgvL,IACA,IAAIh5W,EAAQ84W,EAAcr+W,QAAQuR,GAClC8sW,EAAc9kW,OAAOhU,EAAO,GAC5B64W,EAAmB,IAVnB,CAWF,CACF,CA4BA,SAASj/V,EAAS4c,GAChB,IAAK5hC,GAAc4hC,GACjB,MAAM,IAAI9oC,MAA8CsqX,GAAuB,IAGjF,GAA2B,qBAAhBxhV,EAAOtiC,KAChB,MAAM,IAAIxG,MAA8CsqX,GAAuB,IAGjF,GAAIe,EACF,MAAM,IAAIrrX,MAA8CsqX,GAAuB,IAGjF,IACEe,GAAgB,EAChBH,EAAeD,EAAeC,EAAcpiV,EAC9C,CAAE,QACAuiV,GAAgB,CAClB,CAIA,IAFA,IAAI57M,EAAY07M,EAAmBC,EAE1BtjX,EAAI,EAAGA,EAAI2nK,EAAUxnK,OAAQH,IAAK,EAEzCwW,EADemxJ,EAAU3nK,KAE3B,CAEA,OAAOghC,CACT,CA4EA,OAHA5c,EAAS,CACP1lB,KAAMkkX,GAAYC,QAEb1wW,EAAQ,CACbiS,SAAUA,EACVhK,UAAWA,EACXq9K,SAAUA,EACVgsL,eAnEF,SAAwBC,GACtB,GAA2B,oBAAhBA,EACT,MAAM,IAAIxrX,MAA8CsqX,GAAuB,KAGjFW,EAAiBO,EAKjBt/V,EAAS,CACP1lB,KAAMkkX,GAAYE,SAEtB,IAuDSL,IA9CT,WACE,IAAIvwW,EAEAyxW,EAAiBvpW,EACrB,OAAOlI,EAAO,CASZkI,UAAW,SAAmBwpW,GAC5B,GAAwB,kBAAbA,GAAsC,OAAbA,EAClC,MAAM,IAAI1rX,MAA8CsqX,GAAuB,KAGjF,SAASqB,IACHD,EAASpsX,MACXosX,EAASpsX,KAAKigM,IAElB,CAIA,OAFAosL,IAEO,CACL7rW,YAFgB2rW,EAAeE,GAInC,IACMpB,IAAgB,WACtB,OAAOj/W,IACT,EAAG0O,CACL,EAaqCC,CACvC,CA6PA,SAAS2xW,KACP,IAAK,IAAI/xW,EAAOlb,UAAUsJ,OAAQsoG,EAAQ,IAAI5pG,MAAMkT,GAAOpR,EAAO,EAAGA,EAAOoR,EAAMpR,IAChF8nG,EAAM9nG,GAAQ9J,UAAU8J,GAG1B,OAAqB,IAAjB8nG,EAAMtoG,OACD,SAAUipC,GACf,OAAOA,CACT,EAGmB,IAAjBq/D,EAAMtoG,OACDsoG,EAAM,GAGRA,EAAMl8E,QAAO,SAAU1oB,EAAGC,GAC/B,OAAO,WACL,OAAOD,EAAEC,EAAElN,WAAM,EAAQC,WAC3B,CACF,GACF,CC/oBO,ICQDwtM,GAAe,CACjB0/K,MAAO,ICNX,SAASC,GAAsBC,GAqB7B,OAlBiB,SAAoB/xW,GACnC,IAAIkS,EAAWlS,EAAKkS,SAChBqzK,EAAWvlL,EAAKulL,SACpB,OAAO,SAAUjgM,GACf,OAAO,SAAUwpC,GAGf,MAAsB,oBAAXA,EAEFA,EAAO5c,EAAUqzK,EAAUwsL,GAI7BzsX,EAAKwpC,EACd,CACF,CACF,CAGF,CAEA,IAAIkjV,GAAQF,KAGZE,GAAMC,kBAAoBH,GAC1B,ICtBM3/K,GAAe,CACjBlsL,KAAM,CACFoL,MAAO,GACPqhO,QAAS,GACTw/H,QAAS,GACTlgW,UAAW,GACXmgW,aAAc,IAElBl/V,aAAc,GACdm/V,eAAgB,GAChBp6J,aAAa,GCnBjB,IAAMq6J,GAAc,CACnB7zV,KAAO,IAgCR,GA9BqB,WAAiC,IAAhCtF,EAAKv0B,UAAAsJ,OAAA,QAAAC,IAAAvJ,UAAA,GAAAA,UAAA,GAAG0tX,GAAavjV,EAAMnqC,UAAAsJ,OAAA,EAAAtJ,UAAA,QAAAuJ,EAChD,OAAO4gC,EAAOtiC,MACb,IAAK,WACL,IAAA8lX,EAAmBxjV,EAAO5d,QAAnBhX,EAAEo4W,EAAFp4W,GAAIhV,EAAIotX,EAAJptX,KACX,OAAAwzO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACIx/M,GAAK,IACRsF,KAAK,GAAD/4B,QAAAqtC,EAAAA,GAAAA,GACA5Z,EAAMsF,MAAI,CACb,CACCtkB,GAAIA,EACJhV,KAAMA,OAIT,IAAK,cACL,IAAMqtX,EAAUr5V,EAAMsF,KAAKjsB,QAAO,SAAC+2M,GAAI,OAAKA,EAAKpvM,KAAO40B,EAAO50B,EAAE,IAEjE,OAAAw+N,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACIx/M,GAAK,IACRsF,KAAM+zV,IAGP,IAAK,cAAgB,OAAA75I,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACjBx/M,GAAK,IACRsF,KAAM,KAEP,QAAS,OAAOtF,EAGlB,EC1BMyvO,GN4pBN,WACE,IAAK,IAAI9oP,EAAOlb,UAAUsJ,OAAQukX,EAAc,IAAI7lX,MAAMkT,GAAOpR,EAAO,EAAGA,EAAOoR,EAAMpR,IACtF+jX,EAAY/jX,GAAQ9J,UAAU8J,GAGhC,OAAO,SAAUqiX,GACf,OAAO,WACL,IAAI/uL,EAAQ+uL,EAAYpsX,WAAM,EAAQC,WAElC8tX,EAAY,WACd,MAAM,IAAIzsX,MAA8CsqX,GAAuB,IACjF,EAEIoC,EAAgB,CAClBntL,SAAUxD,EAAMwD,SAChBrzK,SAAU,WACR,OAAOugW,EAAU/tX,WAAM,EAAQC,UACjC,GAEE+mB,EAAQ8mW,EAAYt7W,KAAI,SAAUyxP,GACpC,OAAOA,EAAW+pH,EACpB,IAEA,OADAD,EAAYb,GAAQltX,WAAM,EAAQgnB,EAAtBkmW,CAA6B7vL,EAAM7vK,WACxCwmN,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAAC,EAAG32C,GAAQ,CAAC,EAAG,CACjD7vK,SAAUugW,GAEd,CACF,CACF,CMxrBmBE,CHyBnB,IGvBMC,GACF/jX,OAAOgkX,sCAAwCjB,GAE7CkB,GNyeN,SAAyBA,GAIvB,IAHA,IAAIC,EAAc3rX,OAAOiH,KAAKykX,GAC1BE,EAAgB,CAAC,EAEZllX,EAAI,EAAGA,EAAIilX,EAAY9kX,OAAQH,IAAK,CAC3C,IAAIM,EAAM2kX,EAAYjlX,GAElButF,EAMyB,oBAAlBy3R,EAAS1kX,KAClB4kX,EAAc5kX,GAAO0kX,EAAS1kX,GAElC,CAEA,IASI6kX,EATAC,EAAmB9rX,OAAOiH,KAAK2kX,GAWnC,KAjEF,SAA4BF,GAC1B1rX,OAAOiH,KAAKykX,GAAUllX,SAAQ,SAAUQ,GACtC,IAAIsB,EAAUojX,EAAS1kX,GAKvB,GAA4B,qBAJTsB,OAAQxB,EAAW,CACpC1B,KAAMkkX,GAAYC,OAIlB,MAAM,IAAI3qX,MAA8CsqX,GAAuB,KAGjF,GAEO,qBAFI5gX,OAAQxB,EAAW,CAC5B1B,KAAMkkX,GAAYG,yBAElB,MAAM,IAAI7qX,MAA8CsqX,GAAuB,IAEnF,GACF,CAiDI6C,CAAmBH,EACrB,CAAE,MAAOn2W,IACPo2W,EAAsBp2W,EACxB,CAEA,OAAO,SAAqBqc,EAAO4V,GAKjC,QAJc,IAAV5V,IACFA,EAAQ,CAAC,GAGP+5V,EACF,MAAMA,EAcR,IAX2C,IAQvCG,GAAa,EACb1yL,EAAY,CAAC,EAERj7J,EAAK,EAAGA,EAAKytV,EAAiBjlX,OAAQw3B,IAAM,CACnD,IAAIh3B,EAAOykX,EAAiBztV,GACxB/1B,EAAUsjX,EAAcvkX,GACxB4kX,EAAsBn6V,EAAMzqB,GAC5B6kX,EAAkB5jX,EAAQ2jX,EAAqBvkV,GAEnD,GAA+B,qBAApBwkV,EAAiC,CACzBxkV,GAAUA,EAAOtiC,KAClC,MAAM,IAAIxG,MAA8CsqX,GAAuB,IACjF,CAEA5vL,EAAUjyL,GAAQ6kX,EAClBF,EAAaA,GAAcE,IAAoBD,CACjD,CAGA,OADAD,EAAaA,GAAcF,EAAiBjlX,SAAW7G,OAAOiH,KAAK6qB,GAAOjrB,QACtDyyL,EAAYxnK,CAClC,CACF,CMljBiBq6V,CAAgB,CAC7B1B,MJAW,WAAsD,IAAhC34V,EAAKv0B,UAAAsJ,OAAA,QAAAC,IAAAvJ,UAAA,GAAAA,UAAA,GAAGwtM,GAAc7+F,EAAO3uG,UAAAsJ,OAAA,EAAAtJ,UAAA,QAAAuJ,EAC9D,GDb8B,8BCa1BolG,EAAQ9mG,KAA6B,CACrC,IAAM86P,EAAO,CACTptP,GAAIxQ,KAAKsL,SACTujC,MAAO,qBACPriC,YAAa,gCAGX27W,GAAK/+U,EAAAA,GAAAA,GAAO5Z,EAAM24V,OAExB,OADAA,EAAMp+W,KAAK6zP,IACX5uB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACR24V,MAAAA,GAER,CAEA,GDnBA,wCCmBIv+Q,EAAQ9mG,KAAuC,CAC/C,IAAMqlX,GAAK/+U,EAAAA,GAAAA,GAAO5Z,EAAM24V,OAClB2B,EAAY3B,EAAM/1Q,WACpB,SAACwrJ,GAAI,OAAKA,EAAKptP,KAAOo5F,EAAQpiF,OAAO,IAKzC,OAFA2gW,EAAMvlW,OAAOknW,EAAW,IAExB96I,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACR24V,MAAAA,GAER,CAEA,GDnCA,sCCmCIv+Q,EAAQ9mG,KAAqC,CAC7C,IAAMqlX,GAAK/+U,EAAAA,GAAAA,GAAO5Z,EAAM24V,OAClB2B,EAAY3B,EAAM/1Q,WACpB,SAACwrJ,GAAI,OAAKA,EAAKptP,KAAOo5F,EAAQpiF,QAAQhX,EAAE,IAI5C,OADA23W,EAAM2B,GAAalgR,EAAQpiF,SAC3BwnN,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACR24V,MAAAA,GAER,CAEA,GDrDA,wCCqDIv+Q,EAAQ9mG,KAAuC,CAC/C,IAAMqlX,GAAK/+U,EAAAA,GAAAA,GAAO5Z,EAAM24V,OAGxB,OAFAA,EAAMp+W,KAAK6/F,EAAQpiF,UAEnBwnN,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACR24V,MAAAA,GAER,CAEA,MD7D+B,sCC6D3Bv+Q,EAAQ9mG,MACRksO,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACR24V,MAAOv+Q,EAAQpiF,UAGhBgI,CACX,EI3DIjT,KFSG,WAAoD,IAA/BiT,EAAKv0B,UAAAsJ,OAAA,QAAAC,IAAAvJ,UAAA,GAAAA,UAAA,GAAGwtM,GAAcrjK,EAAMnqC,UAAAsJ,OAAA,EAAAtJ,UAAA,QAAAuJ,EACpD,OAAI4gC,EAAOtiC,OAASkmB,GAAAA,IAChBgmN,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACRjT,KAAM6oB,EAAO5d,QACb+B,aAAc,GACdm/V,eAAgB,gCAChBp6J,aAAa,IAGjBlpL,EAAOtiC,OAASomB,GAAAA,IAChB8lN,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACRjT,KAAM6oB,EAAO5d,QACb+B,aAAc,GACdm/V,eAAgB,+BAChBp6J,aAAa,IAIjBlpL,EAAOtiC,OAASumB,GAAAA,IAChB2lN,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACRjG,aAAc,GACdm/V,eAAgB,GAChBnsW,KAAM,CACFoL,MAAO,GACPqhO,QAAS,GACTw/H,QAAS,GACTlgW,UAAW,GACXmgW,aAAc,MAMtBrjV,EAAOtiC,OAASmmB,GAAAA,IAChBmc,EAAOtiC,OAASqmB,GAAAA,IAEhB6lN,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACRjG,aAAc6b,EAAO5d,QACrBkhW,eAAgB,GAChBp6J,aAAa,IAIjBlpL,EAAOtiC,OAASsmB,GAAAA,IAChB4lN,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOx/M,GAAK,IACR8+L,YAAalpL,EAAO5d,UAGrBgI,CACX,EE9DEu6V,aAAAA,KAOW1xL,GAAQ+uL,GAAYgC,GAAWF,GAAiBjqH,KCXhD3qE,EAAAA,WAAoBnjL,SAASq9H,eAAe,SACpD/9F,QACHlxC,EAAAA,EAAAA,KAACuzL,EAAAA,WAAgB,CAAA5zL,UACfK,EAAAA,EAAAA,KAACC,GAAAA,GAAQ,CAAC64L,MAAOA,GAAMn5L,UACrBK,EAAAA,EAAAA,KAACP,GAAAA,GAAmB,CAAAE,UAClBK,EAAAA,EAAAA,KAAC8wO,GAAa,CAAC1pM,SAAS,GAAEznC,UACxBK,EAAAA,EAAAA,KAACizO,GAAY,CAAAtzO,UACXK,EAAAA,EAAAA,KAACyqX,GAAG,eAOhBC","sources":["Api/usuario.js","Utils/const.js","context/auth-context.js","jsx/pages/TextoNumero.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","services/AuthService.js","store/actions/AuthActions.js","../node_modules/@n8tb1t/use-scroll-position/lib/index.js","../node_modules/@n8tb1t/use-scroll-position/lib/useIsomorphicLayoutEffect.js","../node_modules/@n8tb1t/use-scroll-position/lib/useScrollPosition.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@remix-run/router/router.ts","../node_modules/classnames/index.js","../node_modules/file-saver/src/FileSaver.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../node_modules/html2canvas/node_modules/src/Util.ts","../node_modules/src/css/layout/bounds.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../node_modules/html2canvas/node_modules/src/LineBreak.ts","../node_modules/src/css/syntax/tokenizer.ts","../node_modules/src/css/syntax/parser.ts","../node_modules/src/css/types/length.ts","../node_modules/src/css/types/length-percentage.ts","../node_modules/src/css/types/angle.ts","../node_modules/src/css/types/color.ts","../node_modules/src/css/property-descriptors/background-clip.ts","../node_modules/src/css/property-descriptors/background-color.ts","../node_modules/src/css/types/functions/gradient.ts","../node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../node_modules/src/css/types/functions/radial-gradient.ts","../node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../node_modules/src/css/types/image.ts","../node_modules/src/css/property-descriptors/background-size.ts","../node_modules/src/css/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.ts","../node_modules/src/css/property-descriptors/background-image.ts","../node_modules/src/css/property-descriptors/background-origin.ts","../node_modules/src/css/property-descriptors/background-position.ts","../node_modules/src/css/property-descriptors/background-repeat.ts","../node_modules/src/css/property-descriptors/line-break.ts","../node_modules/src/css/property-descriptors/border-color.ts","../node_modules/src/css/property-descriptors/border-radius.ts","../node_modules/src/css/property-descriptors/border-style.ts","../node_modules/src/css/property-descriptors/border-width.ts","../node_modules/src/css/property-descriptors/color.ts","../node_modules/src/css/property-descriptors/direction.ts","../node_modules/src/css/property-descriptors/display.ts","../node_modules/src/css/property-descriptors/float.ts","../node_modules/src/css/property-descriptors/letter-spacing.ts","../node_modules/src/css/property-descriptors/word-break.ts","../node_modules/src/css/property-descriptors/line-height.ts","../node_modules/src/css/property-descriptors/list-style-image.ts","../node_modules/src/css/property-descriptors/list-style-position.ts","../node_modules/src/css/property-descriptors/list-style-type.ts","../node_modules/src/css/property-descriptors/margin.ts","../node_modules/src/css/property-descriptors/overflow.ts","../node_modules/src/css/property-descriptors/overflow-wrap.ts","../node_modules/src/css/property-descriptors/padding.ts","../node_modules/src/css/property-descriptors/text-align.ts","../node_modules/src/css/property-descriptors/position.ts","../node_modules/src/css/property-descriptors/text-shadow.ts","../node_modules/src/css/property-descriptors/text-transform.ts","../node_modules/src/css/property-descriptors/transform.ts","../node_modules/src/css/property-descriptors/transform-origin.ts","../node_modules/src/css/property-descriptors/visibility.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../node_modules/src/css/property-descriptors/z-index.ts","../node_modules/src/css/types/time.ts","../node_modules/src/css/property-descriptors/opacity.ts","../node_modules/src/css/property-descriptors/text-decoration-color.ts","../node_modules/src/css/property-descriptors/text-decoration-line.ts","../node_modules/src/css/property-descriptors/font-family.ts","../node_modules/src/css/property-descriptors/font-size.ts","../node_modules/src/css/property-descriptors/font-weight.ts","../node_modules/src/css/property-descriptors/font-variant.ts","../node_modules/src/css/property-descriptors/font-style.ts","../node_modules/src/core/bitwise.ts","../node_modules/src/css/property-descriptors/content.ts","../node_modules/src/css/property-descriptors/counter-increment.ts","../node_modules/src/css/property-descriptors/counter-reset.ts","../node_modules/src/css/property-descriptors/duration.ts","../node_modules/src/css/property-descriptors/quotes.ts","../node_modules/src/css/property-descriptors/box-shadow.ts","../node_modules/src/css/property-descriptors/paint-order.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../node_modules/src/css/index.ts","../node_modules/src/core/debugger.ts","../node_modules/src/dom/element-container.ts","../node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../node_modules/src/dom/document-cloner.ts","../node_modules/src/core/features.ts","../node_modules/src/css/layout/text.ts","../node_modules/src/dom/text-container.ts","../node_modules/src/dom/replaced-elements/image-element-container.ts","../node_modules/src/dom/replaced-elements/canvas-element-container.ts","../node_modules/src/dom/replaced-elements/svg-element-container.ts","../node_modules/src/dom/elements/li-element-container.ts","../node_modules/src/dom/elements/ol-element-container.ts","../node_modules/src/dom/replaced-elements/input-element-container.ts","../node_modules/src/dom/elements/select-element-container.ts","../node_modules/src/dom/elements/textarea-element-container.ts","../node_modules/src/dom/replaced-elements/iframe-element-container.ts","../node_modules/src/dom/node-parser.ts","../node_modules/src/css/types/functions/counter.ts","../node_modules/src/render/bound-curves.ts","../node_modules/src/core/cache-storage.ts","../node_modules/src/render/vector.ts","../node_modules/src/render/bezier-curve.ts","../node_modules/src/render/effects.ts","../node_modules/src/render/path.ts","../node_modules/src/render/stacking-context.ts","../node_modules/src/render/border.ts","../node_modules/src/render/box-sizing.ts","../node_modules/src/render/background.ts","../node_modules/src/core/util.ts","../node_modules/src/render/font-metrics.ts","../node_modules/src/render/renderer.ts","../node_modules/src/render/canvas/canvas-renderer.ts","../node_modules/src/render/canvas/foreignobject-renderer.ts","../node_modules/src/core/logger.ts","../node_modules/src/core/context.ts","../node_modules/src/index.ts","../node_modules/invariant/browser.js","../node_modules/lodash/lodash.js","../node_modules/perfect-scrollbar/src/lib/css.js","../node_modules/perfect-scrollbar/src/lib/dom.js","../node_modules/perfect-scrollbar/src/lib/class-names.js","../node_modules/perfect-scrollbar/src/lib/event-manager.js","../node_modules/perfect-scrollbar/src/process-scroll-diff.js","../node_modules/perfect-scrollbar/src/lib/util.js","../node_modules/perfect-scrollbar/src/update-geometry.js","../node_modules/perfect-scrollbar/src/handlers/drag-thumb.js","../node_modules/perfect-scrollbar/src/index.js","../node_modules/perfect-scrollbar/src/handlers/click-rail.js","../node_modules/perfect-scrollbar/src/handlers/keyboard.js","../node_modules/perfect-scrollbar/src/handlers/mouse-wheel.js","../node_modules/perfect-scrollbar/src/handlers/touch.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-datepicker/dist/react-datepicker.min.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/defaultLocale/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/defaultOptions/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addDays/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addHours/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addMinutes/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addMonths/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addQuarters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addWeeks/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/addYears/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/constants/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/differenceInCalendarDays/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/differenceInCalendarMonths/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/differenceInCalendarYears/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/endOfDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/endOfMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/endOfWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/endOfYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/format/formatters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/format/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getDate/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getHours/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfISOWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getISOWeekYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getMinutes/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getQuarter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getSeconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getTime/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isAfter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isBefore/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isDate/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isEqual/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isSameDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isSameMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isSameQuarter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isSameYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isValid/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/isWithinInterval/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/max/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/min/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parseISO/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/assign/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/Setter.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/constants.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/utils.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/setUTCWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/setUTCDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/_lib/setUTCISODay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/_lib/parsers/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/parse/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setHours/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setMinutes/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/getDaysInMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setQuarter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setSeconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/setYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/set/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfDay/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfMonth/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfQuarter/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfWeek/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/startOfYear/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subDays/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subMonths/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subQuarters/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subWeeks/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/subYears/index.js","../node_modules/react-datepicker/node_modules/date-fns/esm/toDate/index.js","../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-dom/server.browser.js","../node_modules/react-export-table-to-excel/lib/hooks/useExcel.js","../node_modules/react-export-table-to-excel/lib/index.js","../node_modules/react-export-table-to-excel/lib/lib.js","../node_modules/react-export-table-to-excel/lib/utils/create-table.js","../node_modules/react-export-table-to-excel/lib/utils/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","../node_modules/react-perfect-scrollbar/lib/index.js","../node_modules/react-perfect-scrollbar/lib/scrollbar.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-popper/node_modules/react-fast-compare/index.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/utils/useSyncExternalStore.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/connect/selectorFactory.js","../node_modules/react-redux/es/connect/wrapMapToProps.js","../node_modules/react-redux/es/connect/invalidArgFactory.js","../node_modules/react-redux/es/connect/mergeProps.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/components/connect.js","../node_modules/react-redux/es/connect/mapStateToProps.js","../node_modules/react-redux/es/connect/mapDispatchToProps.js","../node_modules/react-redux/es/utils/bindActionCreators.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/index.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-table/src/publicUtils.js","../node_modules/react-table/src/utils.js","../node_modules/react-table/src/makeDefaultPluginHooks.js","../node_modules/react-table/src/hooks/useColumnVisibility.js","../node_modules/react-table/src/hooks/useTable.js","../node_modules/react-table/src/plugin-hooks/useExpanded.js","../node_modules/react-table/src/filterTypes.js","../node_modules/react-table/src/plugin-hooks/useFilters.js","../node_modules/react-table/src/plugin-hooks/useGlobalFilter.js","../node_modules/react-table/src/aggregations.js","../node_modules/react-table/src/plugin-hooks/useGroupBy.js","../node_modules/react-table/src/sortTypes.js","../node_modules/react-table/src/plugin-hooks/useSortBy.js","../node_modules/react-table/src/plugin-hooks/usePagination.js","../node_modules/react-table/src/plugin-hooks/_UNSTABLE_usePivotColumns.js","../node_modules/react-table/src/plugin-hooks/useRowSelect.js","../node_modules/react-table/src/plugin-hooks/useRowState.js","../node_modules/react-table/src/plugin-hooks/useColumnOrder.js","../node_modules/react-table/src/plugin-hooks/useResizeColumns.js","../node_modules/react-table/src/plugin-hooks/useAbsoluteLayout.js","../node_modules/react-table/src/plugin-hooks/useBlockLayout.js","../node_modules/react-table/src/plugin-hooks/useFlexLayout.js","../node_modules/react-table/src/plugin-hooks/useGridLayout.js","../node_modules/react-table/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../node_modules/sweetalert2/dist/sweetalert2.all.js","../node_modules/sweetalert/dist/sweetalert.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/use-sync-external-store/shim/with-selector.js","../node_modules/warning/warning.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/construct.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/get.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/@babel/runtime/helpers/toPrimitive.js","../node_modules/@babel/runtime/helpers/toPropertyKey.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/createChainedFunction.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/Collapse.js","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","jsx/layouts/nav/Menu.js","context/ThemeDemo.js","context/ThemeContext.js","jsx/layouts/nav/SideBar.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-icons/fa/index.esm.js","jsx/layouts/nav/NavHader.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/ui/esm/DropdownContext.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/dequal/dist/index.mjs","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@restart/ui/esm/popper.js","../node_modules/@restart/ui/esm/usePopper.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/@restart/ui/esm/useClickOutside.js","../node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","../node_modules/@restart/ui/esm/DropdownMenu.js","../node_modules/@react-aria/ssr/dist/packages/@react-aria/ssr/src/SSRProvider.tsx","../node_modules/@restart/ui/esm/DropdownToggle.js","../node_modules/@restart/ui/esm/SelectableContext.js","../node_modules/@restart/ui/esm/NavContext.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/DropdownItem.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/Dropdown.js","../node_modules/@restart/hooks/esm/useForceUpdate.js","../node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/react-bootstrap/esm/DropdownContext.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/@restart/hooks/esm/useResizeObserver.js","../node_modules/@restart/ui/esm/Anchor.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/DropdownItem.js","../node_modules/react-bootstrap/esm/InputGroupContext.js","../node_modules/react-bootstrap/esm/NavbarContext.js","../node_modules/react-bootstrap/esm/useWrappedRefWithWarning.js","../node_modules/react-bootstrap/esm/DropdownMenu.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/react-bootstrap/esm/DropdownToggle.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/react-bootstrap/esm/Dropdown.js","store/selectors/AuthSelectors.js","jsx/layouts/nav/Logout.js","images/svg/albania.svg","jsx/layouts/nav/Header.js","jsx/components/chatBox/Notes.js","jsx/components/chatBox/Alerts.js","jsx/components/chatBox/MsgBox.js","jsx/components/chatBox/Chat.js","jsx/layouts/ChatBox.js","jsx/layouts/nav/index.js","jsx/layouts/ScrollToTop.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/ui/esm/NoopTransition.js","../node_modules/@restart/ui/esm/ImperativeTransition.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/@restart/ui/esm/utils.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/react-bootstrap/esm/Modal.js","jsx/pages/sis/ModalOpciones/ModalTimbrado.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/CardImg.js","../node_modules/react-bootstrap/esm/CardHeaderContext.js","../node_modules/react-bootstrap/esm/CardHeader.js","../node_modules/react-bootstrap/esm/Card.js","../node_modules/react-bootstrap/esm/Table.js","Api/timbrado.js","jsx/pages/opciones/Otimbrado.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/react-select.esm.js","jsx/pages/sis/ModalOpciones/ModalCostos.js","Api/Costos.js","../node_modules/react-loader-spinner/dist/esm/type.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/styled-components/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/styled-components/src/utils/interleave.js","../node_modules/styled-components/src/utils/isPlainObject.js","../node_modules/styled-components/src/utils/empties.js","../node_modules/styled-components/src/utils/isFunction.js","../node_modules/styled-components/src/utils/getComponentName.js","../node_modules/styled-components/src/utils/isStyledComponent.js","../node_modules/styled-components/src/constants.js","../node_modules/styled-components/src/utils/error.js","../node_modules/styled-components/src/sheet/GroupedTag.js","../node_modules/styled-components/src/sheet/GroupIDAllocator.js","../node_modules/styled-components/src/sheet/Rehydration.js","../node_modules/styled-components/src/utils/nonce.js","../node_modules/styled-components/src/sheet/dom.js","../node_modules/styled-components/src/sheet/Tag.js","../node_modules/styled-components/src/sheet/Sheet.js","../node_modules/styled-components/src/utils/generateAlphabeticName.js","../node_modules/styled-components/src/utils/hash.js","../node_modules/styled-components/src/utils/isStaticRules.js","../node_modules/styled-components/src/models/ComponentStyle.js","../node_modules/styled-components/src/utils/stylis.js","../node_modules/styled-components/src/utils/stylisPluginInsertRule.js","../node_modules/styled-components/src/models/StyleSheetManager.js","../node_modules/styled-components/src/models/Keyframes.js","../node_modules/styled-components/src/utils/hyphenateStyleName.js","../node_modules/styled-components/src/utils/flatten.js","../node_modules/styled-components/src/utils/isStatelessFunction.js","../node_modules/styled-components/src/utils/addUnitIfNeeded.js","../node_modules/styled-components/src/constructors/css.js","../node_modules/styled-components/src/utils/checkDynamicCreation.js","../node_modules/styled-components/src/utils/determineTheme.js","../node_modules/styled-components/src/utils/escape.js","../node_modules/styled-components/src/utils/generateComponentId.js","../node_modules/styled-components/src/utils/isTag.js","../node_modules/styled-components/src/utils/mixinDeep.js","../node_modules/styled-components/src/models/ThemeProvider.js","../node_modules/styled-components/src/models/StyledComponent.js","../node_modules/styled-components/src/utils/generateDisplayName.js","../node_modules/styled-components/src/utils/joinStrings.js","../node_modules/styled-components/src/utils/domElements.js","../node_modules/styled-components/src/constructors/styled.js","../node_modules/styled-components/src/constructors/constructWithOptions.js","../node_modules/styled-components/src/models/GlobalStyle.js","../node_modules/styled-components/src/constructors/keyframes.js","../node_modules/styled-components/src/models/ServerStyleSheet.js","../node_modules/react-loader-spinner/dist/esm/loader/InfinitySpin.js","../node_modules/styled-components/src/base.js","../node_modules/styled-tools/dist/es/prop.js","../node_modules/styled-tools/dist/es/ifProp.js","../node_modules/react-loader-spinner/dist/esm/loader/RotatingLines.js","../node_modules/react-loader-spinner/dist/esm/helpers.js","../node_modules/react-loader-spinner/dist/esm/loader/Triangle.js","../node_modules/react-loader-spinner/dist/esm/loader/TailSpin.js","jsx/pages/opciones/ColumnFilter.js","jsx/pages/opciones/Columns.js","jsx/pages/opciones/GlobalFilter.js","jsx/pages/opciones/Ocostos.js","jsx/pages/sis/ModalOpciones/ModalFDP.js","Api/formaPago.js","jsx/pages/opciones/Oformasdepago.js","jsx/pages/sis/ModalOpciones/ModalSucursal.js","Api/sucursal.js","jsx/pages/opciones/Osucursal.js","jsx/pages/sis/ModalOpciones/ModalMoneda.js","Api/moneda.js","jsx/pages/opciones/Omoneda.js","jsx/pages/FacturaContado.js","../node_modules/react-bootstrap/esm/Row.js","jsx/pages/facturascontado/ColumnFilter.js","jsx/pages/facturascontado/Columns.js","jsx/pages/facturascontado/GlobalFilter.js","Api/facturacion.js","jsx/pages/facturascontado/Depositado.js","jsx/pages/facturascontado/ModalDepositar/ModalDepositar.js","jsx/pages/facturascontado/Nodepositado.js","jsx/pages/FacturaCredito.js","jsx/pages/ColumnFilter.js","jsx/pages/Columns.js","jsx/pages/GlobalFilter.js","../node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","../node_modules/react-to-pdf/dist/src/constants.ts","../node_modules/react-to-pdf/dist/src/converter.ts","../node_modules/react-to-pdf/dist/src/utils.ts","../node_modules/react-to-pdf/dist/src/index.ts","../node_modules/xlsx/xlsx.mjs","../node_modules/react-json-to-excel/dist/index.es.js","jsx/pages/sis/ModalOpciones/ModalReporteDia.js","jsx/pages/Reportes.js","jsx/pages/sis/ModalOpciones/ModalPDV.js","Api/puntoVenta.js","jsx/pages/opciones/Opuntodeventa.js","jsx/pages/facturacion/ColumnFilter.js","jsx/pages/facturacion/Columns.js","jsx/pages/facturacion/GlobalFilter.js","jsx/pages/sis/ModalFacturacion/ModalAgregarCliente.js","jsx/pages/sis/ModalFacturacion/ModalCliente.js","Api/cliente.js","jsx/pages/facturacion/Clientes.js","jsx/pages/facturacion/Facturas.js","../node_modules/react-bootstrap/esm/ButtonGroup.js","jsx/pages/facturacion/Fichas/FichaCliente.js","jsx/pages/facturacion/Fichas/ModalFichaFactura/ModalDeposito.js","jsx/pages/facturacion/Fichas/ModalFichaFactura/ModalModFecha.js","jsx/pages/pdfWriter.js","jsx/pages/facturacion/Fichas/FichaFactura.js","jsx/pages/facturascredito/Vencimientos.js","jsx/pages/facturascredito/ColumnFilter.js","jsx/pages/facturascredito/Columns.js","jsx/pages/facturascredito/GlobalFilter.js","jsx/pages/facturascredito/Cobranza.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormRange.js","../node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/react-bootstrap/esm/Form.js","jsx/pages/TableRows.js","jsx/pages/Preview.js","jsx/pages/Generarfactura.js","jsx/AppLogout.js","jsx/pages/compras/ColumnFilter.js","jsx/pages/compras/Columns.js","jsx/pages/compras/GlobalFilter.js","jsx/pages/compras/ModalCompras/AgregarProveedores.js","Api/Proveedores.js","jsx/pages/compras/Proveedores.js","jsx/pages/compras/Compras.js","jsx/pages/compras/Listadecompras.js","jsx/pages/compras/Reportecompras.js","../node_modules/date-fns/locale/es/_lib/formatDistance.mjs","../node_modules/date-fns/locale/_lib/buildFormatLongFn.mjs","../node_modules/date-fns/locale/es/_lib/formatLong.mjs","../node_modules/date-fns/locale/es/_lib/formatRelative.mjs","../node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs","../node_modules/date-fns/locale/es/_lib/localize.mjs","../node_modules/date-fns/locale/_lib/buildMatchFn.mjs","../node_modules/date-fns/locale/es/_lib/match.mjs","../node_modules/date-fns/locale/_lib/buildMatchPatternFn.mjs","../node_modules/date-fns/locale/es.mjs","jsx/pages/compras/TableRows.js","jsx/pages/compras/ModalCompras/PreviewCompra.js","jsx/pages/compras/GenerarCompra.js","jsx/pages/compras/FichaFacturaCompra.js","jsx/index.js","App.js","reportWebVitals.js","../node_modules/redux/es/redux.js","store/actions/PostTypes.js","store/reducers/PostsReducer.js","../node_modules/redux-thunk/es/index.js","store/reducers/AuthReducer.js","store/reducers/Reducers.js","store/store.js","index.js"],"sourcesContent":["import { CALL_API2 } from \"../Utils/const\";\r\nimport { getAuthToken } from \"../context/auth-context\";\r\n\r\nexport async function getAllUsuarios() {\r\n const token = getAuthToken();\r\n const result = await fetch(`${CALL_API2}/usuario`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n\r\n const data = await result.json();\r\n\r\n if (!result.ok) {\r\n throw new Error(data.message);\r\n }\r\n\r\n return data.result;\r\n}\r\n\r\nexport async function getUsuarioById(idUsuario) {\r\n const token = getAuthToken();\r\n const response = await fetch(`${CALL_API2}/usuario/${idUsuario}`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n const data = await response.json();\r\n\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.result;\r\n}\r\n\r\nexport async function getUserCredentials() {\r\n const token = getAuthToken();\r\n const response = await fetch(`${CALL_API2}/user-credentials`, {\r\n headers: { Authorization: \"Bearer \" + token },\r\n });\r\n const data = await response.json();\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.userData;\r\n}\r\n\r\nexport async function signUpUser(userObject) {\r\n const { usuario, password, cedula, nombre } = userObject;\r\n const token = getAuthToken();\r\n const response = await fetch(`${CALL_API2}/signup`, {\r\n method: \"POST\",\r\n headers: {\r\n headers: { Authorization: `Bearer ${token}` },\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n usuario: usuario,\r\n password: password,\r\n cedula: cedula,\r\n nombre: nombre,\r\n }),\r\n });\r\n\r\n const data = await response.json();\r\n\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n\r\n return data.isSaved;\r\n}\r\n\r\nexport async function login(usuarioObject) {\r\n const { usuario, password } = usuarioObject;\r\n const response = await fetch(`${CALL_API2}/login`, {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({\r\n usuario: usuario,\r\n password: password,\r\n }),\r\n });\r\n\r\n const data = await response.json();\r\n if (!response.ok) {\r\n console.log(data);\r\n throw new Error(data.message);\r\n }\r\n\r\n return data.token;\r\n}\r\n","export const CALL_API2 = \"https://eethsa.xyz/eethsa2/api\";\r\n\r\nexport const CONTADO = Object.freeze({\r\n value: \"Contado\",\r\n label: \"Contado\",\r\n});\r\n\r\nexport const CREDITO = Object.freeze({ value: \"Credito\", label: \"Credito\" });\r\nexport const Cajachica = Object.freeze({ value: \"Caja Chica\", label: \"Caja Chica\" });\r\nexport const Proveedores = Object.freeze({ value: \"Proveedores\", label: \"Proveedores\" });\r\nexport const Prestadores = Object.freeze({ value: \"Prestadores\", label: \"Prestadores\" });\r\nexport const TYPE_FACTURA = [CONTADO, CREDITO];\r\nexport const TYPE_DESTINO_COMPRA = [Cajachica, Proveedores,Prestadores];\r\n","import { useEffect, createContext } from \"react\";\r\n\r\nconst AuthContext = createContext({\r\n token: \"\",\r\n isLogged: false,\r\n login: (token, expirationDate) => {},\r\n logout: () => {},\r\n});\r\n\r\nexport function getTokenDuration() {\r\n const storedTokenDuration = localStorage.getItem(\"expirationDate\");\r\n const expirationDate = new Date(storedTokenDuration);\r\n const now = new Date();\r\n const duration = expirationDate - now;\r\n return duration;\r\n}\r\n\r\nexport function getAuthToken() {\r\n const token = localStorage.getItem(\"token\");\r\n if (!token) return null;\r\n const tokenDuration = getTokenDuration();\r\n if (tokenDuration < 0) return null;\r\n return token;\r\n}\r\n\r\nexport function logout() {\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"expirationDate\");\r\n}\r\n\r\nexport function login(token, expirationDate) {\r\n localStorage.setItem(\"token\", token);\r\n localStorage.setItem(\"expirationDate\", expirationDate);\r\n}\r\n\r\nexport const AuthContextProvider = (props) => {\r\n const { children } = props;\r\n const tokenData = getAuthToken();\r\n const isAuthUser = tokenData ? true : false;\r\n\r\n useEffect(() => {\r\n if (!tokenData) logout();\r\n }, [tokenData]);\r\n\r\n const contextValue = {\r\n token: tokenData,\r\n isLogged: isAuthUser,\r\n login: login,\r\n logout: logout,\r\n };\r\n\r\n return (\r\n {children}\r\n );\r\n};\r\n\r\nexport default AuthContext;\r\n","'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n value: true\r\n});\r\n\r\n/*\r\n * NumerosALetras.js\r\n * The MIT License (MIT)\r\n *\r\n * Copyright (c) 2016 Daniel M. Spiridione\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the 'Software'), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n *\r\n * @author Daniel M. Spiridione (info@daniel-spiridione.com.ar)\r\n */\r\nfunction unidades(num) {\r\n switch (num) {\r\n case 1:\r\n return 'Un';\r\n case 2:\r\n return 'Dos';\r\n case 3:\r\n return 'Tres';\r\n case 4:\r\n return 'Cuatro';\r\n case 5:\r\n return 'Cinco';\r\n case 6:\r\n return 'Seis';\r\n case 7:\r\n return 'Siete';\r\n case 8:\r\n return 'Ocho';\r\n case 9:\r\n return 'Nueve';\r\n default:\r\n return '';\r\n }\r\n}\r\n\r\nfunction decenasY(strSin, numUnidades) {\r\n if (numUnidades > 0) {\r\n return strSin + ' y ' + unidades(numUnidades);\r\n }\r\n\r\n return strSin;\r\n}\r\n\r\nfunction decenas(num) {\r\n var numDecena = Math.floor(num / 10);\r\n var numUnidad = num - numDecena * 10;\r\n\r\n switch (numDecena) {\r\n case 1:\r\n switch (numUnidad) {\r\n case 0:\r\n return 'Diez';\r\n case 1:\r\n return 'Once';\r\n case 2:\r\n return 'Doce';\r\n case 3:\r\n return 'Trece';\r\n case 4:\r\n return 'Catorce';\r\n case 5:\r\n return 'Quince';\r\n default:\r\n return 'Dieci' + unidades(numUnidad).toLowerCase();\r\n }\r\n case 2:\r\n switch (numUnidad) {\r\n case 0:\r\n return 'Veinte';\r\n default:\r\n return 'Veinti' + unidades(numUnidad).toLowerCase();\r\n }\r\n case 3:\r\n return decenasY('Treinta', numUnidad);\r\n case 4:\r\n return decenasY('Cuarenta', numUnidad);\r\n case 5:\r\n return decenasY('Cincuenta', numUnidad);\r\n case 6:\r\n return decenasY('Sesenta', numUnidad);\r\n case 7:\r\n return decenasY('Setenta', numUnidad);\r\n case 8:\r\n return decenasY('Ochenta', numUnidad);\r\n case 9:\r\n return decenasY('Noventa', numUnidad);\r\n case 0:\r\n return unidades(numUnidad);\r\n default:\r\n return '';\r\n }\r\n}\r\n\r\nfunction centenas(num) {\r\n var numCentenas = Math.floor(num / 100);\r\n var numDecenas = num - numCentenas * 100;\r\n\r\n switch (numCentenas) {\r\n case 1:\r\n if (numDecenas > 0) {\r\n return 'Ciento ' + decenas(numDecenas);\r\n }\r\n return 'Cien';\r\n case 2:\r\n return 'Doscientos ' + decenas(numDecenas);\r\n case 3:\r\n return 'Trescientos ' + decenas(numDecenas);\r\n case 4:\r\n return 'Cuatrocientos ' + decenas(numDecenas);\r\n case 5:\r\n return 'Quinientos ' + decenas(numDecenas);\r\n case 6:\r\n return 'Seiscientos ' + decenas(numDecenas);\r\n case 7:\r\n return 'Setecientos ' + decenas(numDecenas);\r\n case 8:\r\n return 'Ochocientos ' + decenas(numDecenas);\r\n case 9:\r\n return 'Novecientos ' + decenas(numDecenas);\r\n default:\r\n return decenas(numDecenas);\r\n }\r\n}\r\n\r\nfunction seccion(num, divisor, strSingular, strPlural) {\r\n var numCientos = Math.floor(num / divisor);\r\n var numResto = num - numCientos * divisor;\r\n\r\n var letras = '';\r\n\r\n if (numCientos > 0) {\r\n if (numCientos > 1) {\r\n letras = centenas(numCientos) + ' ' + strPlural;\r\n } else {\r\n letras = strSingular;\r\n }\r\n }\r\n\r\n if (numResto > 0) {\r\n letras += '';\r\n }\r\n\r\n return letras;\r\n}\r\n\r\nfunction miles(num) {\r\n var divisor = 1000;\r\n var numCientos = Math.floor(num / divisor);\r\n var numResto = num - numCientos * divisor;\r\n var strMiles = seccion(num, divisor, 'Un Mil', 'Mil');\r\n var strCentenas = centenas(numResto);\r\n\r\n if (strMiles === '') {\r\n return strCentenas;\r\n }\r\n\r\n return (strMiles + ' ' + strCentenas).trim();\r\n}\r\n\r\nfunction millones(num) {\r\n var divisor = 1000000;\r\n var numCientos = Math.floor(num / divisor);\r\n var numResto = num - numCientos * divisor;\r\n var strMillones = seccion(num, divisor, 'Un Millón', 'Millones');\r\n var strMiles = miles(numResto);\r\n\r\n if (strMillones === '') {\r\n return strMiles;\r\n }\r\n\r\n return (strMillones + ' ' + strMiles).trim();\r\n}\r\n\r\nfunction NumerosALetras(num) {\r\n var data = {\r\n numero: num,\r\n enteros: Math.floor(num),\r\n centavos: Math.round(num * 100) - Math.floor(num) * 100,\r\n letrasCentavos: '',\r\n letrasMonedaPlural: '',\r\n letrasMonedaSingular: '',\r\n letrasMonedaCentavoPlural: '',\r\n letrasMonedaCentavoSingular: ''\r\n };\r\n\r\n if (data.centavos >= 0) {\r\n data.letrasCentavos = function () {\r\n if (data.centavos >= 1 & data.centavos <= 9) {\r\n return '' + data.centavos + data.letrasMonedaCentavoSingular;\r\n }\r\n\r\n if (data.centavos === 0) {\r\n return '' + data.letrasMonedaCentavoSingular;\r\n }\r\n\r\n return data.centavos + data.letrasMonedaCentavoPlural;\r\n }();\r\n }\r\n\r\n if (data.enteros === 0) {\r\n return ('Cero ' + data.letrasMonedaPlural + ' ' + data.letrasCentavos).trim();\r\n }\r\n\r\n if (data.enteros === 1) {\r\n return (millones(data.enteros) + ' ' + data.letrasMonedaSingular + ' ' + data.letrasCentavos).trim();\r\n }\r\n\r\n return (millones(data.enteros) + ' ' + data.letrasMonedaPlural + ' ' + data.letrasCentavos).trim();\r\n}\r\n\r\nexports.NumerosALetras = NumerosALetras;","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else {\n requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.4.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from 'axios';\r\nimport swal from \"sweetalert\";\r\nimport {\r\n loginConfirmedAction,\r\n Logout,\r\n} from '../store/actions/AuthActions';\r\n\r\nexport function signUp(email, password) {\r\n //axios call\r\n const postData = {\r\n email,\r\n password,\r\n returnSecureToken: true,\r\n };\r\n return axios.post(\r\n `https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=AIzaSyD3RPAp3nuETDn9OQimqn_YF6zdzqWITII`,\r\n postData,\r\n );\r\n}\r\n\r\nexport function login(email, password) {\r\n const postData = {\r\n email,\r\n password,\r\n returnSecureToken: true,\r\n };\r\n return axios.post(\r\n `https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=AIzaSyD3RPAp3nuETDn9OQimqn_YF6zdzqWITII`,\r\n postData,\r\n );\r\n}\r\n\r\nexport function formatError(errorResponse) {\r\n switch (errorResponse.error.message) {\r\n case 'EMAIL_EXISTS':\r\n //return 'Email already exists';\r\n swal(\"Oops\", \"Email already exists\", \"error\");\r\n break;\r\n case 'EMAIL_NOT_FOUND':\r\n //return 'Email not found';\r\n swal(\"Oops\", \"Email not found\", \"error\",{ button: \"Try Again!\",});\r\n break;\r\n case 'INVALID_PASSWORD':\r\n //return 'Invalid Password';\r\n swal(\"Oops\", \"Invalid Password\", \"error\",{ button: \"Try Again!\",});\r\n break;\r\n case 'USER_DISABLED':\r\n return 'User Disabled';\r\n\r\n default:\r\n return '';\r\n }\r\n}\r\n\r\nexport function saveTokenInLocalStorage(tokenDetails) {\r\n tokenDetails.expireDate = new Date(\r\n new Date().getTime() + tokenDetails.expiresIn * 1000,\r\n );\r\n localStorage.setItem('userDetails', JSON.stringify(tokenDetails));\r\n}\r\n\r\nexport function runLogoutTimer(dispatch, timer, navigate) {\r\n setTimeout(() => {\r\n //dispatch(Logout(history));\r\n dispatch(Logout(navigate));\r\n }, timer);\r\n}\r\n\r\nexport function checkAutoLogin(dispatch, navigate) {\r\n const tokenDetailsString = localStorage.getItem('userDetails');\r\n let tokenDetails = '';\r\n if (!tokenDetailsString) {\r\n dispatch(Logout(navigate));\r\n\t\treturn;\r\n }\r\n\r\n tokenDetails = JSON.parse(tokenDetailsString);\r\n let expireDate = new Date(tokenDetails.expireDate);\r\n let todaysDate = new Date();\r\n\r\n if (todaysDate > expireDate) {\r\n dispatch(Logout(navigate));\r\n return;\r\n }\r\n\t\t\r\n dispatch(loginConfirmedAction(tokenDetails));\r\n\t\r\n const timer = expireDate.getTime() - todaysDate.getTime();\r\n runLogoutTimer(dispatch, timer, navigate);\r\n}\r\n\r\nexport function isLogin() {\r\n const tokenDetailsString = localStorage.getItem('userDetails');\r\n\r\n if (tokenDetailsString) {\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n}\r\n","\r\n\r\nimport {\r\n formatError,\r\n login,\r\n runLogoutTimer,\r\n saveTokenInLocalStorage,\r\n signUp,\r\n} from \"../../services/AuthService\";\r\n\r\nexport const SIGNUP_CONFIRMED_ACTION = \"[signup action] confirmed signup\";\r\nexport const SIGNUP_FAILED_ACTION = \"[signup action] failed signup\";\r\nexport const LOGIN_CONFIRMED_ACTION = \"[login action] confirmed login\";\r\nexport const LOGIN_FAILED_ACTION = \"[login action] failed login\";\r\nexport const LOADING_TOGGLE_ACTION = \"[Loading action] toggle loading\";\r\nexport const LOGOUT_ACTION = \"[Logout action] logout action\";\r\n\r\nexport function signupAction(email, password, navigate) {\r\n return (dispatch) => {\r\n signUp(email, password)\r\n .then((response) => {\r\n saveTokenInLocalStorage(response.data);\r\n runLogoutTimer(\r\n dispatch,\r\n response.data.expiresIn * 1000\r\n //history,\r\n );\r\n dispatch(confirmedSignupAction(response.data));\r\n navigate(\"/Facturas\");\r\n //history.push('/dashboard');\r\n })\r\n .catch((error) => {\r\n const errorMessage = formatError(error.response.data);\r\n dispatch(signupFailedAction(errorMessage));\r\n });\r\n };\r\n}\r\n\r\nexport function Logout(navigate) {\r\n localStorage.removeItem(\"userDetails\");\r\n navigate(\"/login\");\r\n //history.push('/login');\r\n\r\n return {\r\n type: LOGOUT_ACTION,\r\n };\r\n}\r\n\r\nexport function loginAction(email, password, navigate) {\r\n return (dispatch) => {\r\n login(email, password)\r\n .then((response) => {\r\n saveTokenInLocalStorage(response.data);\r\n //runLogoutTimer(dispatch, response.data.expiresIn * 1000, navigate);\r\n dispatch(loginConfirmedAction(response.data));\r\n //console.log('kk------1');\r\n //console.log(kk);\r\n //console.log(response.data);\r\n //console.log('kk------2');\r\n //return response.data;\r\n //return 'success';\r\n //history.push('/dashboard');\r\n navigate(\"/Facturas\");\r\n })\r\n .catch((error) => {\r\n //console.log('error');\r\n //console.log(error);\r\n const errorMessage = formatError(error.response.data);\r\n dispatch(loginFailedAction(errorMessage));\r\n });\r\n };\r\n}\r\n\r\nexport function loginFailedAction(data) {\r\n return {\r\n type: LOGIN_FAILED_ACTION,\r\n payload: data,\r\n };\r\n}\r\n\r\nexport function loginConfirmedAction(data) {\r\n return {\r\n type: LOGIN_CONFIRMED_ACTION,\r\n payload: data,\r\n };\r\n}\r\n\r\nexport function confirmedSignupAction(payload) {\r\n return {\r\n type: SIGNUP_CONFIRMED_ACTION,\r\n payload,\r\n };\r\n}\r\n\r\nexport function signupFailedAction(message) {\r\n return {\r\n type: SIGNUP_FAILED_ACTION,\r\n payload: message,\r\n };\r\n}\r\n\r\nexport function loadingToggleAction(status) {\r\n return {\r\n type: LOADING_TOGGLE_ACTION,\r\n payload: status,\r\n };\r\n}\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nvar useScrollPosition_1 = require(\"./useScrollPosition\");\r\nObject.defineProperty(exports, \"useScrollPosition\", { enumerable: true, get: function () { return useScrollPosition_1.useScrollPosition; } });\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.useIsomorphicLayoutEffect = void 0;\r\nconst react_1 = require(\"react\");\r\nexports.useIsomorphicLayoutEffect = typeof window !== 'undefined' ? react_1.useLayoutEffect : react_1.useEffect;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.useScrollPosition = void 0;\r\nconst react_1 = require(\"react\");\r\nconst useIsomorphicLayoutEffect_1 = require(\"./useIsomorphicLayoutEffect\");\r\nconst isBrowser = typeof window !== `undefined`;\r\nconst zeroPosition = { x: 0, y: 0 };\r\nconst getClientRect = (element) => element === null || element === void 0 ? void 0 : element.getBoundingClientRect();\r\nconst getScrollPosition = ({ element, useWindow, boundingElement, }) => {\r\n if (!isBrowser) {\r\n return zeroPosition;\r\n }\r\n if (useWindow) {\r\n return { x: window.scrollX, y: window.scrollY };\r\n }\r\n const targetPosition = getClientRect((element === null || element === void 0 ? void 0 : element.current) || document.body);\r\n const containerPosition = getClientRect(boundingElement === null || boundingElement === void 0 ? void 0 : boundingElement.current);\r\n if (!targetPosition) {\r\n return zeroPosition;\r\n }\r\n return containerPosition\r\n ? {\r\n x: (containerPosition.x || 0) - (targetPosition.x || 0),\r\n y: (containerPosition.y || 0) - (targetPosition.y || 0),\r\n }\r\n : { x: targetPosition.left, y: targetPosition.top };\r\n};\r\nexports.useScrollPosition = (effect, deps, element, useWindow, wait, boundingElement) => {\r\n const position = react_1.useRef(getScrollPosition({ useWindow, boundingElement }));\r\n let throttleTimeout = null;\r\n const callBack = () => {\r\n const currPos = getScrollPosition({ element, useWindow, boundingElement });\r\n effect({ prevPos: position.current, currPos });\r\n position.current = currPos;\r\n throttleTimeout = null;\r\n };\r\n useIsomorphicLayoutEffect_1.useIsomorphicLayoutEffect(() => {\r\n var _a;\r\n if (!isBrowser) {\r\n return undefined;\r\n }\r\n const handleScroll = () => {\r\n if (wait) {\r\n if (throttleTimeout === null) {\r\n throttleTimeout = setTimeout(callBack, wait);\r\n }\r\n }\r\n else {\r\n callBack();\r\n }\r\n };\r\n if (boundingElement) {\r\n (_a = boundingElement.current) === null || _a === void 0 ? void 0 : _a.addEventListener('scroll', handleScroll, { passive: true });\r\n }\r\n else {\r\n window.addEventListener('scroll', handleScroll, { passive: true });\r\n }\r\n return () => {\r\n var _a;\r\n if (boundingElement) {\r\n (_a = boundingElement.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('scroll', handleScroll);\r\n }\r\n else {\r\n window.removeEventListener('scroll', handleScroll);\r\n }\r\n if (throttleTimeout) {\r\n clearTimeout(throttleTimeout);\r\n }\r\n };\r\n }, deps);\r\n};\r\nexports.useScrollPosition.defaultProps = {\r\n deps: [],\r\n element: false,\r\n useWindow: false,\r\n wait: null,\r\n boundingElement: false,\r\n};\r\n","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: any;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. May be either a URL or the pieces of a\n * URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nexport function warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { warning, invariant, parsePath } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\ntype LowerCaseFormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\ntype UpperCaseFormMethod = Uppercase;\n\n/**\n * Users can specify either lowercase or uppercase form methods on
,\n * useSubmit(), , etc.\n */\nexport type HTMLFormMethod = LowerCaseFormMethod | UpperCaseFormMethod;\n\n/**\n * Active navigation/fetcher form methods are exposed in lowercase on the\n * RouterState\n */\nexport type FormMethod = LowerCaseFormMethod;\nexport type MutationFormMethod = Exclude;\n\n/**\n * In v7, active navigation/fetcher form methods are exposed in uppercase on the\n * RouterState. This is to align with the normalization done via fetch().\n */\nexport type V7_FormMethod = UpperCaseFormMethod;\nexport type V7_MutationFormMethod = Exclude;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\"\n | \"application/json\"\n | \"text/plain\";\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport type Submission =\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n json: undefined;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: JsonValue;\n text: undefined;\n }\n | {\n formMethod: FormMethod | V7_FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: undefined;\n json: undefined;\n text: string;\n };\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: any;\n}\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Loaders and actions can return anything except `undefined` (`null` is a\n * valid return value if there is no data to return). Responses are preferred\n * and will ease any future migration to Remix\n */\ntype DataFunctionValue = Response | NonNullable | null;\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs): Promise | DataFunctionValue;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs): Promise | DataFunctionValue;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n text?: Submission[\"text\"];\n formData?: Submission[\"formData\"];\n json?: Submission[\"json\"];\n actionResult?: DataResult;\n defaultShouldRevalidate: boolean;\n }): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set `hasErrorBoundary`\n * from the framework-aware `errorElement` prop\n *\n * @deprecated Use `mapRouteProperties` instead\n */\nexport interface DetectErrorBoundaryFunction {\n (route: AgnosticRouteObject): boolean;\n}\n\n/**\n * Function provided by the framework-aware layers to set any framework-specific\n * properties from framework-agnostic properties\n */\nexport interface MapRoutePropertiesFunction {\n (route: AgnosticRouteObject): {\n hasErrorBoundary: boolean;\n } & Record;\n}\n\n/**\n * Keys we cannot change from within a lazy() function. We spread all other keys\n * onto the route. Either they're meaningful to the router, or they'll get\n * ignored.\n */\nexport type ImmutableRouteKey =\n | \"lazy\"\n | \"caseSensitive\"\n | \"path\"\n | \"id\"\n | \"index\"\n | \"children\";\n\nexport const immutableRouteKeys = new Set([\n \"lazy\",\n \"caseSensitive\",\n \"path\",\n \"id\",\n \"index\",\n \"children\",\n]);\n\ntype RequireOne = Exclude<\n {\n [K in keyof T]: K extends Key ? Omit & Required> : never;\n }[keyof T],\n undefined\n>;\n\n/**\n * lazy() function to load a route definition, which can add non-matching\n * related properties to a route\n */\nexport interface LazyRouteFunction {\n (): Promise>>;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n lazy?: LazyRouteFunction;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\nexport type RouteManifest = Record;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam =\n // check if path is just a wildcard\n Path extends \"*\" | \"/*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n mapRouteProperties: MapRoutePropertiesFunction,\n parentPath: number[] = [],\n manifest: RouteManifest = {}\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !manifest[id],\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n ...mapRouteProperties(route),\n id,\n children: undefined,\n };\n manifest[id] = pathOrLayoutRoute;\n\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(\n route.children,\n mapRouteProperties,\n treePath,\n manifest\n );\n }\n\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(\n branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname)\n );\n }\n\n return matches;\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explodes _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nexport function generatePath(\n originalPath: Path,\n params: {\n [key in PathParam]: string | null;\n } = {} as any\n): string {\n let path: string = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\n const stringify = (p: any) =>\n p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\n const segments = path\n .split(/\\/+/)\n .map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\" as PathParam;\n // Apply the splat\n return stringify(params[star]);\n }\n\n const keyMatch = segment.match(/^:(\\w+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key as PathParam];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter((segment) => !!segment);\n\n return prefix + segments.join(\"/\");\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"/([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURI(value: string) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, undefined, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\n `Deferred data for key \"${key}\" resolved/rejected with \\`undefined\\`, ` +\n `you must resolve/reject with a value or \\`null\\`.`\n );\n Object.defineProperty(promise, \"_error\", { get: () => undefinedError });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record,\n init?: number | ResponseInit\n) => DeferredData;\n\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n error?: Error;\n internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n warning,\n} from \"./history\";\nimport type {\n DataResult,\n DeferredData,\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DeferredResult,\n ErrorResult,\n FormEncType,\n FormMethod,\n DetectErrorBoundaryFunction,\n RedirectResult,\n RouteData,\n AgnosticRouteObject,\n Submission,\n SuccessResult,\n AgnosticRouteMatch,\n ShouldRevalidateFunction,\n RouteManifest,\n ImmutableRouteKey,\n ActionFunction,\n LoaderFunction,\n V7_MutationFormMethod,\n V7_FormMethod,\n HTMLFormMethod,\n MutationFormMethod,\n MapRoutePropertiesFunction,\n} from \"./utils\";\nimport {\n ErrorResponse,\n ResultType,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n immutableRouteKeys,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n resolveTo,\n stripBasename,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To | null, opts?: RouterNavigateOptions): Promise;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key?: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key?: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n\n /**\n * Map of current blockers\n */\n blockers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Future flags to toggle new feature behavior\n */\nexport interface FutureConfig {\n v7_normalizeFormMethod: boolean;\n v7_prependBasename: boolean;\n}\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n routes: AgnosticRouteObject[];\n history: History;\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n future?: Partial;\n hydrationData?: HydrationState;\n window?: Window;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n activeDeferreds: Record | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: { requestContext?: unknown }\n ): Promise;\n queryRoute(\n request: Request,\n opts?: { routeId?: string; requestContext?: unknown }\n ): Promise;\n}\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (state: RouterState): void;\n}\n\ninterface UseMatchesMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: unknown;\n handle: unknown;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UseMatchesMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\n// Allowed for any navigation or fetch\ntype BaseNavigateOrFetchOptions = {\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n};\n\n// Only allowed for navigations\ntype BaseNavigateOptions = BaseNavigateOrFetchOptions & {\n replace?: boolean;\n state?: any;\n fromRouteId?: string;\n};\n\n// Only allowed for submission navigations\ntype BaseSubmissionOptions = {\n formMethod?: HTMLFormMethod;\n formEncType?: FormEncType;\n} & (\n | { formData: FormData; body?: undefined }\n | { formData?: undefined; body: any }\n);\n\n/**\n * Options for a navigate() call for a normal (non-submission) navigation\n */\ntype LinkNavigateOptions = BaseNavigateOptions;\n\n/**\n * Options for a navigate() call for a submission navigation\n */\ntype SubmissionNavigateOptions = BaseNavigateOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to navigate() for a navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options for a fetch() load\n */\ntype LoadFetchOptions = BaseNavigateOrFetchOptions;\n\n/**\n * Options for a fetch() submission\n */\ntype SubmitFetchOptions = BaseNavigateOrFetchOptions & BaseSubmissionOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions = LoadFetchOptions | SubmitFetchOptions;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n json: undefined;\n text: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n text: Submission[\"text\"] | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n text: Submission[\"text\"];\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n text: undefined;\n formData: undefined;\n json: undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Loading: {\n state: \"loading\";\n formMethod: Submission[\"formMethod\"] | undefined;\n formAction: Submission[\"formAction\"] | undefined;\n formEncType: Submission[\"formEncType\"] | undefined;\n text: Submission[\"text\"] | undefined;\n formData: Submission[\"formData\"] | undefined;\n json: Submission[\"json\"] | undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: Submission[\"formMethod\"];\n formAction: Submission[\"formAction\"];\n formEncType: Submission[\"formEncType\"];\n text: Submission[\"text\"];\n formData: Submission[\"formData\"];\n json: Submission[\"json\"];\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Error thrown from the current action, keyed by the route containing the\n * error boundary to render the error. To be committed to the state after\n * loaders have completed\n */\n pendingActionError?: RouteData;\n /**\n * Data returned from the current action, keyed by the route owning the action.\n * To be committed to the state after loaders have completed\n */\n pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n controller: AbortController | null;\n}\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n type: ResultType.data | ResultType.error;\n response: Response;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst defaultMapRouteProperties: MapRoutePropertiesFunction = (route) => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary),\n});\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n const routerWindow = init.window\n ? init.window\n : typeof window !== \"undefined\"\n ? window\n : undefined;\n const isBrowser =\n typeof routerWindow !== \"undefined\" &&\n typeof routerWindow.document !== \"undefined\" &&\n typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n // Routes keyed by ID\n let manifest: RouteManifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(\n init.routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future: FutureConfig = {\n v7_normalizeFormMethod: false,\n v7_prependBasename: false,\n ...init.future,\n };\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n let initialized =\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n !initialMatches.some((m) => m.route.lazy) &&\n // And we have to either have no loaders or have been provided hydrationData\n (!initialMatches.some((m) => m.route.loader) || init.hydrationData != null);\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: string[] = [];\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location);\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(newState: Partial): void {\n state = {\n ...state,\n ...newState,\n };\n subscribers.forEach((subscriber) => subscriber(state));\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n updateState({\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers,\n });\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To | null,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n to,\n opts?.fromRouteId,\n opts?.relative\n );\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n false,\n normalizedPath,\n opts\n );\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey!, IDLE_BLOCKER);\n updateState({ blockers });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n { overrideNavigation: state.navigation }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n submission?: Submission;\n fetcherSubmission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponse;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n });\n return;\n }\n\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\". For example, on /page#hash and submit a \n // which will default to a navigation to /page\n if (\n state.initialized &&\n !isRevalidationRequired &&\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionData: RouteData | undefined;\n let pendingError: RouteData | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError,\n };\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n { replace: opts.replace }\n );\n\n if (actionOutput.shortCircuited) {\n return;\n }\n\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n\n // Create a GET request for the loaders\n request = new Request(request.url, { signal: request.signal });\n }\n\n // Call loaders\n let { shortCircuited, loaderData, errors } = await handleLoaders(\n request,\n location,\n matches,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.fetcherSubmission,\n opts && opts.replace,\n pendingActionData,\n pendingError\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n opts: { replace?: boolean } = {}\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({ navigation });\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace =\n result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, { submission, replace });\n return { shortCircuited: true };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: { [boundaryMatch.route.id]: result.error },\n };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n return {\n pendingActionData: { [actionMatch.route.id]: result.data },\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n overrideNavigation?: Navigation,\n submission?: Submission,\n fetcherSubmission?: Submission,\n replace?: boolean,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation =\n overrideNavigation || getLoadingNavigation(location, submission);\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission =\n submission ||\n fetcherSubmission ||\n getSubmissionFromNavigation(loadingNavigation);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n pendingActionData,\n pendingError\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n pendingNavigationLoadId = ++incrementingLoadId;\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n ...(updatedFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n });\n return { shortCircuited: true };\n }\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n fetcher ? fetcher.data : undefined\n );\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState({\n navigation: loadingNavigation,\n ...(actionData\n ? Object.keys(actionData).length === 0\n ? { actionData: null }\n : { actionData }\n : {}),\n ...(revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n }\n\n revalidatingFetchers.forEach((rf) => {\n if (fetchControllers.has(rf.key)) {\n abortFetcher(rf.key);\n }\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n }\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey =\n revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n await startRedirectNavigation(state, redirect.result, { replace });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n matchesToLoad,\n loaderResults,\n pendingError,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers =\n updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\n return {\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? { fetchers: new Map(state.fetchers) } : {}),\n };\n }\n\n function getFetcher(key: string): Fetcher {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string | null,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n if (fetchControllers.has(key)) abortFetcher(key);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(\n state.location,\n state.matches,\n basename,\n future.v7_prependBasename,\n href,\n routeId,\n opts?.relative\n );\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: normalizedPath })\n );\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(\n future.v7_normalizeFormMethod,\n true,\n normalizedPath,\n opts\n );\n\n if (error) {\n setFetcherError(key, routeId, error);\n return;\n }\n\n let match = getTargetMatch(matches, path);\n\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error);\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher = getSubmittingFetcher(submission, existingFetcher);\n state.fetchers.set(key, fetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let actionResult = await callLoaderOrAction(\n \"action\",\n fetchRequest,\n match,\n requestMatches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n return;\n } else {\n fetchRedirectIds.add(key);\n let loadingFetcher = getLoadingFetcher(submission);\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n return startRedirectNavigation(state, actionResult, {\n submission,\n isFetchActionRedirect: true,\n });\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n fetchRedirectIds,\n routesToUse,\n basename,\n { [match.route.id]: actionResult.data },\n undefined // No need to send through errors since we short circuit above\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(\n undefined,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (fetchControllers.has(staleKey)) {\n abortFetcher(staleKey);\n }\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let abortPendingFetchRevalidations = () =>\n revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\n abortController.signal.addEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n abortController.signal.removeEventListener(\n \"abort\",\n abortPendingFetchRevalidations\n );\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey =\n revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n return startRedirectNavigation(state, redirect.result);\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n state.matches,\n matchesToLoad,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n ...(didAbortFetchLoads || revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher = getLoadingFetcher(\n submission,\n existingFetcher ? existingFetcher.data : undefined\n );\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n fetchControllers.set(key, abortController);\n\n let originatingLoadId = incrementingLoadId;\n let result: DataResult = await callLoaderOrAction(\n \"loader\",\n fetchRequest,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n );\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n let doneFetcher = getDoneFetcher(undefined);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n });\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n state: RouterState,\n redirect: RedirectResult,\n {\n submission,\n replace,\n isFetchActionRedirect,\n }: {\n submission?: Submission;\n replace?: boolean;\n isFetchActionRedirect?: boolean;\n } = {}\n ) {\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n\n let redirectLocation = createLocation(\n state.location,\n redirect.location,\n // TODO: This can be removed once we get rid of useTransition in Remix v2\n {\n _isRedirect: true,\n ...(isFetchActionRedirect ? { _isFetchActionRedirect: true } : {}),\n }\n );\n invariant(\n redirectLocation,\n \"Expected a location on the redirect navigation\"\n );\n // Check if this an absolute external redirect that goes to a new origin\n if (ABSOLUTE_URL_REGEX.test(redirect.location) && isBrowser) {\n let url = init.history.createURL(redirect.location);\n let isDifferentBasename = stripBasename(url.pathname, basename) == null;\n\n if (routerWindow.location.origin !== url.origin || isDifferentBasename) {\n if (replace) {\n routerWindow.location.replace(redirect.location);\n } else {\n routerWindow.location.assign(redirect.location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let activeSubmission =\n submission || getSubmissionFromNavigation(state.navigation);\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n if (\n redirectPreserveMethodStatusCodes.has(redirect.status) &&\n activeSubmission &&\n isMutationMethod(activeSubmission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: redirect.location,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else if (isFetchActionRedirect) {\n // For a fetch action redirect, we kick off a new loading navigation\n // without the fetcher submission, but we send it along for shouldRevalidate\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation: getLoadingNavigation(redirectLocation),\n fetcherSubmission: activeSubmission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else {\n // If we have a submission, we will preserve it through the redirect navigation\n let overrideNavigation = getLoadingNavigation(\n redirectLocation,\n activeSubmission\n );\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n }\n }\n\n async function callLoadersAndMaybeResolveData(\n currentMatches: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename\n )\n ),\n ...fetchersToLoad.map((f) => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\n \"loader\",\n createClientSideRequest(init.history, f.path, f.controller.signal),\n f.match,\n f.matches,\n manifest,\n mapRouteProperties,\n basename\n );\n } else {\n let error: ErrorResult = {\n type: ResultType.error,\n error: getInternalRouterError(404, { pathname: f.path }),\n };\n return error;\n }\n }),\n ]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n\n await Promise.all([\n resolveDeferredResults(\n currentMatches,\n matchesToLoad,\n loaderResults,\n loaderResults.map(() => request.signal),\n false,\n state.loaderData\n ),\n resolveDeferredResults(\n currentMatches,\n fetchersToLoad.map((f) => f.match),\n fetcherResults,\n fetchersToLoad.map((f) => (f.controller ? f.controller.signal : null)),\n true\n ),\n ]);\n\n return { results, loaderResults, fetcherResults };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n\n function setFetcherError(key: string, routeId: string, error: any) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n });\n }\n\n function deleteFetcher(key: string): void {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (\n fetchControllers.has(key) &&\n !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))\n ) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n invariant(controller, `Expected fetch controller: ${key}`);\n controller.abort();\n fetchControllers.delete(key);\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): boolean {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({ blockers });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function getScrollKey(location: Location, matches: AgnosticDataRouteMatch[]) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(\n location,\n matches.map((m) => createUseMatchesMatch(m, state.loaderData))\n );\n return key || location.key;\n }\n return location.key;\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(\n newRoutes,\n mapRouteProperties,\n undefined,\n manifest\n );\n }\n\n router = {\n get basename() {\n return basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\nexport interface CreateStaticHandlerOptions {\n basename?: string;\n /**\n * @deprecated Use `mapRouteProperties` instead\n */\n detectErrorBoundary?: DetectErrorBoundaryFunction;\n mapRouteProperties?: MapRoutePropertiesFunction;\n}\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: CreateStaticHandlerOptions\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let manifest: RouteManifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties: MapRoutePropertiesFunction;\n if (opts?.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts?.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = (route) => ({\n hasErrorBoundary: detectErrorBoundary(route),\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n\n let dataRoutes = convertRoutesToDataRoutes(\n routes,\n mapRouteProperties,\n undefined,\n manifest\n );\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(\n request: Request,\n { requestContext }: { requestContext?: unknown } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n }: { requestContext?: unknown; routeId?: string } = {}\n ): Promise {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error && !isRedirectResponse(e.response)) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n { isStaticRequest: true, isRouteRequest, requestContext }\n );\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(\n request,\n matches,\n requestContext,\n undefined,\n {\n [boundaryMatch.route.id]: result.error,\n }\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n\n return {\n ...context,\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch,\n pendingActionError?: RouteData\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (\n isRouteRequest &&\n !routeMatch?.route.loader &&\n !routeMatch?.route.lazy\n ) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(pendingActionError || {})[0]\n );\n let matchesToLoad = requestMatches.filter(\n (m) => m.route.loader || m.route.lazy\n );\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n manifest,\n mapRouteProperties,\n basename,\n { isStaticRequest: true, isRouteRequest, requestContext }\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingActionError,\n activeDeferreds\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction isSubmissionNavigation(\n opts: RouterNavigateOptions\n): opts is SubmissionNavigateOptions {\n return (\n opts != null &&\n ((\"formData\" in opts && opts.formData != null) ||\n (\"body\" in opts && opts.body !== undefined))\n );\n}\n\nfunction normalizeTo(\n location: Path,\n matches: AgnosticDataRouteMatch[],\n basename: string,\n prependBasename: boolean,\n to: To | null,\n fromRouteId?: string,\n relative?: RelativeRoutingType\n) {\n let contextualMatches: AgnosticDataRouteMatch[];\n let activeRouteMatch: AgnosticDataRouteMatch | undefined;\n if (fromRouteId != null && relative !== \"path\") {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route. When using relative:path,\n // fromRouteId is ignored since that is always relative to the current\n // location path\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n\n // Resolve the relative path\n let path = resolveTo(\n to ? to : \".\",\n getPathContributingMatches(contextualMatches).map((m) => m.pathnameBase),\n stripBasename(location.pathname, basename) || location.pathname,\n relative === \"path\"\n );\n\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n\n // Add an ?index param for matched index routes if we don't already have one\n if (\n (to == null || to === \"\" || to === \".\") &&\n activeRouteMatch &&\n activeRouteMatch.route.index &&\n !hasNakedIndexQuery(path.search)\n ) {\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n }\n\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n normalizeFormMethod: boolean,\n isFetcher: boolean,\n path: string,\n opts?: RouterNavigateOptions\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponse;\n} {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, { type: \"invalid-body\" }),\n });\n\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod\n ? (rawFormMethod.toUpperCase() as V7_FormMethod)\n : (rawFormMethod.toLowerCase() as FormMethod);\n let formAction = stripHashFromPath(path);\n\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n let text =\n typeof opts.body === \"string\"\n ? opts.body\n : opts.body instanceof FormData ||\n opts.body instanceof URLSearchParams\n ? // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce(\n (acc, [name, value]) => `${acc}${name}=${value}\\n`,\n \"\"\n )\n : String(opts.body);\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text,\n },\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n\n try {\n let json =\n typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined,\n },\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n\n invariant(\n typeof FormData === \"function\",\n \"FormData is not available in this environment\"\n );\n\n let searchParams: URLSearchParams;\n let formData: FormData;\n\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n\n let submission: Submission = {\n formMethod,\n formAction,\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId?: string\n) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n fetchLoadMatches: Map,\n fetchRedirectIds: Set,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingError\n ? Object.values(pendingError)[0]\n : pendingActionData\n ? Object.values(pendingActionData)[0]\n : undefined;\n\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (match.route.loader == null) {\n return false;\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search ===\n nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some((m) => m.route.id === f.routeId)) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.includes(key)) {\n // Always revalidate if the fetcher was cancelled\n shouldRevalidate = true;\n } else if (\n fetcher &&\n fetcher.state !== \"idle\" &&\n fetcher.data === undefined\n ) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n defaultShouldRevalidate: isRevalidationRequired,\n });\n }\n\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController(),\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: Parameters[0]\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(\n route: AgnosticDataRouteObject,\n mapRouteProperties: MapRoutePropertiesFunction,\n manifest: RouteManifest\n) {\n if (!route.lazy) {\n return;\n }\n\n let lazyRoute = await route.lazy();\n\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates: Record = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue =\n routeToUpdate[lazyRouteProperty as keyof typeof routeToUpdate];\n\n let isPropertyStaticallyDefined =\n staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n\n warning(\n !isPropertyStaticallyDefined,\n `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" ` +\n `defined but its lazy function is also returning a value for this property. ` +\n `The lazy route property \"${lazyRouteProperty}\" will be ignored.`\n );\n\n if (\n !isPropertyStaticallyDefined &&\n !immutableRouteKeys.has(lazyRouteProperty as ImmutableRouteKey)\n ) {\n routeUpdates[lazyRouteProperty] =\n lazyRoute[lazyRouteProperty as keyof typeof lazyRoute];\n }\n }\n\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided\n // `mapRouteProperties` (or wrapped `detectErrorBoundary`) function to\n // set the framework-aware properties (`element`/`hasErrorBoundary`) since\n // the logic will differ between frameworks.\n ...mapRouteProperties(routeToUpdate),\n lazy: undefined,\n });\n}\n\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n manifest: RouteManifest,\n mapRouteProperties: MapRoutePropertiesFunction,\n basename: string,\n opts: {\n isStaticRequest?: boolean;\n isRouteRequest?: boolean;\n requestContext?: unknown;\n } = {}\n): Promise {\n let resultType;\n let result;\n let onReject: (() => void) | undefined;\n\n let runHandler = (handler: ActionFunction | LoaderFunction) => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n let abortPromise = new Promise((_, r) => (reject = r));\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([\n handler({\n request,\n params: match.params,\n context: opts.requestContext,\n }),\n abortPromise,\n ]);\n };\n\n try {\n let handler = match.route[type];\n\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let values = await Promise.all([\n runHandler(handler),\n loadLazyRouteModule(match.route, mapRouteProperties, manifest),\n ]);\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id,\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return { type: ResultType.data, data: undefined };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname,\n });\n } else {\n result = await runHandler(handler);\n }\n\n invariant(\n result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n\n if (isResponse(result)) {\n let status = result.status;\n\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(\n new URL(request.url),\n matches.slice(0, matches.indexOf(match) + 1),\n basename,\n true,\n location\n );\n } else if (!opts.isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\")\n ? new URL(currentUrl.protocol + location)\n : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (opts.isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n };\n }\n\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (opts.isRouteRequest) {\n // eslint-disable-next-line no-throw-literal\n throw {\n type: resultType || ResultType.data,\n response: result,\n };\n }\n\n let data: any;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponse(status, result.statusText, data),\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (resultType === ResultType.error) {\n return { type: resultType, error: result };\n }\n\n if (isDeferredData(result)) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n\n if (formEncType === \"application/json\") {\n init.headers = new Headers({ \"Content-Type\": formEncType });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (\n formEncType === \"application/x-www-form-urlencoded\" &&\n submission.formData\n ) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n\n return searchParams;\n}\n\nfunction convertSearchParamsToFormData(\n searchParams: URLSearchParams\n): FormData {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: DataResult[],\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingError,\n activeDeferreds\n );\n\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, match, controller } = revalidatingFetchers[index];\n invariant(\n fetcherResults !== undefined && fetcherResults[index] !== undefined,\n \"Did not find corresponding fetcher result\"\n );\n let result = fetcherResults[index];\n\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\" | \"invalid-body\";\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponse(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(\n results: DataResult[]\n): { result: RedirectResult; idx: number } | undefined {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return { result, idx: i };\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nexport function isDeferredData(value: any): value is DeferredData {\n let deferred: DeferredData = value;\n return (\n deferred &&\n typeof deferred === \"object\" &&\n typeof deferred.data === \"object\" &&\n typeof deferred.subscribe === \"function\" &&\n typeof deferred.cancel === \"function\" &&\n typeof deferred.resolveData === \"function\"\n );\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n return (\n obj &&\n isResponse(obj.response) &&\n (obj.type === ResultType.data || ResultType.error)\n );\n}\n\nfunction isValidMethod(method: string): method is FormMethod | V7_FormMethod {\n return validRequestMethods.has(method.toLowerCase() as FormMethod);\n}\n\nfunction isMutationMethod(\n method: string\n): method is MutationFormMethod | V7_MutationFormMethod {\n return validMutationMethods.has(method.toLowerCase() as MutationFormMethod);\n}\n\nasync function resolveDeferredResults(\n currentMatches: AgnosticDataRouteMatch[],\n matchesToLoad: (AgnosticDataRouteMatch | null)[],\n results: DataResult[],\n signals: (AbortSignal | null)[],\n isFetcher: boolean,\n currentLoaderData?: RouteData\n) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(\n signal,\n \"Expected an AbortSignal for revalidating fetcher deferred result\"\n );\n await resolveDeferredData(result, signal, isFetcher).then((result) => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\n// Note: This should match the format exported by useMatches, so if you change\n// this please also change that :) Eventually we'll DRY this up\nfunction createUseMatchesMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UseMatchesMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id] as unknown,\n handle: route.handle as unknown,\n };\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n\nfunction getSubmissionFromNavigation(\n navigation: Navigation\n): Submission | undefined {\n let { formMethod, formAction, formEncType, text, formData, json } =\n navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text,\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined,\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined,\n };\n }\n}\n\nfunction getLoadingNavigation(\n location: Location,\n submission?: Submission\n): NavigationStates[\"Loading\"] {\n if (submission) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n } else {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n };\n return navigation;\n }\n}\n\nfunction getSubmittingNavigation(\n location: Location,\n submission: Submission\n): NavigationStates[\"Submitting\"] {\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n };\n return navigation;\n}\n\nfunction getLoadingFetcher(\n submission?: Submission,\n data?: Fetcher[\"data\"]\n): FetcherStates[\"Loading\"] {\n if (submission) {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data,\n \" _hasFetcherDoneAnything \": true,\n };\n return fetcher;\n } else {\n let fetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n \" _hasFetcherDoneAnything \": true,\n };\n return fetcher;\n }\n}\n\nfunction getSubmittingFetcher(\n submission: Submission,\n existingFetcher?: Fetcher\n): FetcherStates[\"Submitting\"] {\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n return fetcher;\n}\n\nfunction getDoneFetcher(data: Fetcher[\"data\"]): FetcherStates[\"Idle\"] {\n let fetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data,\n \" _hasFetcherDoneAnything \": true,\n };\n return fetcher;\n}\n//#endregion\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader()\n reader.onloadend = function () {\n var url = reader.result\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')\n if (popup) popup.location.href = url\n else location = url\n popup = null // reverse-tabnabbing #460\n }\n reader.readAsDataURL(blob)\n } else {\n var URL = _global.URL || _global.webkitURL\n var url = URL.createObjectURL(blob)\n if (popup) popup.location = url\n else location.href = url\n popup = null // reverse-tabnabbing #460\n setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s\n }\n }\n)\n\n_global.saveAs = saveAs.saveAs = saveAs\n\nif (typeof module !== 'undefined') {\n module.exports = saveAs;\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixLinearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (\n firstToken.type === TokenType.IDENT_TOKEN &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1\n ) {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = (angleType.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {\n angle,\n stops,\n type: CSSImageType.LINEAR_GRADIENT\n };\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {Context} from '../../../core/context';\nexport const CLOSEST_SIDE = 'closest-side';\nexport const FARTHEST_SIDE = 'farthest-side';\nexport const CLOSEST_CORNER = 'closest-corner';\nexport const FARTHEST_CORNER = 'farthest-corner';\nexport const CIRCLE = 'circle';\nexport const ELLIPSE = 'ellipse';\nexport const COVER = 'cover';\nexport const CONTAIN = 'contain';\n\nexport const radialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n let isAtPosition = false;\n isColorStop = arg.reduce((acc, token) => {\n if (isAtPosition) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n } else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case 'at':\n isAtPosition = true;\n return false;\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {\n CIRCLE,\n CLOSEST_CORNER,\n CLOSEST_SIDE,\n CONTAIN,\n COVER,\n ELLIPSE,\n FARTHEST_CORNER,\n FARTHEST_SIDE\n} from './radial-gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixRadialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n } else if (i === 1) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Color} from './color';\nimport {linearGradient} from './functions/linear-gradient';\nimport {prefixLinearGradient} from './functions/-prefix-linear-gradient';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {LengthPercentage} from './length-percentage';\nimport {webkitGradient} from './functions/-webkit-gradient';\nimport {radialGradient} from './functions/radial-gradient';\nimport {prefixRadialGradient} from './functions/-prefix-radial-gradient';\nimport {Context} from '../../core/context';\n\nexport const enum CSSImageType {\n URL,\n LINEAR_GRADIENT,\n RADIAL_GRADIENT\n}\n\nexport const isLinearGradient = (background: ICSSImage): background is CSSLinearGradientImage => {\n return background.type === CSSImageType.LINEAR_GRADIENT;\n};\n\nexport const isRadialGradient = (background: ICSSImage): background is CSSRadialGradientImage => {\n return background.type === CSSImageType.RADIAL_GRADIENT;\n};\n\nexport interface UnprocessedGradientColorStop {\n color: Color;\n stop: LengthPercentage | null;\n}\n\nexport interface GradientColorStop {\n color: Color;\n stop: number;\n}\n\nexport interface ICSSImage {\n type: CSSImageType;\n}\n\nexport interface CSSURLImage extends ICSSImage {\n url: string;\n type: CSSImageType.URL;\n}\n\n// interface ICSSGeneratedImage extends ICSSImage {}\n\nexport type GradientCorner = [LengthPercentage, LengthPercentage];\n\ninterface ICSSGradientImage extends ICSSImage {\n stops: UnprocessedGradientColorStop[];\n}\n\nexport interface CSSLinearGradientImage extends ICSSGradientImage {\n angle: number | GradientCorner;\n type: CSSImageType.LINEAR_GRADIENT;\n}\n\nexport const enum CSSRadialShape {\n CIRCLE,\n ELLIPSE\n}\n\nexport const enum CSSRadialExtent {\n CLOSEST_SIDE,\n FARTHEST_SIDE,\n CLOSEST_CORNER,\n FARTHEST_CORNER\n}\n\nexport type CSSRadialSize = CSSRadialExtent | LengthPercentage[];\n\nexport interface CSSRadialGradientImage extends ICSSGradientImage {\n type: CSSImageType.RADIAL_GRADIENT;\n shape: CSSRadialShape;\n size: CSSRadialSize;\n position: LengthPercentage[];\n}\n\nexport const image: ITypeDescriptor = {\n name: 'image',\n parse: (context: Context, value: CSSValue): ICSSImage => {\n if (value.type === TokenType.URL_TOKEN) {\n const image: CSSURLImage = {url: value.value, type: CSSImageType.URL};\n context.cache.addImage(value.value);\n return image;\n }\n\n if (value.type === TokenType.FUNCTION) {\n const imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported image function \"${value.name}\"`);\n }\n return imageFunction(context, value.values);\n }\n\n throw new Error(`Unsupported image type ${value.type}`);\n }\n};\n\nexport function isSupportedImage(value: CSSValue): boolean {\n return (\n !(value.type === TokenType.IDENT_TOKEN && value.value === 'none') &&\n (value.type !== TokenType.FUNCTION || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])\n );\n}\n\nconst SUPPORTED_IMAGE_FUNCTIONS: Record ICSSImage> = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {StringValueToken} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport enum BACKGROUND_SIZE {\n AUTO = 'auto',\n CONTAIN = 'contain',\n COVER = 'cover'\n}\n\nexport type BackgroundSizeInfo = LengthPercentage | StringValueToken;\nexport type BackgroundSize = BackgroundSizeInfo[][];\n\nexport const backgroundSize: IPropertyListDescriptor = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundSize => {\n return parseFunctionArgs(tokens).map((values) => values.filter(isBackgroundSizeInfoToken));\n }\n};\n\nconst isBackgroundSizeInfoToken = (value: CSSValue): value is BackgroundSizeInfo =>\n isIdentToken(value) || isLengthPercentage(value);\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const linearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = angleType.parse(context, firstToken);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {angle, stops, type: CSSImageType.LINEAR_GRADIENT};\n};\n","import {CSSValue, isIdentToken, isNumberToken, nonFunctionArgSeparator, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSLinearGradientImage,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {deg} from '../angle';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {color as colorType} from '../color';\nimport {HUNDRED_PERCENT, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const webkitGradient = (\n context: Context,\n tokens: CSSValue[]\n): CSSLinearGradientImage | CSSRadialGradientImage => {\n const angle = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n let type = CSSImageType.LINEAR_GRADIENT;\n const shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n const size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n const firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = CSSImageType.LINEAR_GRADIENT;\n return;\n } else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = CSSImageType.RADIAL_GRADIENT;\n return;\n }\n }\n\n if (firstToken.type === TokenType.FUNCTION) {\n if (firstToken.name === 'from') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: ZERO_LENGTH, color});\n } else if (firstToken.name === 'to') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: HUNDRED_PERCENT, color});\n } else if (firstToken.name === 'color-stop') {\n const values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n const color = colorType.parse(context, values[1]);\n const stop = values[0];\n if (isNumberToken(stop)) {\n stops.push({\n stop: {type: TokenType.PERCENTAGE_TOKEN, number: stop.number * 100, flags: stop.flags},\n color\n });\n }\n }\n }\n }\n });\n\n return type === CSSImageType.LINEAR_GRADIENT\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops,\n type\n }\n : {size, shape, stops, position, type};\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image, isSupportedImage} from '../types/image';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, nonFunctionArgSeparator} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const backgroundImage: IPropertyListDescriptor = {\n name: 'background-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens\n .filter((value) => nonFunctionArgSeparator(value) && isSupportedImage(value))\n .map((value) => image.parse(context, value));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum BACKGROUND_ORIGIN {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundOrigin = BACKGROUND_ORIGIN[];\n\nexport const backgroundOrigin: IPropertyListDescriptor = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundOrigin => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_ORIGIN.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_ORIGIN.CONTENT_BOX;\n }\n }\n return BACKGROUND_ORIGIN.BORDER_BOX;\n });\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BackgroundPosition = BackgroundImagePosition[];\n\nexport type BackgroundImagePosition = LengthPercentageTuple;\n\nexport const backgroundPosition: IPropertyListDescriptor = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundPosition => {\n return parseFunctionArgs(tokens)\n .map((values: CSSValue[]) => values.filter(isLengthPercentage))\n .map(parseLengthPercentageTuple);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport type BackgroundRepeat = BACKGROUND_REPEAT[];\n\nexport const enum BACKGROUND_REPEAT {\n REPEAT = 0,\n NO_REPEAT = 1,\n REPEAT_X = 2,\n REPEAT_Y = 3\n}\n\nexport const backgroundRepeat: IPropertyListDescriptor = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundRepeat => {\n return parseFunctionArgs(tokens)\n .map((values) =>\n values\n .filter(isIdentToken)\n .map((token) => token.value)\n .join(' ')\n )\n .map(parseBackgroundRepeat);\n }\n};\n\nconst parseBackgroundRepeat = (value: string): BACKGROUND_REPEAT => {\n switch (value) {\n case 'no-repeat':\n return BACKGROUND_REPEAT.NO_REPEAT;\n case 'repeat-x':\n case 'repeat no-repeat':\n return BACKGROUND_REPEAT.REPEAT_X;\n case 'repeat-y':\n case 'no-repeat repeat':\n return BACKGROUND_REPEAT.REPEAT_Y;\n case 'repeat':\n default:\n return BACKGROUND_REPEAT.REPEAT;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum LINE_BREAK {\n NORMAL = 'normal',\n STRICT = 'strict'\n}\n\nexport const lineBreak: IPropertyIdentValueDescriptor = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, lineBreak: string): LINE_BREAK => {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nconst borderColorForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `border-${side}-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n});\n\nexport const borderTopColor: IPropertyTypeValueDescriptor = borderColorForSide('top');\nexport const borderRightColor: IPropertyTypeValueDescriptor = borderColorForSide('right');\nexport const borderBottomColor: IPropertyTypeValueDescriptor = borderColorForSide('bottom');\nexport const borderLeftColor: IPropertyTypeValueDescriptor = borderColorForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BorderRadius = LengthPercentageTuple;\n\nconst borderRadiusForSide = (side: string): IPropertyListDescriptor => ({\n name: `border-radius-${side}`,\n initialValue: '0 0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BorderRadius =>\n parseLengthPercentageTuple(tokens.filter(isLengthPercentage))\n});\n\nexport const borderTopLeftRadius: IPropertyListDescriptor = borderRadiusForSide('top-left');\nexport const borderTopRightRadius: IPropertyListDescriptor = borderRadiusForSide('top-right');\nexport const borderBottomRightRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-right');\nexport const borderBottomLeftRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum BORDER_STYLE {\n NONE = 0,\n SOLID = 1,\n DASHED = 2,\n DOTTED = 3,\n DOUBLE = 4\n}\n\nconst borderStyleForSide = (side: string): IPropertyIdentValueDescriptor => ({\n name: `border-${side}-style`,\n initialValue: 'solid',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, style: string): BORDER_STYLE => {\n switch (style) {\n case 'none':\n return BORDER_STYLE.NONE;\n case 'dashed':\n return BORDER_STYLE.DASHED;\n case 'dotted':\n return BORDER_STYLE.DOTTED;\n case 'double':\n return BORDER_STYLE.DOUBLE;\n }\n return BORDER_STYLE.SOLID;\n }\n});\n\nexport const borderTopStyle: IPropertyIdentValueDescriptor = borderStyleForSide('top');\nexport const borderRightStyle: IPropertyIdentValueDescriptor = borderStyleForSide('right');\nexport const borderBottomStyle: IPropertyIdentValueDescriptor = borderStyleForSide('bottom');\nexport const borderLeftStyle: IPropertyIdentValueDescriptor = borderStyleForSide('left');\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nconst borderWidthForSide = (side: string): IPropertyValueDescriptor => ({\n name: `border-${side}-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n});\n\nexport const borderTopWidth: IPropertyValueDescriptor = borderWidthForSide('top');\nexport const borderRightWidth: IPropertyValueDescriptor = borderWidthForSide('right');\nexport const borderBottomWidth: IPropertyValueDescriptor = borderWidthForSide('bottom');\nexport const borderLeftWidth: IPropertyValueDescriptor = borderWidthForSide('left');\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const color: IPropertyTypeValueDescriptor = {\n name: `color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\n\nexport const enum DIRECTION {\n LTR = 0,\n RTL = 1\n}\n\nexport const direction: IPropertyIdentValueDescriptor = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, direction: string) => {\n switch (direction) {\n case 'rtl':\n return DIRECTION.RTL;\n case 'ltr':\n default:\n return DIRECTION.LTR;\n }\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum DISPLAY {\n NONE = 0,\n BLOCK = 1 << 1,\n INLINE = 1 << 2,\n RUN_IN = 1 << 3,\n FLOW = 1 << 4,\n FLOW_ROOT = 1 << 5,\n TABLE = 1 << 6,\n FLEX = 1 << 7,\n GRID = 1 << 8,\n RUBY = 1 << 9,\n SUBGRID = 1 << 10,\n LIST_ITEM = 1 << 11,\n TABLE_ROW_GROUP = 1 << 12,\n TABLE_HEADER_GROUP = 1 << 13,\n TABLE_FOOTER_GROUP = 1 << 14,\n TABLE_ROW = 1 << 15,\n TABLE_CELL = 1 << 16,\n TABLE_COLUMN_GROUP = 1 << 17,\n TABLE_COLUMN = 1 << 18,\n TABLE_CAPTION = 1 << 19,\n RUBY_BASE = 1 << 20,\n RUBY_TEXT = 1 << 21,\n RUBY_BASE_CONTAINER = 1 << 22,\n RUBY_TEXT_CONTAINER = 1 << 23,\n CONTENTS = 1 << 24,\n INLINE_BLOCK = 1 << 25,\n INLINE_LIST_ITEM = 1 << 26,\n INLINE_TABLE = 1 << 27,\n INLINE_FLEX = 1 << 28,\n INLINE_GRID = 1 << 29\n}\n\nexport type Display = number;\n\nexport const display: IPropertyListDescriptor = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): Display => {\n return tokens.filter(isIdentToken).reduce((bit, token) => {\n return bit | parseDisplayValue(token.value);\n }, DISPLAY.NONE);\n }\n};\n\nconst parseDisplayValue = (display: string): Display => {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return DISPLAY.BLOCK;\n case 'inline':\n return DISPLAY.INLINE;\n case 'run-in':\n return DISPLAY.RUN_IN;\n case 'flow':\n return DISPLAY.FLOW;\n case 'flow-root':\n return DISPLAY.FLOW_ROOT;\n case 'table':\n return DISPLAY.TABLE;\n case 'flex':\n case '-webkit-flex':\n return DISPLAY.FLEX;\n case 'grid':\n case '-ms-grid':\n return DISPLAY.GRID;\n case 'ruby':\n return DISPLAY.RUBY;\n case 'subgrid':\n return DISPLAY.SUBGRID;\n case 'list-item':\n return DISPLAY.LIST_ITEM;\n case 'table-row-group':\n return DISPLAY.TABLE_ROW_GROUP;\n case 'table-header-group':\n return DISPLAY.TABLE_HEADER_GROUP;\n case 'table-footer-group':\n return DISPLAY.TABLE_FOOTER_GROUP;\n case 'table-row':\n return DISPLAY.TABLE_ROW;\n case 'table-cell':\n return DISPLAY.TABLE_CELL;\n case 'table-column-group':\n return DISPLAY.TABLE_COLUMN_GROUP;\n case 'table-column':\n return DISPLAY.TABLE_COLUMN;\n case 'table-caption':\n return DISPLAY.TABLE_CAPTION;\n case 'ruby-base':\n return DISPLAY.RUBY_BASE;\n case 'ruby-text':\n return DISPLAY.RUBY_TEXT;\n case 'ruby-base-container':\n return DISPLAY.RUBY_BASE_CONTAINER;\n case 'ruby-text-container':\n return DISPLAY.RUBY_TEXT_CONTAINER;\n case 'contents':\n return DISPLAY.CONTENTS;\n case 'inline-block':\n return DISPLAY.INLINE_BLOCK;\n case 'inline-list-item':\n return DISPLAY.INLINE_LIST_ITEM;\n case 'inline-table':\n return DISPLAY.INLINE_TABLE;\n case 'inline-flex':\n return DISPLAY.INLINE_FLEX;\n case 'inline-grid':\n return DISPLAY.INLINE_GRID;\n }\n\n return DISPLAY.NONE;\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FLOAT {\n NONE = 0,\n LEFT = 1,\n RIGHT = 2,\n INLINE_START = 3,\n INLINE_END = 4\n}\n\nexport const float: IPropertyIdentValueDescriptor = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, float: string) => {\n switch (float) {\n case 'left':\n return FLOAT.LEFT;\n case 'right':\n return FLOAT.RIGHT;\n case 'inline-start':\n return FLOAT.INLINE_START;\n case 'inline-end':\n return FLOAT.INLINE_END;\n }\n return FLOAT.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport const letterSpacing: IPropertyValueDescriptor = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {\n return 0;\n }\n\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.DIMENSION_TOKEN) {\n return token.number;\n }\n\n return 0;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum WORD_BREAK {\n NORMAL = 'normal',\n BREAK_ALL = 'break-all',\n KEEP_ALL = 'keep-all'\n}\n\nexport const wordBreak: IPropertyIdentValueDescriptor = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, wordBreak: string): WORD_BREAK => {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {getAbsoluteValue, isLengthPercentage} from '../types/length-percentage';\nexport const lineHeight: IPropertyTokenValueDescriptor = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n};\n\nexport const computeLineHeight = (token: CSSValue, fontSize: number): number => {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n } else if (token.type === TokenType.NUMBER_TOKEN) {\n return fontSize * token.number;\n } else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n\n return fontSize;\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image} from '../types/image';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const listStyleImage: IPropertyValueDescriptor = {\n name: 'list-style-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n return image.parse(context, token);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_POSITION {\n INSIDE = 0,\n OUTSIDE = 1\n}\n\nexport const listStylePosition: IPropertyIdentValueDescriptor = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'inside':\n return LIST_STYLE_POSITION.INSIDE;\n case 'outside':\n default:\n return LIST_STYLE_POSITION.OUTSIDE;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_TYPE {\n NONE = -1,\n DISC = 0,\n CIRCLE = 1,\n SQUARE = 2,\n DECIMAL = 3,\n CJK_DECIMAL = 4,\n DECIMAL_LEADING_ZERO = 5,\n LOWER_ROMAN = 6,\n UPPER_ROMAN = 7,\n LOWER_GREEK = 8,\n LOWER_ALPHA = 9,\n UPPER_ALPHA = 10,\n ARABIC_INDIC = 11,\n ARMENIAN = 12,\n BENGALI = 13,\n CAMBODIAN = 14,\n CJK_EARTHLY_BRANCH = 15,\n CJK_HEAVENLY_STEM = 16,\n CJK_IDEOGRAPHIC = 17,\n DEVANAGARI = 18,\n ETHIOPIC_NUMERIC = 19,\n GEORGIAN = 20,\n GUJARATI = 21,\n GURMUKHI = 22,\n HEBREW = 22,\n HIRAGANA = 23,\n HIRAGANA_IROHA = 24,\n JAPANESE_FORMAL = 25,\n JAPANESE_INFORMAL = 26,\n KANNADA = 27,\n KATAKANA = 28,\n KATAKANA_IROHA = 29,\n KHMER = 30,\n KOREAN_HANGUL_FORMAL = 31,\n KOREAN_HANJA_FORMAL = 32,\n KOREAN_HANJA_INFORMAL = 33,\n LAO = 34,\n LOWER_ARMENIAN = 35,\n MALAYALAM = 36,\n MONGOLIAN = 37,\n MYANMAR = 38,\n ORIYA = 39,\n PERSIAN = 40,\n SIMP_CHINESE_FORMAL = 41,\n SIMP_CHINESE_INFORMAL = 42,\n TAMIL = 43,\n TELUGU = 44,\n THAI = 45,\n TIBETAN = 46,\n TRAD_CHINESE_FORMAL = 47,\n TRAD_CHINESE_INFORMAL = 48,\n UPPER_ARMENIAN = 49,\n DISCLOSURE_OPEN = 50,\n DISCLOSURE_CLOSED = 51\n}\n\nexport const listStyleType: IPropertyIdentValueDescriptor = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, type: string) => {\n switch (type) {\n case 'disc':\n return LIST_STYLE_TYPE.DISC;\n case 'circle':\n return LIST_STYLE_TYPE.CIRCLE;\n case 'square':\n return LIST_STYLE_TYPE.SQUARE;\n case 'decimal':\n return LIST_STYLE_TYPE.DECIMAL;\n case 'cjk-decimal':\n return LIST_STYLE_TYPE.CJK_DECIMAL;\n case 'decimal-leading-zero':\n return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;\n case 'lower-roman':\n return LIST_STYLE_TYPE.LOWER_ROMAN;\n case 'upper-roman':\n return LIST_STYLE_TYPE.UPPER_ROMAN;\n case 'lower-greek':\n return LIST_STYLE_TYPE.LOWER_GREEK;\n case 'lower-alpha':\n return LIST_STYLE_TYPE.LOWER_ALPHA;\n case 'upper-alpha':\n return LIST_STYLE_TYPE.UPPER_ALPHA;\n case 'arabic-indic':\n return LIST_STYLE_TYPE.ARABIC_INDIC;\n case 'armenian':\n return LIST_STYLE_TYPE.ARMENIAN;\n case 'bengali':\n return LIST_STYLE_TYPE.BENGALI;\n case 'cambodian':\n return LIST_STYLE_TYPE.CAMBODIAN;\n case 'cjk-earthly-branch':\n return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;\n case 'cjk-heavenly-stem':\n return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;\n case 'cjk-ideographic':\n return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;\n case 'devanagari':\n return LIST_STYLE_TYPE.DEVANAGARI;\n case 'ethiopic-numeric':\n return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;\n case 'georgian':\n return LIST_STYLE_TYPE.GEORGIAN;\n case 'gujarati':\n return LIST_STYLE_TYPE.GUJARATI;\n case 'gurmukhi':\n return LIST_STYLE_TYPE.GURMUKHI;\n case 'hebrew':\n return LIST_STYLE_TYPE.HEBREW;\n case 'hiragana':\n return LIST_STYLE_TYPE.HIRAGANA;\n case 'hiragana-iroha':\n return LIST_STYLE_TYPE.HIRAGANA_IROHA;\n case 'japanese-formal':\n return LIST_STYLE_TYPE.JAPANESE_FORMAL;\n case 'japanese-informal':\n return LIST_STYLE_TYPE.JAPANESE_INFORMAL;\n case 'kannada':\n return LIST_STYLE_TYPE.KANNADA;\n case 'katakana':\n return LIST_STYLE_TYPE.KATAKANA;\n case 'katakana-iroha':\n return LIST_STYLE_TYPE.KATAKANA_IROHA;\n case 'khmer':\n return LIST_STYLE_TYPE.KHMER;\n case 'korean-hangul-formal':\n return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;\n case 'korean-hanja-formal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;\n case 'korean-hanja-informal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;\n case 'lao':\n return LIST_STYLE_TYPE.LAO;\n case 'lower-armenian':\n return LIST_STYLE_TYPE.LOWER_ARMENIAN;\n case 'malayalam':\n return LIST_STYLE_TYPE.MALAYALAM;\n case 'mongolian':\n return LIST_STYLE_TYPE.MONGOLIAN;\n case 'myanmar':\n return LIST_STYLE_TYPE.MYANMAR;\n case 'oriya':\n return LIST_STYLE_TYPE.ORIYA;\n case 'persian':\n return LIST_STYLE_TYPE.PERSIAN;\n case 'simp-chinese-formal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;\n case 'simp-chinese-informal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;\n case 'tamil':\n return LIST_STYLE_TYPE.TAMIL;\n case 'telugu':\n return LIST_STYLE_TYPE.TELUGU;\n case 'thai':\n return LIST_STYLE_TYPE.THAI;\n case 'tibetan':\n return LIST_STYLE_TYPE.TIBETAN;\n case 'trad-chinese-formal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;\n case 'trad-chinese-informal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;\n case 'upper-armenian':\n return LIST_STYLE_TYPE.UPPER_ARMENIAN;\n case 'disclosure-open':\n return LIST_STYLE_TYPE.DISCLOSURE_OPEN;\n case 'disclosure-closed':\n return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;\n case 'none':\n default:\n return LIST_STYLE_TYPE.NONE;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst marginForSide = (side: string): IPropertyTokenValueDescriptor => ({\n name: `margin-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n});\n\nexport const marginTop: IPropertyTokenValueDescriptor = marginForSide('top');\nexport const marginRight: IPropertyTokenValueDescriptor = marginForSide('right');\nexport const marginBottom: IPropertyTokenValueDescriptor = marginForSide('bottom');\nexport const marginLeft: IPropertyTokenValueDescriptor = marginForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW {\n VISIBLE = 0,\n HIDDEN = 1,\n SCROLL = 2,\n CLIP = 3,\n AUTO = 4\n}\n\nexport const overflow: IPropertyListDescriptor = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): OVERFLOW[] => {\n return tokens.filter(isIdentToken).map((overflow) => {\n switch (overflow.value) {\n case 'hidden':\n return OVERFLOW.HIDDEN;\n case 'scroll':\n return OVERFLOW.SCROLL;\n case 'clip':\n return OVERFLOW.CLIP;\n case 'auto':\n return OVERFLOW.AUTO;\n case 'visible':\n default:\n return OVERFLOW.VISIBLE;\n }\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW_WRAP {\n NORMAL = 'normal',\n BREAK_WORD = 'break-word'\n}\n\nexport const overflowWrap: IPropertyIdentValueDescriptor = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'break-word':\n return OVERFLOW_WRAP.BREAK_WORD;\n case 'normal':\n default:\n return OVERFLOW_WRAP.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst paddingForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `padding-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length-percentage'\n});\n\nexport const paddingTop: IPropertyTypeValueDescriptor = paddingForSide('top');\nexport const paddingRight: IPropertyTypeValueDescriptor = paddingForSide('right');\nexport const paddingBottom: IPropertyTypeValueDescriptor = paddingForSide('bottom');\nexport const paddingLeft: IPropertyTypeValueDescriptor = paddingForSide('left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_ALIGN {\n LEFT = 0,\n CENTER = 1,\n RIGHT = 2\n}\n\nexport const textAlign: IPropertyIdentValueDescriptor = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textAlign: string) => {\n switch (textAlign) {\n case 'right':\n return TEXT_ALIGN.RIGHT;\n case 'center':\n case 'justify':\n return TEXT_ALIGN.CENTER;\n case 'left':\n default:\n return TEXT_ALIGN.LEFT;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum POSITION {\n STATIC = 0,\n RELATIVE = 1,\n ABSOLUTE = 2,\n FIXED = 3,\n STICKY = 4\n}\n\nexport const position: IPropertyIdentValueDescriptor = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'relative':\n return POSITION.RELATIVE;\n case 'absolute':\n return POSITION.ABSOLUTE;\n case 'fixed':\n return POSITION.FIXED;\n case 'sticky':\n return POSITION.STICKY;\n }\n\n return POSITION.STATIC;\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color, COLORS} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type TextShadow = TextShadowItem[];\ninterface TextShadowItem {\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n}\n\nexport const textShadow: IPropertyListDescriptor = {\n name: 'text-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): TextShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: TextShadowItem = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else {\n shadow.blur = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_TRANSFORM {\n NONE = 0,\n LOWERCASE = 1,\n UPPERCASE = 2,\n CAPITALIZE = 3\n}\n\nexport const textTransform: IPropertyIdentValueDescriptor = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textTransform: string) => {\n switch (textTransform) {\n case 'uppercase':\n return TEXT_TRANSFORM.UPPERCASE;\n case 'lowercase':\n return TEXT_TRANSFORM.LOWERCASE;\n case 'capitalize':\n return TEXT_TRANSFORM.CAPITALIZE;\n }\n\n return TEXT_TRANSFORM.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type Matrix = [number, number, number, number, number, number];\nexport type Transform = Matrix | null;\n\nexport const transform: IPropertyValueDescriptor = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n if (token.type === TokenType.FUNCTION) {\n const transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported transform function \"${token.name}\"`);\n }\n return transformFunction(token.values);\n }\n\n return null;\n }\n};\n\nconst matrix = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n return values.length === 6 ? (values as Matrix) : null;\n};\n\n// doesn't support 3D transforms at the moment\nconst matrix3d = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n const [a1, b1, {}, {}, a2, b2, {}, {}, {}, {}, {}, {}, a4, b4, {}, {}] = values;\n\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\n\nconst SUPPORTED_TRANSFORM_FUNCTIONS: {\n [key: string]: (args: CSSValue[]) => Transform;\n} = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {FLAG_INTEGER, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type TransformOrigin = [LengthPercentage, LengthPercentage];\n\nconst DEFAULT_VALUE: LengthPercentage = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\nconst DEFAULT: TransformOrigin = [DEFAULT_VALUE, DEFAULT_VALUE];\n\nexport const transformOrigin: IPropertyListDescriptor = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const origins: LengthPercentage[] = tokens.filter(isLengthPercentage);\n\n if (origins.length !== 2) {\n return DEFAULT;\n }\n\n return [origins[0], origins[1]];\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum VISIBILITY {\n VISIBLE = 0,\n HIDDEN = 1,\n COLLAPSE = 2\n}\n\nexport const visibility: IPropertyIdentValueDescriptor = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, visibility: string) => {\n switch (visibility) {\n case 'hidden':\n return VISIBILITY.HIDDEN;\n case 'collapse':\n return VISIBILITY.COLLAPSE;\n case 'visible':\n default:\n return VISIBILITY.VISIBLE;\n }\n }\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\ninterface zIndex {\n order: number;\n auto: boolean;\n}\n\nexport const zIndex: IPropertyValueDescriptor = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue): zIndex => {\n if (token.type === TokenType.IDENT_TOKEN) {\n return {auto: true, order: 0};\n }\n\n if (isNumberToken(token)) {\n return {auto: false, order: token.number};\n }\n\n throw new Error(`Invalid z-index number parsed`);\n }\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {Context} from '../../core/context';\n\nexport const time: ITypeDescriptor = {\n name: 'time',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n\n throw new Error(`Unsupported time type`);\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const opacity: IPropertyValueDescriptor = {\n name: 'opacity',\n initialValue: '1',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const textDecorationColor: IPropertyTypeValueDescriptor = {\n name: `text-decoration-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum TEXT_DECORATION_LINE {\n NONE = 0,\n UNDERLINE = 1,\n OVERLINE = 2,\n LINE_THROUGH = 3,\n BLINK = 4\n}\n\nexport type TextDecorationLine = TEXT_DECORATION_LINE[];\n\nexport const textDecorationLine: IPropertyListDescriptor = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): TextDecorationLine => {\n return tokens\n .filter(isIdentToken)\n .map((token) => {\n switch (token.value) {\n case 'underline':\n return TEXT_DECORATION_LINE.UNDERLINE;\n case 'overline':\n return TEXT_DECORATION_LINE.OVERLINE;\n case 'line-through':\n return TEXT_DECORATION_LINE.LINE_THROUGH;\n case 'none':\n return TEXT_DECORATION_LINE.BLINK;\n }\n return TEXT_DECORATION_LINE.NONE;\n })\n .filter((line) => line !== TEXT_DECORATION_LINE.NONE);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport type FONT_FAMILY = string;\n\nexport type FontFamily = FONT_FAMILY[];\n\nexport const fontFamily: IPropertyListDescriptor = {\n name: `font-family`,\n initialValue: '',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const accumulator: string[] = [];\n const results: string[] = [];\n tokens.forEach((token) => {\n switch (token.type) {\n case TokenType.IDENT_TOKEN:\n case TokenType.STRING_TOKEN:\n accumulator.push(token.value);\n break;\n case TokenType.NUMBER_TOKEN:\n accumulator.push(token.number.toString());\n break;\n case TokenType.COMMA_TOKEN:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map((result) => (result.indexOf(' ') === -1 ? result : `'${result}'`));\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const fontSize: IPropertyTypeValueDescriptor = {\n name: `font-size`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length'\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontWeight: IPropertyValueDescriptor = {\n name: 'font-weight',\n initialValue: 'normal',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n\n return 400;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontVariant: IPropertyListDescriptor = {\n name: 'font-variant',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): string[] => {\n return tokens.filter(isIdentToken).map((token) => token.value);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FONT_STYLE {\n NORMAL = 'normal',\n ITALIC = 'italic',\n OBLIQUE = 'oblique'\n}\n\nexport const fontStyle: IPropertyIdentValueDescriptor = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'oblique':\n return FONT_STYLE.OBLIQUE;\n case 'italic':\n return FONT_STYLE.ITALIC;\n case 'normal':\n default:\n return FONT_STYLE.NORMAL;\n }\n }\n};\n","export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;\n","import {TokenType} from '../syntax/tokenizer';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport type Content = CSSValue[];\n\nexport const content: IPropertyListDescriptor = {\n name: 'content',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_INCREMENT {\n counter: string;\n increment: number;\n}\n\nexport type CounterIncrement = COUNTER_INCREMENT[] | null;\n\nexport const counterIncrement: IPropertyListDescriptor = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const increments = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (counter.type === TokenType.IDENT_TOKEN) {\n const increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({counter: counter.value, increment});\n }\n }\n\n return increments;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_RESET {\n counter: string;\n reset: number;\n}\n\nexport type CounterReset = COUNTER_RESET[];\n\nexport const counterReset: IPropertyListDescriptor = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const resets = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n const reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({counter: counter.value, reset});\n }\n }\n\n return resets;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {time} from '../types/time';\n\nexport const duration: IPropertyListDescriptor = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (context: Context, tokens: CSSValue[]) => {\n return tokens.filter(isDimensionToken).map((token) => time.parse(context, token));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isStringToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface QUOTE {\n open: string;\n close: string;\n}\n\nexport type Quotes = QUOTE[] | null;\n\nexport const quotes: IPropertyListDescriptor = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const quotes = [];\n const filtered = tokens.filter(isStringToken);\n\n if (filtered.length % 2 !== 0) {\n return null;\n }\n\n for (let i = 0; i < filtered.length; i += 2) {\n const open = filtered[i].value;\n const close = filtered[i + 1].value;\n quotes.push({open, close});\n }\n\n return quotes;\n }\n};\n\nexport const getQuote = (quotes: Quotes, depth: number, open: boolean): string => {\n if (!quotes) {\n return '';\n }\n\n const quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n\n return open ? quote.open : quote.close;\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type BoxShadow = BoxShadowItem[];\ninterface BoxShadowItem {\n inset: boolean;\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n spread: Length;\n}\n\nexport const boxShadow: IPropertyListDescriptor = {\n name: 'box-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): BoxShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: BoxShadowItem = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n } else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else if (c === 2) {\n shadow.blur = token;\n } else {\n shadow.spread = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum PAINT_ORDER_LAYER {\n FILL,\n STROKE,\n MARKERS\n}\n\nexport type PaintOrder = PAINT_ORDER_LAYER[];\n\nexport const paintOrder: IPropertyListDescriptor = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): PaintOrder => {\n const DEFAULT_VALUE = [PAINT_ORDER_LAYER.FILL, PAINT_ORDER_LAYER.STROKE, PAINT_ORDER_LAYER.MARKERS];\n const layers: PaintOrder = [];\n\n tokens.filter(isIdentToken).forEach((token) => {\n switch (token.value) {\n case 'stroke':\n layers.push(PAINT_ORDER_LAYER.STROKE);\n break;\n case 'fill':\n layers.push(PAINT_ORDER_LAYER.FILL);\n break;\n case 'markers':\n layers.push(PAINT_ORDER_LAYER.MARKERS);\n break;\n }\n });\n DEFAULT_VALUE.forEach((value) => {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n\n return layers;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nexport const webkitTextStrokeColor: IPropertyTypeValueDescriptor = {\n name: `-webkit-text-stroke-color`,\n initialValue: 'currentcolor',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const webkitTextStrokeWidth: IPropertyValueDescriptor = {\n name: `-webkit-text-stroke-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n","import {CSSPropertyDescriptor, PropertyDescriptorParsingType} from './IPropertyDescriptor';\nimport {backgroundClip} from './property-descriptors/background-clip';\nimport {backgroundColor} from './property-descriptors/background-color';\nimport {backgroundImage} from './property-descriptors/background-image';\nimport {backgroundOrigin} from './property-descriptors/background-origin';\nimport {backgroundPosition} from './property-descriptors/background-position';\nimport {backgroundRepeat} from './property-descriptors/background-repeat';\nimport {backgroundSize} from './property-descriptors/background-size';\nimport {\n borderBottomColor,\n borderLeftColor,\n borderRightColor,\n borderTopColor\n} from './property-descriptors/border-color';\nimport {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderTopLeftRadius,\n borderTopRightRadius\n} from './property-descriptors/border-radius';\nimport {\n borderBottomStyle,\n borderLeftStyle,\n borderRightStyle,\n borderTopStyle\n} from './property-descriptors/border-style';\nimport {\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth,\n borderTopWidth\n} from './property-descriptors/border-width';\nimport {color} from './property-descriptors/color';\nimport {direction} from './property-descriptors/direction';\nimport {display, DISPLAY} from './property-descriptors/display';\nimport {float, FLOAT} from './property-descriptors/float';\nimport {letterSpacing} from './property-descriptors/letter-spacing';\nimport {lineBreak} from './property-descriptors/line-break';\nimport {lineHeight} from './property-descriptors/line-height';\nimport {listStyleImage} from './property-descriptors/list-style-image';\nimport {listStylePosition} from './property-descriptors/list-style-position';\nimport {listStyleType} from './property-descriptors/list-style-type';\nimport {marginBottom, marginLeft, marginRight, marginTop} from './property-descriptors/margin';\nimport {overflow, OVERFLOW} from './property-descriptors/overflow';\nimport {overflowWrap} from './property-descriptors/overflow-wrap';\nimport {paddingBottom, paddingLeft, paddingRight, paddingTop} from './property-descriptors/padding';\nimport {textAlign} from './property-descriptors/text-align';\nimport {position, POSITION} from './property-descriptors/position';\nimport {textShadow} from './property-descriptors/text-shadow';\nimport {textTransform} from './property-descriptors/text-transform';\nimport {transform} from './property-descriptors/transform';\nimport {transformOrigin} from './property-descriptors/transform-origin';\nimport {visibility, VISIBILITY} from './property-descriptors/visibility';\nimport {wordBreak} from './property-descriptors/word-break';\nimport {zIndex} from './property-descriptors/z-index';\nimport {CSSValue, isIdentToken, Parser} from './syntax/parser';\nimport {Tokenizer} from './syntax/tokenizer';\nimport {Color, color as colorType, isTransparent} from './types/color';\nimport {angle} from './types/angle';\nimport {image} from './types/image';\nimport {time} from './types/time';\nimport {opacity} from './property-descriptors/opacity';\nimport {textDecorationColor} from './property-descriptors/text-decoration-color';\nimport {textDecorationLine} from './property-descriptors/text-decoration-line';\nimport {isLengthPercentage, LengthPercentage, ZERO_LENGTH} from './types/length-percentage';\nimport {fontFamily} from './property-descriptors/font-family';\nimport {fontSize} from './property-descriptors/font-size';\nimport {isLength} from './types/length';\nimport {fontWeight} from './property-descriptors/font-weight';\nimport {fontVariant} from './property-descriptors/font-variant';\nimport {fontStyle} from './property-descriptors/font-style';\nimport {contains} from '../core/bitwise';\nimport {content} from './property-descriptors/content';\nimport {counterIncrement} from './property-descriptors/counter-increment';\nimport {counterReset} from './property-descriptors/counter-reset';\nimport {duration} from './property-descriptors/duration';\nimport {quotes} from './property-descriptors/quotes';\nimport {boxShadow} from './property-descriptors/box-shadow';\nimport {paintOrder} from './property-descriptors/paint-order';\nimport {webkitTextStrokeColor} from './property-descriptors/webkit-text-stroke-color';\nimport {webkitTextStrokeWidth} from './property-descriptors/webkit-text-stroke-width';\nimport {Context} from '../core/context';\n\nexport class CSSParsedDeclaration {\n animationDuration: ReturnType;\n backgroundClip: ReturnType;\n backgroundColor: Color;\n backgroundImage: ReturnType;\n backgroundOrigin: ReturnType;\n backgroundPosition: ReturnType;\n backgroundRepeat: ReturnType;\n backgroundSize: ReturnType;\n borderTopColor: Color;\n borderRightColor: Color;\n borderBottomColor: Color;\n borderLeftColor: Color;\n borderTopLeftRadius: ReturnType;\n borderTopRightRadius: ReturnType;\n borderBottomRightRadius: ReturnType;\n borderBottomLeftRadius: ReturnType;\n borderTopStyle: ReturnType;\n borderRightStyle: ReturnType;\n borderBottomStyle: ReturnType;\n borderLeftStyle: ReturnType;\n borderTopWidth: ReturnType;\n borderRightWidth: ReturnType;\n borderBottomWidth: ReturnType;\n borderLeftWidth: ReturnType;\n boxShadow: ReturnType;\n color: Color;\n direction: ReturnType;\n display: ReturnType;\n float: ReturnType;\n fontFamily: ReturnType;\n fontSize: LengthPercentage;\n fontStyle: ReturnType;\n fontVariant: ReturnType;\n fontWeight: ReturnType;\n letterSpacing: ReturnType;\n lineBreak: ReturnType;\n lineHeight: CSSValue;\n listStyleImage: ReturnType;\n listStylePosition: ReturnType;\n listStyleType: ReturnType;\n marginTop: CSSValue;\n marginRight: CSSValue;\n marginBottom: CSSValue;\n marginLeft: CSSValue;\n opacity: ReturnType;\n overflowX: OVERFLOW;\n overflowY: OVERFLOW;\n overflowWrap: ReturnType;\n paddingTop: LengthPercentage;\n paddingRight: LengthPercentage;\n paddingBottom: LengthPercentage;\n paddingLeft: LengthPercentage;\n paintOrder: ReturnType;\n position: ReturnType;\n textAlign: ReturnType;\n textDecorationColor: Color;\n textDecorationLine: ReturnType;\n textShadow: ReturnType;\n textTransform: ReturnType;\n transform: ReturnType;\n transformOrigin: ReturnType;\n visibility: ReturnType;\n webkitTextStrokeColor: Color;\n webkitTextStrokeWidth: ReturnType;\n wordBreak: ReturnType;\n zIndex: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n const overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(\n context,\n textDecorationColor,\n declaration.textDecorationColor ?? declaration.color\n );\n this.textDecorationLine = parse(\n context,\n textDecorationLine,\n declaration.textDecorationLine ?? declaration.textDecoration\n );\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n\n isVisible(): boolean {\n return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;\n }\n\n isTransparent(): boolean {\n return isTransparent(this.backgroundColor);\n }\n\n isTransformed(): boolean {\n return this.transform !== null;\n }\n\n isPositioned(): boolean {\n return this.position !== POSITION.STATIC;\n }\n\n isPositionedWithZIndex(): boolean {\n return this.isPositioned() && !this.zIndex.auto;\n }\n\n isFloating(): boolean {\n return this.float !== FLOAT.NONE;\n }\n\n isInlineLevel(): boolean {\n return (\n contains(this.display, DISPLAY.INLINE) ||\n contains(this.display, DISPLAY.INLINE_BLOCK) ||\n contains(this.display, DISPLAY.INLINE_FLEX) ||\n contains(this.display, DISPLAY.INLINE_GRID) ||\n contains(this.display, DISPLAY.INLINE_LIST_ITEM) ||\n contains(this.display, DISPLAY.INLINE_TABLE)\n );\n }\n}\n\nexport class CSSParsedPseudoDeclaration {\n content: ReturnType;\n quotes: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n}\n\nexport class CSSParsedCounterDeclaration {\n counterIncrement: ReturnType;\n counterReset: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst parse = (context: Context, descriptor: CSSPropertyDescriptor, style?: string | null) => {\n const tokenizer = new Tokenizer();\n const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n const parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case PropertyDescriptorParsingType.IDENT_VALUE:\n const token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case PropertyDescriptorParsingType.VALUE:\n return descriptor.parse(context, parser.parseComponentValue());\n case PropertyDescriptorParsingType.LIST:\n return descriptor.parse(context, parser.parseComponentValues());\n case PropertyDescriptorParsingType.TOKEN_VALUE:\n return parser.parseComponentValue();\n case PropertyDescriptorParsingType.TYPE_VALUE:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return colorType.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n const length = parser.parseComponentValue();\n return isLength(length) ? length : ZERO_LENGTH;\n case 'length-percentage':\n const value = parser.parseComponentValue();\n return isLengthPercentage(value) ? value : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n","const elementDebuggerAttribute = 'data-html2canvas-debug';\nexport const enum DebuggerType {\n NONE,\n ALL,\n CLONE,\n PARSE,\n RENDER\n}\n\nconst getElementDebugType = (element: Element): DebuggerType => {\n const attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return DebuggerType.ALL;\n case 'clone':\n return DebuggerType.CLONE;\n case 'parse':\n return DebuggerType.PARSE;\n case 'render':\n return DebuggerType.RENDER;\n default:\n return DebuggerType.NONE;\n }\n};\n\nexport const isDebugging = (element: Element, type: Omit): boolean => {\n const elementType = getElementDebugType(element);\n return elementType === DebuggerType.ALL || type === elementType;\n};\n","import {CSSParsedDeclaration} from '../css/index';\nimport {TextContainer} from './text-container';\nimport {Bounds, parseBounds} from '../css/layout/bounds';\nimport {isHTMLElementNode} from './node-parser';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport const enum FLAGS {\n CREATES_STACKING_CONTEXT = 1 << 1,\n CREATES_REAL_STACKING_CONTEXT = 1 << 2,\n IS_LIST_OWNER = 1 << 3,\n DEBUG_RENDER = 1 << 4\n}\n\nexport class ElementContainer {\n readonly styles: CSSParsedDeclaration;\n readonly textNodes: TextContainer[] = [];\n readonly elements: ElementContainer[] = [];\n bounds: Bounds;\n flags = 0;\n\n constructor(protected readonly context: Context, element: Element) {\n if (isDebugging(element, DebuggerType.PARSE)) {\n debugger;\n }\n\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some((duration) => duration > 0)) {\n element.style.animationDuration = '0s';\n }\n\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n\n this.bounds = parseBounds(this.context, element);\n\n if (isDebugging(element, DebuggerType.RENDER)) {\n this.flags |= FLAGS.DEBUG_RENDER;\n }\n }\n}\n","export const base64 =\n 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\nexport const byteLength = 19616;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","import {base64, byteLength} from './grapheme-break-trie';\nimport {createTrieFromBase64} from 'utrie';\n\nconst Other = 0;\nconst Prepend = 1;\nconst CR = 2;\nconst LF = 3;\nconst Control = 4;\nconst Extend = 5;\nconst Regional_Indicator = 6;\nconst SpacingMark = 7;\nconst L = 8;\nconst V = 9;\nconst T = 10;\nconst LV = 11;\nconst LVT = 12;\nconst ZWJ = 13;\nconst Extended_Pictographic = 14;\nconst RI = 15;\n\nexport const classes: {[key: string]: number} = {\n Other,\n Prepend,\n CR,\n LF,\n Control,\n Extend,\n Regional_Indicator,\n SpacingMark,\n L,\n V,\n T,\n LV,\n LVT,\n ZWJ,\n Extended_Pictographic,\n RI,\n};\n\nexport const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED;\n\nexport const codePointToClass = (codePoint: number): number => UnicodeTrie.get(codePoint);\n\nconst _graphemeBreakAtIndex = (_codePoints: number[], classTypes: number[], index: number): BREAK_OPPORTUNITIES => {\n let prevIndex = index - 2;\n let prev = classTypes[prevIndex];\n const current = classTypes[index - 1];\n const next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n let countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const graphemeBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // GB1 Break at the start and end of text, unless the text is empty.\n if (index === 0) {\n return BREAK_ALLOWED;\n }\n\n // GB2\n if (index >= codePoints.length) {\n return BREAK_ALLOWED;\n }\n\n const classTypes = codePoints.map(codePointToClass);\n return _graphemeBreakAtIndex(codePoints, classTypes, index);\n};\n\nexport const GraphemeBreaker = (str: string) => {\n const codePoints = toCodePoints(str);\n const length = codePoints.length;\n let index = 0;\n let lastEnd = 0;\n const classTypes = codePoints.map(codePointToClass);\n\n return {\n next: () => {\n if (index >= length) {\n return {done: true, value: null};\n }\n\n let graphemeBreak = BREAK_NOT_ALLOWED;\n while (\n index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED\n ) {}\n\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n const value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n while (index < length) {}\n\n return {done: true, value: null};\n },\n };\n};\n\nexport const splitGraphemes = (str: string): string[] => {\n const breaker = GraphemeBreaker(str);\n\n const graphemes = [];\n let bk;\n\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n\n return graphemes;\n};\n","import {Bounds} from '../css/layout/bounds';\nimport {\n isBodyElement,\n isCanvasElement,\n isCustomElement,\n isElementNode,\n isHTMLElementNode,\n isIFrameElement,\n isImageElement,\n isScriptElement,\n isSelectElement,\n isSlotElement,\n isStyleElement,\n isSVGElementNode,\n isTextareaElement,\n isTextNode,\n isVideoElement\n} from './node-parser';\nimport {isIdentToken, nonFunctionArgSeparator} from '../css/syntax/parser';\nimport {TokenType} from '../css/syntax/tokenizer';\nimport {CounterState, createCounterText} from '../css/types/functions/counter';\nimport {LIST_STYLE_TYPE, listStyleType} from '../css/property-descriptors/list-style-type';\nimport {CSSParsedCounterDeclaration, CSSParsedPseudoDeclaration} from '../css/index';\nimport {getQuote} from '../css/property-descriptors/quotes';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport interface CloneOptions {\n ignoreElements?: (element: Element) => boolean;\n onclone?: (document: Document, element: HTMLElement) => void;\n allowTaint?: boolean;\n}\n\nexport interface WindowOptions {\n scrollX: number;\n scrollY: number;\n windowWidth: number;\n windowHeight: number;\n}\n\nexport type CloneConfigurations = CloneOptions & {\n inlineImages: boolean;\n copyStyles: boolean;\n};\n\nconst IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n\nexport class DocumentCloner {\n private readonly scrolledElements: [Element, number, number][];\n private readonly referenceElement: HTMLElement;\n clonedReferenceElement?: HTMLElement;\n private readonly documentElement: HTMLElement;\n private readonly counters: CounterState;\n private quoteDepth: number;\n\n constructor(\n private readonly context: Context,\n element: HTMLElement,\n private readonly options: CloneConfigurations\n ) {\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false) as HTMLElement;\n }\n\n toIFrame(ownerDocument: Document, windowSize: Bounds): Promise {\n const iframe: HTMLIFrameElement = createIFrameContainer(ownerDocument, windowSize);\n\n if (!iframe.contentWindow) {\n return Promise.reject(`Unable to find iframe window`);\n }\n\n const scrollX = (ownerDocument.defaultView as Window).pageXOffset;\n const scrollY = (ownerDocument.defaultView as Window).pageYOffset;\n\n const cloneWindow = iframe.contentWindow;\n const documentClone: Document = cloneWindow.document;\n\n /* Chrome doesn't detect relative background-images assigned in inline `;\n };\n\n collectStyles(children: any) {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return {children};\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props: any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [\";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n });\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion 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\\nbracketleft backslash bracketright asciicircum underscore grave\\na 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\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","import { ConversionOptions } from \"./types\";\n\nexport const MM_TO_PX = 3.77952755906;\n\nexport enum Resolution {\n LOW = 1,\n NORMAL = 2,\n MEDIUM = 3,\n HIGH = 7,\n EXTREME = 12,\n}\n\nexport enum Margin {\n NONE = 0,\n SMALL = 5,\n MEDIUM = 10,\n LARGE = 25,\n}\n\nexport const DEFAULT_OPTIONS: Readonly = {\n method: \"save\",\n resolution: Resolution.MEDIUM,\n page: {\n margin: Margin.NONE,\n format: \"A4\",\n orientation: \"portrait\",\n },\n canvas: {\n mimeType: \"image/jpeg\",\n qualityRatio: 1,\n useCORS: true,\n logging: false,\n },\n overrides: {},\n};\n","import jsPDF from \"jspdf\";\nimport { MM_TO_PX } from \"./constants\";\nimport { ConversionOptions, Options } from \"./types\";\n\nexport default class Converter {\n pdf: InstanceType;\n canvas: HTMLCanvasElement;\n options: Options;\n constructor(canvas: HTMLCanvasElement, options: ConversionOptions) {\n this.canvas = canvas;\n this.options = options;\n this.pdf = new jsPDF({\n format: this.options.page.format,\n orientation: this.options.page.orientation,\n ...this.options.overrides?.pdf,\n unit: \"mm\",\n });\n }\n getMarginTopMM() {\n const margin =\n typeof this.options.page.margin === \"object\"\n ? this.options.page.margin.top\n : this.options.page.margin;\n return Number(margin);\n }\n getMarginLeftMM() {\n const margin =\n typeof this.options.page.margin === \"object\"\n ? this.options.page.margin.left\n : this.options.page.margin;\n return Number(margin);\n }\n getMarginRightMM() {\n const margin =\n typeof this.options.page.margin === \"object\"\n ? this.options.page.margin.right\n : this.options.page.margin;\n return Number(margin);\n }\n getMarginBottomMM() {\n const margin =\n typeof this.options.page.margin === \"object\"\n ? this.options.page.margin.bottom\n : this.options.page.margin;\n return Number(margin);\n }\n getMarginTop() {\n return this.getMarginTopMM() * MM_TO_PX;\n }\n getMarginBottom() {\n return this.getMarginBottomMM() * MM_TO_PX;\n }\n getMarginLeft() {\n return this.getMarginLeftMM() * MM_TO_PX;\n }\n getMarginRight() {\n return this.getMarginRightMM() * MM_TO_PX;\n }\n getScale() {\n return this.options.resolution;\n }\n getPageHeight() {\n return this.getPageHeightMM() * MM_TO_PX;\n }\n getPageHeightMM() {\n return this.pdf.internal.pageSize.height;\n }\n getPageWidthMM() {\n return this.pdf.internal.pageSize.width;\n }\n getPageWidth() {\n return this.getPageWidthMM() * MM_TO_PX;\n }\n getOriginalCanvasWidth() {\n return this.canvas.width / this.getScale();\n }\n getOriginalCanvasHeight() {\n return this.canvas.height / this.getScale();\n }\n getCanvasPageAvailableHeight() {\n return (\n this.getPageAvailableHeight() *\n this.getScale() *\n this.getHorizontalFitFactor()\n );\n }\n getPageAvailableWidth() {\n return this.getPageWidth() - (this.getMarginLeft() + this.getMarginRight());\n }\n getPageAvailableHeight() {\n return (\n this.getPageHeight() - (this.getMarginTop() + this.getMarginBottom())\n );\n }\n getPageAvailableWidthMM() {\n return this.getPageAvailableWidth() / MM_TO_PX;\n }\n getPageAvailableHeightMM() {\n return this.getPageAvailableHeight() / MM_TO_PX;\n }\n getNumberPages() {\n return Math.ceil(this.canvas.height / this.getCanvasPageAvailableHeight());\n }\n getHorizontalFitFactor() {\n if (this.getPageAvailableWidth() < this.getOriginalCanvasWidth()) {\n return this.getOriginalCanvasWidth() / this.getPageAvailableWidth();\n }\n return 1;\n }\n getCanvasOffsetY(pageNumber: number) {\n return this.getCanvasPageAvailableHeight() * (pageNumber - 1);\n }\n getCanvasHeightLeft(pageNumber: number) {\n return this.canvas.height - this.getCanvasOffsetY(pageNumber);\n }\n getCanvasPageHeight(pageNumber: number) {\n if (this.canvas.height < this.getCanvasPageAvailableHeight()) {\n return this.canvas.height;\n }\n const canvasHeightPending = this.getCanvasHeightLeft(pageNumber);\n return canvasHeightPending < this.getCanvasPageAvailableHeight()\n ? canvasHeightPending\n : this.getCanvasPageAvailableHeight();\n }\n getCanvasPageWidth() {\n return this.canvas.width;\n }\n createCanvasPage(pageNumber: number): HTMLCanvasElement {\n const canvasPageWidth = this.getCanvasPageWidth();\n const canvasPageHeight = this.getCanvasPageHeight(pageNumber);\n const canvasPage = document.createElement(\"canvas\");\n canvasPage.setAttribute(\"width\", String(canvasPageWidth));\n canvasPage.setAttribute(\"height\", String(canvasPageHeight));\n const ctx = canvasPage.getContext(\"2d\");\n ctx.drawImage(\n this.canvas,\n 0,\n this.getCanvasOffsetY(pageNumber),\n this.canvas.width,\n canvasPageHeight,\n 0,\n 0,\n this.canvas.width,\n canvasPageHeight\n );\n return canvasPage;\n }\n convert(): InstanceType {\n let pageNumber = 1;\n const numberPages = this.getNumberPages();\n while (pageNumber <= numberPages) {\n if (pageNumber > 1) {\n this.pdf.addPage(\n this.options.page.format,\n this.options.page.orientation\n );\n }\n const canvasPage = this.createCanvasPage(pageNumber);\n const pageImageDataURL = canvasPage.toDataURL(\n this.options.canvas.mimeType,\n this.options.canvas.qualityRatio\n );\n this.pdf.setPage(pageNumber);\n this.pdf.addImage({\n imageData: pageImageDataURL,\n width:\n canvasPage.width /\n (this.getScale() * MM_TO_PX * this.getHorizontalFitFactor()),\n height:\n canvasPage.height /\n (this.getScale() * MM_TO_PX * this.getHorizontalFitFactor()),\n x: this.getMarginLeftMM(),\n y: this.getMarginTopMM(),\n });\n pageNumber += 1;\n }\n return this.pdf;\n }\n}\n","import { DEFAULT_OPTIONS } from \"./constants\";\nimport { ConversionOptions, Options } from \"./types\";\n\nexport const buildConvertOptions = (options?: Options): ConversionOptions => {\n if (!options) {\n return DEFAULT_OPTIONS;\n }\n return {\n ...DEFAULT_OPTIONS,\n ...options,\n canvas: { ...DEFAULT_OPTIONS.canvas, ...options.canvas },\n page: { ...DEFAULT_OPTIONS.page, ...options.page },\n };\n};\n","import { useRef, useCallback } from \"react\";\nimport html2canvas from \"html2canvas\";\n\nimport Converter from \"./converter\";\nimport { Options, TargetElementFinder, UsePDFResult } from \"./types\";\nimport { buildConvertOptions } from \"./utils\";\nimport jsPDF from \"jspdf\";\nexport { Resolution, Margin } from \"./constants\";\nexport type { Options };\n\nconst getTargetElement = (\n targetRefOrFunction: TargetElementFinder\n): HTMLElement | null | undefined => {\n if (typeof targetRefOrFunction === \"function\") {\n return targetRefOrFunction();\n }\n return targetRefOrFunction?.current;\n};\n\nexport const usePDF = (usePDFoptions?: Options): UsePDFResult => {\n const targetRef = useRef();\n const toPDF = useCallback(\n (toPDFoptions?: Options): Promise> => {\n return generatePDF(targetRef, usePDFoptions ?? toPDFoptions);\n },\n [targetRef, usePDFoptions]\n );\n return { targetRef, toPDF };\n};\n\nconst generatePDF = async (\n targetRefOrFunction: TargetElementFinder,\n customOptions?: Options\n): Promise> => {\n const options = buildConvertOptions(customOptions);\n const targetElement = getTargetElement(targetRefOrFunction);\n if (!targetElement) {\n console.error(\"Unable to get the target element.\");\n return;\n }\n const canvas = await html2canvas(targetElement, {\n useCORS: options.canvas.useCORS,\n logging: options.canvas.logging,\n scale: options.resolution,\n ...options.overrides?.canvas,\n });\n const converter = new Converter(canvas, options);\n const pdf = converter.convert();\n switch (options.method) {\n case \"build\":\n return pdf;\n case \"open\": {\n window.open(pdf.output(\"bloburl\"), \"_blank\");\n return pdf;\n }\n case \"save\":\n default: {\n const pdfFilename = options.filename ?? `${new Date().getTime()}.pdf`;\n await pdf.save(pdfFilename, { returnPromise: true });\n return pdf;\n }\n }\n};\n\nexport default generatePDF;\n","/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */\nvar XLSX = {};\nXLSX.version = '0.18.5';\nvar current_codepage = 1200, current_ansi = 1252;\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ];\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n\t/*::[*/0/*::]*/: 1252, /* ANSI */\n\t/*::[*/1/*::]*/: 65001, /* DEFAULT */\n\t/*::[*/2/*::]*/: 65001, /* SYMBOL */\n\t/*::[*/77/*::]*/: 10000, /* MAC */\n\t/*::[*/128/*::]*/: 932, /* SHIFTJIS */\n\t/*::[*/129/*::]*/: 949, /* HANGUL */\n\t/*::[*/130/*::]*/: 1361, /* JOHAB */\n\t/*::[*/134/*::]*/: 936, /* GB2312 */\n\t/*::[*/136/*::]*/: 950, /* CHINESEBIG5 */\n\t/*::[*/161/*::]*/: 1253, /* GREEK */\n\t/*::[*/162/*::]*/: 1254, /* TURKISH */\n\t/*::[*/163/*::]*/: 1258, /* VIETNAMESE */\n\t/*::[*/177/*::]*/: 1255, /* HEBREW */\n\t/*::[*/178/*::]*/: 1256, /* ARABIC */\n\t/*::[*/186/*::]*/: 1257, /* BALTIC */\n\t/*::[*/204/*::]*/: 1251, /* RUSSIAN */\n\t/*::[*/222/*::]*/: 874, /* THAI */\n\t/*::[*/238/*::]*/: 1250, /* EASTEUROPE */\n\t/*::[*/255/*::]*/: 1252, /* OEM */\n\t/*::[*/69/*::]*/: 6969 /* MISC */\n}/*:any*/);\n\nvar set_ansi = function(cp/*:number*/) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data/*:string*/)/*:Array*/ { var o/*:Array*/ = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data/*:string*/)/*:string*/ {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\n\nvar $cptable;\nfunction set_cptable(cptable) {\n\t$cptable = cptable;\n\tset_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data/*:string*/) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return $cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x/*:number*/)/*:string*/ {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn $cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x/*:number*/)/*:string*/ {\n\t\treturn $cptable.utils.decode(current_ansi, [x])[0];\n\t};\n\tcpdoit();\n}\nexport { set_cptable };\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64_map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nfunction Base64_encode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n for (var i = 0; i < input.length; ) {\n c1 = input.charCodeAt(i++);\n e1 = c1 >> 2;\n c2 = input.charCodeAt(i++);\n e2 = (c1 & 3) << 4 | c2 >> 4;\n c3 = input.charCodeAt(i++);\n e3 = (c2 & 15) << 2 | c3 >> 6;\n e4 = c3 & 63;\n if (isNaN(c2)) {\n e3 = e4 = 64;\n } else if (isNaN(c3)) {\n e4 = 64;\n }\n o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);\n }\n return o;\n}\nfunction Base64_decode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n input = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n for (var i = 0; i < input.length; ) {\n e1 = Base64_map.indexOf(input.charAt(i++));\n e2 = Base64_map.indexOf(input.charAt(i++));\n c1 = e1 << 2 | e2 >> 4;\n o += String.fromCharCode(c1);\n e3 = Base64_map.indexOf(input.charAt(i++));\n c2 = (e2 & 15) << 4 | e3 >> 2;\n if (e3 !== 64) {\n o += String.fromCharCode(c2);\n }\n e4 = Base64_map.indexOf(input.charAt(i++));\n c3 = (e3 & 3) << 6 | e4;\n if (e4 !== 64) {\n o += String.fromCharCode(c3);\n }\n }\n return o;\n}\nvar has_buf = /*#__PURE__*/(function() { return typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node; })();\n\nvar Buffer_from = /*#__PURE__*/(function() {\n\tif(typeof Buffer !== 'undefined') {\n\t\tvar nbfs = !Buffer.from;\n\t\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\t\treturn nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t}\n\treturn function() {};\n})();\n\n\nfunction new_raw_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.alloc ? Buffer.alloc(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s/*:string*/)/*:any*/ {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x/*:string*/)/*:number*/{ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s/*:string*/)/*:any*/ {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data/*:any*/)/*:string*/ {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o/*:Array*/ = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data/*:Array*/)/*:Uint8Array*/ {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data/*:ArrayBuffer|Uint8Array*/)/*:Array*/ {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\n\t/*:: if(data instanceof ArrayBuffer) throw new Error(\"unreachable\"); */\n\tvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = has_buf ? function(bufs) { return Buffer.concat(bufs.map(function(buf) { return Buffer.isBuffer(buf) ? buf : Buffer_from(buf); })); } : function(bufs) {\n\tif(typeof Uint8Array !== \"undefined\") {\n\t\tvar i = 0, maxlen = 0;\n\t\tfor(i = 0; i < bufs.length; ++i) maxlen += bufs[i].length;\n\t\tvar o = new Uint8Array(maxlen);\n\t\tvar len = 0;\n\t\tfor(i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) {\n\t\t\tlen = bufs[i].length;\n\t\t\tif(bufs[i] instanceof Uint8Array) o.set(bufs[i], maxlen);\n\t\t\telse if(typeof bufs[i] == \"string\") { throw \"wtf\"; }\n\t\t\telse o.set(new Uint8Array(bufs[i]), maxlen);\n\t\t}\n\t\treturn o;\n\t}\n\treturn [].concat.apply([], bufs.map(function(buf) { return Array.isArray(buf) ? buf : [].slice.call(buf); }));\n};\n\nfunction utf8decode(content/*:string*/) {\n\tvar out = [], widx = 0, L = content.length + 250;\n\tvar o = new_raw_buf(content.length + 255);\n\tfor(var ridx = 0; ridx < content.length; ++ridx) {\n\t\tvar c = content.charCodeAt(ridx);\n\t\tif(c < 0x80) o[widx++] = c;\n\t\telse if(c < 0x800) {\n\t\t\to[widx++] = (192|((c>>6)&31));\n\t\t\to[widx++] = (128|(c&63));\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64;\n\t\t\tvar d = content.charCodeAt(++ridx)&1023;\n\t\t\to[widx++] = (240|((c>>8)&7));\n\t\t\to[widx++] = (128|((c>>2)&63));\n\t\t\to[widx++] = (128|((d>>6)&15)|((c&3)<<4));\n\t\t\to[widx++] = (128|(d&63));\n\t\t} else {\n\t\t\to[widx++] = (224|((c>>12)&15));\n\t\t\to[widx++] = (128|((c>>6)&63));\n\t\t\to[widx++] = (128|(c&63));\n\t\t}\n\t\tif(widx > L) {\n\t\t\tout.push(o.slice(0, widx));\n\t\t\twidx = 0;\n\t\t\to = new_raw_buf(65535);\n\t\t\tL = 65530;\n\t\t}\n\t}\n\tout.push(o.slice(0, widx));\n\treturn bconcat(out);\n}\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/*::\ndeclare type Block = any;\ndeclare type BufArray = {\n\tnewblk(sz:number):Block;\n\tnext(sz:number):Block;\n\tend():any;\n\tpush(buf:Block):void;\n};\n\ntype RecordHopperCB = {(d:any, Rn:string, RT:number):?boolean;};\n\ntype EvertType = {[string]:string};\ntype EvertNumType = {[string]:number};\ntype EvertArrType = {[string]:Array};\n\ntype StringConv = {(string):string};\n\n*/\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nfunction _strrev(x/*:string*/)/*:string*/ { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = /*#__PURE__*/Math.pow(2,32);\nfunction pad0r(v/*:any*/,d/*:number*/)/*:string*/{if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\n/* yes, in 2022 this is still faster than string compare */\nfunction SSF_isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days/*:Array >*/ = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months/*:Array >*/ = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction SSF_init_table(t/*:any*/) {\n\tif(!t) t = {};\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n\treturn t;\n}\n/* repeated to satiate webpack */\nvar table_fmt = {\n\t0: 'General',\n\t1: '0',\n\t2: '0.00',\n\t3: '#,##0',\n\t4: '#,##0.00',\n\t9: '0%',\n\t10: '0.00%',\n\t11: '0.00E+00',\n\t12: '# ?/?',\n\t13: '# ??/??',\n\t14: 'm/d/yy',\n\t15: 'd-mmm-yy',\n\t16: 'd-mmm',\n\t17: 'mmm-yy',\n\t18: 'h:mm AM/PM',\n\t19: 'h:mm:ss AM/PM',\n\t20: 'h:mm',\n\t21: 'h:mm:ss',\n\t22: 'm/d/yy h:mm',\n\t37: '#,##0 ;(#,##0)',\n\t38: '#,##0 ;[Red](#,##0)',\n\t39: '#,##0.00;(#,##0.00)',\n\t40: '#,##0.00;[Red](#,##0.00)',\n\t45: 'mm:ss',\n\t46: '[h]:mm:ss',\n\t47: 'mmss.0',\n\t48: '##0.0E+0',\n\t49: '@',\n\t56: '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"'\n};\n\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar SSF_default_map = {\n\t5: 37, 6: 38, 7: 39, 8: 40, // 5 -> 37 ... 8 -> 40\n\n\t23: 0, 24: 0, 25: 0, 26: 0, // 23 -> 0 ... 26 -> 0\n\n\t27: 14, 28: 14, 29: 14, 30: 14, 31: 14, // 27 -> 14 ... 31 -> 14\n\n\t50: 14, 51: 14, 52: 14, 53: 14, 54: 14, // 50 -> 14 ... 58 -> 14\n\t55: 14, 56: 14, 57: 14, 58: 14,\n\t59: 1, 60: 2, 61: 3, 62: 4, // 59 -> 1 ... 62 -> 4\n\n\t67: 9, 68: 10, // 67 -> 9 ... 68 -> 10\n\t69: 12, 70: 13, 71: 14, // 69 -> 12 ... 71 -> 14\n\t72: 14, 73: 15, 74: 16, 75: 17, // 72 -> 14 ... 75 -> 17\n\t76: 20, 77: 21, 78: 22, // 76 -> 20 ... 78 -> 22\n\t79: 45, 80: 46, 81: 47, // 79 -> 45 ... 81 -> 47\n\t82: 0 // 82 -> 0 ... 65536 -> 0 (omitted)\n};\n\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar SSF_default_str = {\n\t// 5 -- Currency, 0 decimal, black negative\n\t5: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t63: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\n\t// 6 -- Currency, 0 decimal, red negative\n\t6: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t64: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\n\t// 7 -- Currency, 2 decimal, black negative\n\t7: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t65: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 8 -- Currency, 2 decimal, red negative\n\t8: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t66: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 41 -- Accounting, 0 decimal, No Symbol\n\t41: '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)',\n\n\t// 42 -- Accounting, 0 decimal, $ Symbol\n\t42: '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)',\n\n\t// 43 -- Accounting, 2 decimal, No Symbol\n\t43: '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)',\n\n\t// 44 -- Accounting, 2 decimal, $ Symbol\n\t44: '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)'\n};\n\nfunction SSF_frac(x/*:number*/, D/*:number*/, mixed/*:?boolean*/)/*:Array*/ {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) {\n\tif(v > 2958465 || v < 0) return null;\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = SSF_fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\nvar SSFbasedate = /*#__PURE__*/new Date(1899, 11, 31, 0, 0, 0);\nvar SSFdnthresh = /*#__PURE__*/SSFbasedate.getTime();\nvar SSFbase1904 = /*#__PURE__*/new Date(1900, 2, 1, 0, 0, 0);\nfunction datenum_local(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1461*24*60*60*1000;\n\telse if(v >= SSFbase1904) epoch += 24*60*60*1000;\n\treturn (epoch - (SSFdnthresh + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/SSFbasedate.getTimezoneOffset()) * 60000)) / (24 * 60 * 60 * 1000);\n}\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\n/* exponent >= -9 and <= 9 */\nfunction SSF_strip_decimal(o/*:string*/)/*:string*/ {\n\treturn (o.indexOf(\".\") == -1) ? o : o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)$/, \"$1\");\n}\n\n/* General Exponential always shows 2 digits exp and trims the mantissa */\nfunction SSF_normalize_exp(o/*:string*/)/*:string*/ {\n\tif(o.indexOf(\"E\") == -1) return o;\n\treturn o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/,\"$1E\").replace(/(E[+-])(\\d)$/,\"$10$2\");\n}\n\n/* exponent >= -9 and <= 9 */\nfunction SSF_small_exp(v/*:number*/)/*:string*/ {\n\tvar w = (v<0?12:11);\n\tvar o = SSF_strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\n\n/* exponent >= 11 or <= -10 likely exponential */\nfunction SSF_large_exp(v/*:number*/)/*:string*/ {\n\tvar o = SSF_strip_decimal(v.toFixed(11));\n\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n}\n\nfunction SSF_general_num(v/*:number*/)/*:string*/ {\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = SSF_small_exp(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = SSF_large_exp(v);\n\n\treturn SSF_strip_decimal(SSF_normalize_exp(o.toUpperCase()));\n}\n\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tThe longest 32-bit integer text is \"-2147483648\", exactly 11 chars\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction SSF_general(v/*:any*/, opts/*:any*/) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : SSF_general_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return SSF_format(14, datenum_local(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\n\nfunction SSF_fix_hijri(date/*:Date*/, o/*:[number, number, number]*/) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\nfunction SSF_write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:string*/ {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\n\t\t\t/*::if(!ss0) ss0 = 0; */\n\t\t\tif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+Math.round(val.S+val.u); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n\n\n/*jshint -W086 */\n/*jshint +W086 */\nfunction commaify(s/*:string*/)/*:string*/ {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar pct1 = /%/g;\nfunction write_num_pct(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\n\nfunction write_num_cm(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\n\nfunction write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar o/*:string*/;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\).*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str/*:string*/)/*:string*/ {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val/*:number*/, d/*:number*/)/*:string*/ { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val/*:number*/, d/*:number*/)/*:number*/ {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val/*:number*/, d/*:number*/)/*:number*/ {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val/*:number*/)/*:string*/ {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/ {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(/*::(*/r/*::||[\"\"])*/[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\to = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\t\treturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri*/ {\n\tvar out/*:Array*/ = [];\n\tvar in_str = false/*, cc*/;\n\tfor(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) {\n\t\tcase 34: /* '\"' */\n\t\t\tin_str = !in_str; break;\n\t\tcase 95: case 42: case 92: /* '_' '*' '\\\\' */\n\t\t\t++i; break;\n\t\tcase 59: /* ';' */\n\t\t\tout[out.length] = fmt.substr(j,i-j);\n\t\t\tj = i+1;\n\t}\n\tout[out.length] = fmt.substr(j);\n\tif(in_str === true) throw new Error(\"Format |\" + fmt + \"| unterminated string \");\n\treturn out;\n}\n\nvar SSF_abstime = /\\[[HhMmSs\\u0E0A\\u0E19\\u0E17]*\\]/;\nfunction fmt_is_date(fmt/*:string*/)/*:boolean*/ {\n\tvar i = 0, /*cc = 0,*/ c = \"\", o = \"\";\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': if(SSF_isgeneral(fmt, i)) i+= 6; i++; break;\n\t\t\tcase '\"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;\n\t\t\tcase '\\\\': i+=2; break;\n\t\t\tcase '_': i+=2; break;\n\t\t\tcase '@': ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") return true;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"AM/PM\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"上午/下午\") return true;\n\t\t\t\t++i; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.match(SSF_abstime)) return true;\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\twhile(i < fmt.length && (\"0#?.,E+-%\".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!SSF_isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=SSF_parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? \"P\" : \"A\"; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(SSF_abstime)) {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) ss0=Math.max(ss0,ssm[0].length-1);\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'M': case 'e': lst=out[i].t; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/*::if(!dt) break;*/\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\n\t\t\t\t/*::if(!dt) throw \"unreachable\"; */\n\t\t\t\tout[i].v = SSF_write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = SSF_general(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\n\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f/*:string*/, v/*:any*/) {\n\tvar fmt = SSF_split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(/\\[[=<>]/) != null || fmt[1].match(/\\[[=<>]/) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table/*:any*/) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[SSF_default_map[fmt]]) || table_fmt[SSF_default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = SSF_default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(SSF_isgeneral(sfmt,0)) return SSF_general(v, o);\n\tif(v instanceof Date) v = datenum_local(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(SSF_isgeneral(f[1])) return SSF_general(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction SSF_load(fmt/*:string*/, idx/*:?number*/)/*:number*/ {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tfor(var i = 0; i < 0x0188; ++i) {\n/*::if(typeof idx != 'number') return 0x188; */\n\t\t\tif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tif(idx < 0) idx = 0x187;\n\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\ttable_fmt[idx] = fmt;\n\treturn idx;\n}\nfunction SSF_load_table(tbl/*:SSFTable*/)/*:void*/ {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) SSF_load(tbl[i], i);\n}\n\nfunction make_ssf() {\n\ttable_fmt = SSF_init_table();\n}\n\nvar SSF = {\n\tformat: SSF_format,\n\tload: SSF_load,\n\t_table: table_fmt,\n\tload_table: SSF_load_table,\n\tparse_date_code: SSF_parse_date_code,\n\tis_date: fmt_is_date,\n\tget_table: function get_table() { return SSF._table = table_fmt; }\n};\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n}/*:any*/);\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ {\n\tvar fmt = typeof dateNF == \"number\" ? table_fmt[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\n/*::\ndeclare var ReadShift:any;\ndeclare var CheckField:any;\ndeclare var prep_blob:any;\ndeclare var __readUInt32LE:any;\ndeclare var __readInt32LE:any;\ndeclare var __toBuffer:any;\ndeclare var __utf16le:any;\ndeclare var bconcat:any;\ndeclare var s2a:any;\ndeclare var chr0:any;\ndeclare var chr1:any;\ndeclare var has_buf:boolean;\ndeclare var new_buf:any;\ndeclare var new_raw_buf:any;\ndeclare var new_unsafe_buf:any;\ndeclare var Buffer_from:any;\n*/\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/*::\ntype SectorEntry = {\n\tname?:string;\n\tnodes?:Array;\n\tdata:RawBytes;\n};\ntype SectorList = {\n\t[k:string|number]:SectorEntry;\n\tname:?string;\n\tfat_addrs:Array;\n\tssz:number;\n}\ntype CFBFiles = {[n:string]:CFBEntry};\n*/\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32 = /*#__PURE__*/(function() {\nvar CRC32 = {};\nCRC32.version = '1.2.0';\n/* see perf/crc32table.js */\n/*global Int32Array */\nfunction signed_crc_table()/*:any*/ {\n\tvar c = 0, table/*:Array*/ = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table/*:Array*/ = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B/*:Uint8Array|Array*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\nreturn CRC32;\n})();\n/* [MS-CFB] v20171201 */\nvar CFB = /*#__PURE__*/(function _CFB(){\nvar exports = {};\nexports.version = '1.2.1';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l/*:string*/, r/*:string*/)/*:number*/ {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf/*:CFBlob*/, date/*:Date|string*/) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms/*:number*/ = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd/*:number*/ = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf/*:CFBlob*/)/*:Date*/ {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob/*:CFBlob*/)/*:any*/ {\n\tprep_blob(blob, 0);\n\tvar o = /*::(*/{}/*:: :any)*/;\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs/*:: = require('fs'); */;\nfunction get_fs() { return fs || (fs = {}); }\nfunction parse(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif((file[0] | 0x20) == 0x6d && (file[1]|0x20) == 0x69) return parse_mad(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs/*:Array*/ = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob/*:CFBlob*/ = /*::(*/file.slice(0,512)/*:: :any)*/;\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = /*::(*/file.slice(0,ssz)/*:: :any)*/; prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header/*:RawBytes*/ = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt/*:number*/ = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors/*:Array*/ = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list/*:SectorList*/ = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nsector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files/*:CFBFiles*/ = {}, Paths/*:Array*/ = [], FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob/*:CFBlob*/)/*:[number, number]*/ {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver/*:number*/ = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob/*:CFBlob*/, mver/*:number*/)/*:void*/ {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file/*:RawBytes*/, ssz/*:number*/)/*:Array*/ {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors/*:Array*/ = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI/*:CFBFileIndex*/, FP/*:Array*/, Paths/*:Array*/)/*:void*/ {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad/*:Array*/ = [], q/*:Array*/ = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry/*:CFBEntry*/, payload/*:RawBytes*/, mini/*:?RawBytes*/)/*:CFBlob*/ {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size)/*:any*/);\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0)/*:any*/);\n\treturn (bconcat(o).slice(0, entry.size)/*:any*/);\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx/*:number*/, cnt/*:number*/, sectors/*:Array*/, ssz/*:number*/, fat_addrs)/*:void*/ {\n\tvar q/*:number*/ = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tsleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors/*:Array*/, start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/, chkd/*:?Array*/)/*:SectorEntry*/ {\n\tvar buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors/*:Array*/, dir_start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/)/*:SectorList*/ {\n\tvar sl = sectors.length, sector_list/*:SectorList*/ = ([]/*:any*/);\n\tvar chkd/*:Array*/ = [], buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]/*:Array*/);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr/*:number*/ = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])}/*:SectorEntry*/);\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sectors/*:Array*/, Paths/*:Array*/, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob/*:CFBlob*/ = /*::(*/sector.slice(i, i+128)/*:: :any)*/;\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o/*:CFBEntry*/ = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/);\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob/*:RawBytes|CFBlob*/, offset/*:number*/)/*:Date*/ {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename/*:string*/, options/*:CFBReadOpts*/) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob/*:RawBytes|string*/, options/*:CFBReadOpts*/) {\n\tvar type = options && options.type;\n\tif(!type) {\n\t\tif(has_buf && Buffer.isBuffer(blob)) type = \"buffer\";\n\t}\n\tswitch(type || \"base64\") {\n\t\tcase \"file\": /*:: if(typeof blob !== 'string') throw \"Must pass a filename when type='file'\"; */return read_file(blob, options);\n\t\tcase \"base64\": /*:: if(typeof blob !== 'string') throw \"Must pass a base64-encoded binary string when type='file'\"; */return parse(s2a(Base64_decode(blob)), options);\n\t\tcase \"binary\": /*:: if(typeof blob !== 'string') throw \"Must pass a binary string when type='file'\"; */return parse(s2a(blob), options);\n\t}\n\treturn parse(/*::typeof blob == 'string' ? new Buffer(blob, 'utf-8') : */blob, options);\n}\n\nfunction init_cfb(cfb/*:CFBContainer*/, opts/*:?any*/)/*:void*/ {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 }/*:any*/);\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb/*:CFBContainer*/)/*:void*/ {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }/*:any*/));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\t// Track which names exist\n\tvar fullPaths = Object.create ? Object.create(null) : {};\n\tvar data/*:Array<[string, CFBEntry]>*/ = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tfullPaths[cfb.FullPaths[i]] = true;\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = fullPaths[dad];\n\t\tif(!s) {\n\t\t\tdata.push([dad, ({\n\t\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\t\ttype: 1,\n\t\t\t\tclsid: HEADER_CLSID,\n\t\t\t\tct: now, mt: now,\n\t\t\t\tcontent: null\n\t\t\t}/*:any*/)]);\n\t\t\t// Add name to set\n\t\t\tfullPaths[dad] = true;\n\t\t}\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar _opts = options || {};\n\t/* MAD is order-sensitive, skip rebuild and sort */\n\tif(_opts.fileType == 'mad') return write_mad(cfb, _opts);\n\trebuild_cfb(cfb);\n\tswitch(_opts.fileType) {\n\t\tcase 'zip': return write_zip(cfb, _opts);\n\t\t//case 'mad': return write_mad(cfb, _opts);\n\t}\n\tvar L = (function(cfb/*:CFBContainer*/)/*:Array*/{\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\n\t\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\t\tvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w/*:number*/)/*:void*/ {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\n\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\tflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm/*:string*/ = (i === 0 && _opts.root) || file.name;\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 511) & -512;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size > 0 && file.size < 0x1000) {\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 63) & -64;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tif (has_buf) {\n\t\to.l = o.length;\n\t} else {\n\t\t// When using Buffer, already 0-filled\n\t\twhile(o.l < o.length) o.write_shift(1, 0);\n\t}\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb/*:CFBContainer*/, path/*:string*/)/*:?CFBEntry*/ {\n\tvar UCFullPaths/*:Array*/ = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths/*:Array*/ = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k/*:boolean*/ = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath/*:string*/ = path.toUpperCase();\n\tvar w/*:number*/ = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb/*:CFBContainer*/, filename/*:string*/, options/*:CFBWriteOpts*/)/*:void*/ {\n\tget_fs();\n\tvar o = _write(cfb, options);\n\t/*:: if(typeof Buffer == 'undefined' || !Buffer.isBuffer(o) || !(o instanceof Buffer)) throw new Error(\"unreachable\"); */\n\tfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o/*:RawBytes*/)/*:string*/ {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type || \"buffer\") {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o/*:any*/)); return o;\n\t\tcase \"binary\": return typeof o == \"string\" ? o : a2s(o);\n\t\tcase \"base64\": return Base64_encode(typeof o == \"string\" ? o : a2s(o));\n\t\tcase \"buffer\": if(has_buf) return Buffer.isBuffer(o) ? o : Buffer_from(o);\n\t\t\t/* falls through */\n\t\tcase \"array\": return typeof o == \"string\" ? s2a(o) : o;\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 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 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* helpers for unaligned bit writes */\nfunction write_bits_3(buf, bl, v) { var w = bl & 7, h = bl >>> 3;\n\tif(w <= 5) buf[h] |= (v & 7) << w;\n\telse {\n\t\tbuf[h] |= (v << w) & 0xFF;\n\t\tbuf[h+1] = (v&7) >> (8-w);\n\t}\n\treturn bl + 3;\n}\n\nfunction write_bits_1(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv = (v&1) << w;\n\tbuf[h] |= v;\n\treturn bl + 1;\n}\nfunction write_bits_8(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v;\n\treturn bl + 8;\n}\nfunction write_bits_16(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v & 0xFF;\n\tbuf[h+2] = v >>> 8;\n\treturn bl + 16;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz/*:number*/) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < L; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX/*:number*/)/*:number*/ {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<*/ = [];\n\tvar i = 0;\n\tfor(;i<32; i++) dlens.push(5);\n\tbuild_tree(dlens, fix_dmap, 32);\n\n\tvar clens/*:Array*/ = [];\n\ti = 0;\n\tfor(; i<=143; i++) clens.push(8);\n\tfor(; i<=255; i++) clens.push(9);\n\tfor(; i<=279; i++) clens.push(7);\n\tfor(; i<=287; i++) clens.push(8);\n\tbuild_tree(clens, fix_lmap, 288);\n})();var _deflateRaw = /*#__PURE__*/(function _deflateRawIIFE() {\n\tvar DST_LN_RE = use_typed_arrays ? new Uint8Array(0x8000) : [];\n\tvar j = 0, k = 0;\n\tfor(; j < DST_LN.length - 1; ++j) {\n\t\tfor(; k < DST_LN[j+1]; ++k) DST_LN_RE[k] = j;\n\t}\n\tfor(;k < 32768; ++k) DST_LN_RE[k] = 29;\n\n\tvar LEN_LN_RE = use_typed_arrays ? new Uint8Array(0x103) : [];\n\tfor(j = 0, k = 0; j < LEN_LN.length - 1; ++j) {\n\t\tfor(; k < LEN_LN[j+1]; ++k) LEN_LN_RE[k] = j;\n\t}\n\n\tfunction write_stored(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t}\n\n\t/* Fixed Huffman */\n\tfunction write_huff_fixed(data, out) {\n\t\tvar bl = 0;\n\t\tvar boff = 0;\n\t\tvar addrs = use_typed_arrays ? new Uint16Array(0x8000) : [];\n\t\twhile(boff < data.length) {\n\t\t\tvar L = /* data.length - boff; */ Math.min(0xFFFF, data.length - boff);\n\n\t\t\t/* write a stored block for short data */\n\t\t\tif(L < 10) {\n\t\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length)); // jshint ignore:line\n\t\t\t\tif(bl & 7) bl += 8 - (bl & 7);\n\t\t\t\tout.l = (bl / 8) | 0;\n\t\t\t\tout.write_shift(2, L);\n\t\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t\t\tbl = out.l * 8;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length) + 2); // jshint ignore:line\n\t\t\tvar hash = 0;\n\t\t\twhile(L-- > 0) {\n\t\t\t\tvar d = data[boff];\n\t\t\t\thash = ((hash << 5) ^ d) & 0x7FFF;\n\n\t\t\t\tvar match = -1, mlen = 0;\n\n\t\t\t\tif((match = addrs[hash])) {\n\t\t\t\t\tmatch |= boff & ~0x7FFF;\n\t\t\t\t\tif(match > boff) match -= 0x8000;\n\t\t\t\t\tif(match < boff) while(data[match + mlen] == data[boff + mlen] && mlen < 250) ++mlen;\n\t\t\t\t}\n\n\t\t\t\tif(mlen > 2) {\n\t\t\t\t\t/* Copy Token */\n\t\t\t\t\td = LEN_LN_RE[mlen];\n\t\t\t\t\tif(d <= 22) bl = write_bits_8(out, bl, bitswap8[d+1]>>1) - 1;\n\t\t\t\t\telse {\n\t\t\t\t\t\twrite_bits_8(out, bl, 3);\n\t\t\t\t\t\tbl += 5;\n\t\t\t\t\t\twrite_bits_8(out, bl, bitswap8[d-23]>>5);\n\t\t\t\t\t\tbl += 3;\n\t\t\t\t\t}\n\t\t\t\t\tvar len_eb = (d < 8) ? 0 : ((d - 4)>>2);\n\t\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, mlen - LEN_LN[d]);\n\t\t\t\t\t\tbl += len_eb;\n\t\t\t\t\t}\n\n\t\t\t\t\td = DST_LN_RE[boff - match];\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]>>3);\n\t\t\t\t\tbl -= 3;\n\n\t\t\t\t\tvar dst_eb = d < 4 ? 0 : (d-2)>>1;\n\t\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, boff - match - DST_LN[d]);\n\t\t\t\t\t\tbl += dst_eb;\n\t\t\t\t\t}\n\t\t\t\t\tfor(var q = 0; q < mlen; ++q) {\n\t\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t\thash = ((hash << 5) ^ data[boff]) & 0x7FFF;\n\t\t\t\t\t\t++boff;\n\t\t\t\t\t}\n\t\t\t\t\tL-= mlen - 1;\n\t\t\t\t} else {\n\t\t\t\t\t/* Literal Token */\n\t\t\t\t\tif(d <= 143) d = d + 48;\n\t\t\t\t\telse bl = write_bits_1(out, bl, 1);\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]);\n\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t++boff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbl = write_bits_8(out, bl, 0) - 1;\n\t\t}\n\t\tout.l = ((bl + 7)/8)|0;\n\t\treturn out.l;\n\t}\n\treturn function _deflateRaw(data, out) {\n\t\tif(data.length < 8) return write_stored(data, out);\n\t\treturn write_huff_fixed(data, out);\n\t};\n})();\n\nfunction _deflate(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n}\n/* modified inflate function also moves original read head */\n\nvar dyn_lmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_dmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_cmap = use_typed_arrays ? new Uint16Array(128) : zero_fill_array(128);\nvar dyn_len_1 = 1, dyn_len_2 = 1;\n\n/* 5.5.3 Expanding Huffman Codes */\nfunction dyn(data, boff/*:number*/) {\n\t/* nomenclature from RFC1951 refers to bit values; these are offset by the implicit constant */\n\tvar _HLIT = read_bits_5(data, boff) + 257; boff += 5;\n\tvar _HDIST = read_bits_5(data, boff) + 1; boff += 5;\n\tvar _HCLEN = read_bits_4(data, boff) + 4; boff += 4;\n\tvar w = 0;\n\n\t/* grab and store code lengths */\n\tvar clens = use_typed_arrays ? new Uint8Array(19) : zero_fill_array(19);\n\tvar ctree = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n\tvar maxlen = 1;\n\tvar bl_count = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar next_code = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar L = clens.length; /* 19 */\n\tfor(var i = 0; i < _HCLEN; ++i) {\n\t\tclens[CLEN_ORDER[i]] = w = read_bits_3(data, boff);\n\t\tif(maxlen < w) maxlen = w;\n\t\tbl_count[w]++;\n\t\tboff += 3;\n\t}\n\n\t/* build code tree */\n\tvar ccode = 0;\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) next_code[i] = ccode = (ccode + bl_count[i-1])<<1;\n\tfor(i = 0; i < L; ++i) if((ccode = clens[i]) != 0) ctree[i] = next_code[ccode]++;\n\t/* cmap[7 bits from stream] = (off&7) + (lit<<3) */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bitswap8[ctree[i]]>>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<*/ = [];\n\tmaxlen = 1;\n\tfor(; hcodes.length < _HLIT + _HDIST;) {\n\t\tccode = dyn_cmap[read_bits_7(data, boff)];\n\t\tboff += ccode & 7;\n\t\tswitch((ccode >>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz/*:number*/) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(sz > 0) {\n\t\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\t\twhile(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\t}\n\t\t\tcontinue;\n\t\t} else if((header >> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt + 100); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\tif(usz) return [outbuf, (boff+7)>>>3];\n\treturn [outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tvar blob/*:CFBlob*/ = /*::(*/file/*:: :any)*/;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(/*::(*/blob.slice(blob.l+namelen, blob.l+namelen+efsz)/*:: :any)*/);\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob/*:CFBlob*/, csz/*:number*/, usz/*:number*/, o/*:CFBContainer*/, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(/*::(*/blob.slice(blob.l, blob.l + efsz)/*:: :any)*/);\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif(((EF||{})[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: break; // TODO: scan for magic number\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\t//var _crc32 = CRC32.buf(data, 0);\n\t//if((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o/*:CFBlob*/ = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = CRC32.buf(/*::((*/fi.content/*::||[]):any)*/, 0);\n\n\t\tvar outbuf = fi.content/*::||[]*/;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: extra fields? */\n\n\t\t/* TODO: encryption header ? */\n\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out/*:any*/)), bconcat(cdirs), o]/*:any*/));\n}\nvar ContentTypeMap = ({\n\t\"htm\": \"text/html\",\n\t\"xml\": \"text/xml\",\n\n\t\"gif\": \"image/gif\",\n\t\"jpg\": \"image/jpeg\",\n\t\"png\": \"image/png\",\n\n\t\"mso\": \"application/x-mso\",\n\t\"thmx\": \"application/vnd.ms-officetheme\",\n\t\"sh33tj5\": \"application/octet-stream\"\n}/*:any*/);\n\nfunction get_content_type(fi/*:CFBEntry*/, fp/*:string*/)/*:string*/ {\n\tif(fi.ctype) return fi.ctype;\n\n\tvar ext = fi.name || \"\", m = ext.match(/\\.([^\\.]+)$/);\n\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\n\tif(fp) {\n\t\tm = (ext = fp).match(/[\\.\\\\]([^\\.\\\\])+$/);\n\t\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\t}\n\n\treturn \"application/octet-stream\";\n}\n\n/* 76 character chunks TODO: intertwine encoding */\nfunction write_base64_76(bstr/*:string*/)/*:string*/ {\n\tvar data = Base64_encode(bstr);\n\tvar o = [];\n\tfor(var i = 0; i < data.length; i+= 76) o.push(data.slice(i, i+76));\n\treturn o.join(\"\\r\\n\") + \"\\r\\n\";\n}\n\n/*\nRules for QP:\n\t- escape =## applies for all non-display characters and literal \"=\"\n\t- space or tab at end of line must be encoded\n\t- \\r\\n newlines can be preserved, but bare \\r and \\n must be escaped\n\t- lines must not exceed 76 characters, use soft breaks =\\r\\n\n\nTODO: Some files from word appear to write line extensions with bare equals:\n\n```\n*/ = [], split = encoded.split(\"\\r\\n\");\n\tfor(var si = 0; si < split.length; ++si) {\n\t\tvar str = split[si];\n\t\tif(str.length == 0) { o.push(\"\"); continue; }\n\t\tfor(var i = 0; i < str.length;) {\n\t\t\tvar end = 76;\n\t\t\tvar tmp = str.slice(i, i + end);\n\t\t\tif(tmp.charAt(end - 1) == \"=\") end --;\n\t\t\telse if(tmp.charAt(end - 2) == \"=\") end -= 2;\n\t\t\telse if(tmp.charAt(end - 3) == \"=\") end -= 3;\n\t\t\ttmp = str.slice(i, i + end);\n\t\t\ti += end;\n\t\t\tif(i < str.length) tmp += \"=\";\n\t\t\to.push(tmp);\n\t\t}\n\t}\n\n\treturn o.join(\"\\r\\n\");\n}\nfunction parse_quoted_printable(data/*:Array*/)/*:RawBytes*/ {\n\tvar o = [];\n\n\t/* unify long lines */\n\tfor(var di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\twhile(di <= data.length && line.charAt(line.length - 1) == \"=\") line = line.slice(0, line.length - 1) + data[++di];\n\t\to.push(line);\n\t}\n\n\t/* decode */\n\tfor(var oi = 0; oi < o.length; ++oi) o[oi] = o[oi].replace(/[=][0-9A-Fa-f]{2}/g, function($$) { return String.fromCharCode(parseInt($$.slice(1), 16)); });\n\treturn s2a(o.join(\"\\r\\n\"));\n}\n\n\nfunction parse_mime(cfb/*:CFBContainer*/, data/*:Array*/, root/*:string*/)/*:void*/ {\n\tvar fname = \"\", cte = \"\", ctype = \"\", fdata;\n\tvar di = 0;\n\tfor(;di < 10; ++di) {\n\t\tvar line = data[di];\n\t\tif(!line || line.match(/^\\s*$/)) break;\n\t\tvar m = line.match(/^(.*?):\\s*([^\\s].*)$/);\n\t\tif(m) switch(m[1].toLowerCase()) {\n\t\t\tcase \"content-location\": fname = m[2].trim(); break;\n\t\t\tcase \"content-type\": ctype = m[2].trim(); break;\n\t\t\tcase \"content-transfer-encoding\": cte = m[2].trim(); break;\n\t\t}\n\t}\n\t++di;\n\tswitch(cte.toLowerCase()) {\n\t\tcase 'base64': fdata = s2a(Base64_decode(data.slice(di).join(\"\"))); break;\n\t\tcase 'quoted-printable': fdata = parse_quoted_printable(data.slice(di)); break;\n\t\tdefault: throw new Error(\"Unsupported Content-Transfer-Encoding \" + cte);\n\t}\n\tvar file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true});\n\tif(ctype) file.ctype = ctype;\n}\n\nfunction parse_mad(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tif(a2s(file.slice(0,13)).toLowerCase() != \"mime-version:\") throw new Error(\"Unsupported MAD header\");\n\tvar root = (options && options.root || \"\");\n\t// $FlowIgnore\n\tvar data = (has_buf && Buffer.isBuffer(file) ? file.toString(\"binary\") : a2s(file)).split(\"\\r\\n\");\n\tvar di = 0, row = \"\";\n\n\t/* if root is not specified, scan for the common prefix */\n\tfor(di = 0; di < data.length; ++di) {\n\t\trow = data[di];\n\t\tif(!/^Content-Location:/i.test(row)) continue;\n\t\trow = row.slice(row.indexOf(\"file\"));\n\t\tif(!root) root = row.slice(0, row.lastIndexOf(\"/\") + 1);\n\t\tif(row.slice(0, root.length) == root) continue;\n\t\twhile(root.length > 0) {\n\t\t\troot = root.slice(0, root.length - 1);\n\t\t\troot = root.slice(0, root.lastIndexOf(\"/\") + 1);\n\t\t\tif(row.slice(0,root.length) == root) break;\n\t\t}\n\t}\n\n\tvar mboundary = (data[1] || \"\").match(/boundary=\"(.*?)\"/);\n\tif(!mboundary) throw new Error(\"MAD cannot find boundary\");\n\tvar boundary = \"--\" + (mboundary[1] || \"\");\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o);\n\tvar start_di, fcnt = 0;\n\tfor(di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\tif(line !== boundary && line !== boundary + \"--\") continue;\n\t\tif(fcnt++) parse_mime(o, data.slice(start_di, di), root);\n\t\tstart_di = di;\n\t}\n\treturn o;\n}\n\nfunction write_mad(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:string*/ {\n\tvar opts = options || {};\n\tvar boundary = opts.boundary || \"SheetJS\";\n\tboundary = '------=' + boundary;\n\n\tvar out = [\n\t\t'MIME-Version: 1.0',\n\t\t'Content-Type: multipart/related; boundary=\"' + boundary.slice(2) + '\"',\n\t\t'',\n\t\t'',\n\t\t''\n\t];\n\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tfor(var i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length);\n\t\tfi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\n\t\t/* Normalize filename */\n\t\tfp = fp.replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7E-\\xFF]/g, function(c) {\n\t\t\treturn \"_x\" + c.charCodeAt(0).toString(16) + \"_\";\n\t\t}).replace(/[\\u0080-\\uFFFF]/g, function(u) {\n\t\t\treturn \"_u\" + u.charCodeAt(0).toString(16) + \"_\";\n\t\t});\n\n\t\t/* Extract content as binary string */\n\t\tvar ca = fi.content;\n\t\t// $FlowIgnore\n\t\tvar cstr = has_buf && Buffer.isBuffer(ca) ? ca.toString(\"binary\") : a2s(ca);\n\n\t\t/* 4/5 of first 1024 chars ascii -> quoted printable, else base64 */\n\t\tvar dispcnt = 0, L = Math.min(1024, cstr.length), cc = 0;\n\t\tfor(var csl = 0; csl <= L; ++csl) if((cc=cstr.charCodeAt(csl)) >= 0x20 && cc < 0x80) ++dispcnt;\n\t\tvar qp = dispcnt >= L * 4 / 5;\n\n\t\tout.push(boundary);\n\t\tout.push('Content-Location: ' + (opts.root || 'file:///C:/SheetJS/') + fp);\n\t\tout.push('Content-Transfer-Encoding: ' + (qp ? 'quoted-printable' : 'base64'));\n\t\tout.push('Content-Type: ' + get_content_type(fi, fp));\n\t\tout.push('');\n\n\t\tout.push(qp ? write_quoted_printable(cstr) : write_base64_76(cstr));\n\t}\n\tout.push(boundary + '--\\r\\n');\n\treturn out.join(\"\\r\\n\");\n}\nfunction cfb_new(opts/*:?any*/)/*:CFBContainer*/ {\n\tvar o/*:CFBContainer*/ = ({}/*:any*/);\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb/*:CFBContainer*/, name/*:string*/, content/*:?RawBytes*/, opts/*:?any*/)/*:CFBEntry*/ {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath/*:string*/ = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2}/*:any*/);\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\n\t/*:: if(!file) throw new Error(\"unreachable\"); */\n\tfile.content = (content/*:any*/);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb/*:CFBContainer*/, name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb/*:CFBContainer*/, old_name/*:string*/, new_name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb/*:CFBContainer*/)/*:void*/ { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nlet _fs = void 0;\nfunction set_fs(fs) { _fs = fs; }\nexport { set_fs };\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tif(typeof Deno !== 'undefined') {\n\t\t/* in this spot, it's safe to assume typed arrays and TextEncoder/TextDecoder exist */\n\t\tif(enc && typeof payload == \"string\") switch(enc) {\n\t\t\tcase \"utf8\": payload = new TextEncoder(enc).encode(payload); break;\n\t\t\tcase \"binary\": payload = s2ab(payload); break;\n\t\t\t/* TODO: binary equivalent */\n\t\t\tdefault: throw new Error(\"Unsupported encoding \" + enc);\n\t\t}\n\t\treturn Deno.writeFileSync(fname, payload);\n\t}\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\n\t/*:: declare var IE_SaveFile: any; */\n\tif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\n\t\t/*:: declare var navigator: any; */\n\t\tif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\n\t\t/*:: declare var saveAs: any; */\n\t\tif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\n\t\t\t/*:: declare var chrome: any; */\n\t\t\tif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true});\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */\n\t\t\t\ta.download = fname; a.href = url; document.body.appendChild(a); a.click();\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */ document.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path/*:string*/) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\tif(typeof Deno !== 'undefined') return Deno.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || !e.message.match(/onstruct/)) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o/*:any*/)/*:Array*/ {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj/*:any*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj/*:any*/)/*:EvertNumType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj/*:any*/)/*:EvertArrType*/ {\n\tvar o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar basedate = /*#__PURE__*/new Date(1899, 11, 30, 0, 0, 0); // 2209161600000\nfunction datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tif(date1904) epoch -= 1462*24*60*60*1000;\n\tvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/v.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\n\treturn (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n}\nvar refdate = /*#__PURE__*/new Date();\nvar dnthresh = /*#__PURE__*/basedate.getTime() + (/*#__PURE__*/refdate.getTimezoneOffset() - /*#__PURE__*/basedate.getTimezoneOffset()) * 60000;\nvar refoffset = /*#__PURE__*/refdate.getTimezoneOffset();\nfunction numdate(v/*:number*/)/*:Date*/ {\n\tvar out = new Date();\n\tout.setTime(v * 24 * 60 * 60 * 1000 + dnthresh);\n\tif (out.getTimezoneOffset() !== refoffset) {\n\t\tout.setTime(out.getTime() + (out.getTimezoneOffset() - refoffset) * 60000);\n\t}\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\nvar good_pd_date_1 = /*#__PURE__*/new Date('2017-02-19T19:06:09.000Z');\nvar good_pd_date = /*#__PURE__*/isNaN(/*#__PURE__*/good_pd_date_1.getFullYear()) ? /*#__PURE__*/new Date('2/19/17') : good_pd_date_1;\nvar good_pd = /*#__PURE__*/good_pd_date.getFullYear() == 2017;\n/* parses a date as a local date */\nfunction parseDate(str/*:string|Date*/, fixdate/*:?number*/)/*:Date*/ {\n\tvar d = new Date(str);\n\tif(good_pd) {\n\t\t/*:: if(fixdate == null) fixdate = 0; */\n\t\tif(fixdate > 0) d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);\n\t\telse if(fixdate < 0) d.setTime(d.getTime() - d.getTimezoneOffset() * 60 * 1000);\n\t\treturn d;\n\t}\n\tif(str instanceof Date) return str;\n\tif(good_pd_date.getFullYear() == 1917 && !isNaN(d.getFullYear())) {\n\t\tvar s = d.getFullYear();\n\t\tif(str.indexOf(\"\" + s) > -1) return d;\n\t\td.setFullYear(d.getFullYear() + 100); return d;\n\t}\n\tvar n = str.match(/\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"];\n\tvar out = new Date(+n[0], +n[1] - 1, +n[2], (+n[3]||0), (+n[4]||0), (+n[5]||0));\n\tif(str.indexOf(\"Z\") > -1) out = new Date(out.getTime() - out.getTimezoneOffset() * 60 * 1000);\n\treturn out;\n}\n\nfunction cc2str(arr/*:Array*/, debomit)/*:string*/ {\n\tif(has_buf && Buffer.isBuffer(arr)) {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(arr.slice(2).toString(\"utf16le\"));\n\t\t\tif(arr[1] == 0xFE && arr[2] == 0xFF) return utf8write(utf16beread(arr.slice(2).toString(\"binary\")));\n\t\t}\n\t\treturn arr.toString(\"binary\");\n\t}\n\n\tif(typeof TextDecoder !== \"undefined\") try {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(new TextDecoder(\"utf-16le\").decode(arr.slice(2)));\n\t\t\tif(arr[0] == 0xFE && arr[1] == 0xFF) return utf8write(new TextDecoder(\"utf-16be\").decode(arr.slice(2)));\n\t\t}\n\t\tvar rev = {\n\t\t\t\"\\u20ac\": \"\\x80\", \"\\u201a\": \"\\x82\", \"\\u0192\": \"\\x83\", \"\\u201e\": \"\\x84\",\n\t\t\t\"\\u2026\": \"\\x85\", \"\\u2020\": \"\\x86\", \"\\u2021\": \"\\x87\", \"\\u02c6\": \"\\x88\",\n\t\t\t\"\\u2030\": \"\\x89\", \"\\u0160\": \"\\x8a\", \"\\u2039\": \"\\x8b\", \"\\u0152\": \"\\x8c\",\n\t\t\t\"\\u017d\": \"\\x8e\", \"\\u2018\": \"\\x91\", \"\\u2019\": \"\\x92\", \"\\u201c\": \"\\x93\",\n\t\t\t\"\\u201d\": \"\\x94\", \"\\u2022\": \"\\x95\", \"\\u2013\": \"\\x96\", \"\\u2014\": \"\\x97\",\n\t\t\t\"\\u02dc\": \"\\x98\", \"\\u2122\": \"\\x99\", \"\\u0161\": \"\\x9a\", \"\\u203a\": \"\\x9b\",\n\t\t\t\"\\u0153\": \"\\x9c\", \"\\u017e\": \"\\x9e\", \"\\u0178\": \"\\x9f\"\n\t\t};\n\t\tif(Array.isArray(arr)) arr = new Uint8Array(arr);\n\t\treturn new TextDecoder(\"latin1\").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; });\n\t} catch(e) {}\n\n\tvar o = [];\n\tfor(var i = 0; i != arr.length; ++i) o.push(String.fromCharCode(arr[i]));\n\treturn o.join(\"\");\n}\n\nfunction dup(o/*:any*/)/*:any*/ {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s/*:string*/)/*:number*/ {\n\tvar v/*:number*/ = Number(s);\n\tif(!isNaN(v)) return isFinite(v) ? v : NaN;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(](.*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\nvar lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nfunction fuzzydate(s/*:string*/)/*:Date*/ {\n\tvar o = new Date(s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tvar lower = s.toLowerCase();\n\tif(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) {\n\t\tlower = lower.replace(/[^a-z]/g,\"\").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,\"\");\n\t\tif(lower.length > 3 && lower_months.indexOf(lower) == -1) return n;\n\t} else if(lower.match(/[a-z]/)) return n;\n\tif(y < 0 || y > 8099) return n;\n\tif((m > 0 || d > 1) && y != 101) return o;\n\tif(s.match(/[^-0-9:,\\/\\\\]/)) return n;\n\treturn o;\n}\n\nvar split_regex = /*#__PURE__*/(function() {\n\tvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\n\treturn function split_regex(str/*:string*/, re, def/*:string*/)/*:Array*/ {\n\t\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\t\tvar p = str.split(re), o = [p[0]];\n\t\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\t\treturn o;\n\t};\n})();\nfunction getdatastr(data)/*:?string*/ {\n\tif(!data) return null;\n\tif(data.content && data.type) return cc2str(data.content, true);\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file/*:string*/) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase().replace(/[\\/]/g, '\\\\'), g = f.replace(/\\\\/g,'\\/');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex1=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\">\\s=]+))*\\s*[\\/\\?]?>/mg, tagregex2 = /<[^>]*>/g;\nvar tagregex = /*#__PURE__*/XML_HEADER.match(tagregex1) ? tagregex1 : tagregex2;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag/*:string*/, skip_root/*:?boolean*/, skip_LC/*:?boolean*/)/*:any*/ {\n\tvar z = ({}/*:any*/);\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i];\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = /*#__PURE__*/evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml/*:StringConv*/ = /*#__PURE__*/(function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\treturn function unescapexml(text/*:string*/)/*:string*/ {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn unescapexml(s.slice(0, i)) + s.slice(i+9,j) + unescapexml(s.slice(j+3));\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f]/g;\nfunction escapexml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text/*:string*/)/*:string*/{ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
    \").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); };\n})();\nfunction xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); }\n\nfunction parsexmlbool(value/*:any*/)/*:boolean*/ {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': case 'TRUE': return true;\n\t\t/* case '0': case 'false': case 'FALSE':*/\n\t\tdefault: return false;\n\t}\n}\n\nfunction utf8reada(orig/*:string*/)/*:string*/ {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n}\n\nfunction utf8readb(data) {\n\tvar out = new_raw_buf(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\tfor(i = 0; i < data.length; i+=j) {\n\t\tj = 1;\n\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\telse { j = 4;\n\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t}\n\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t}\n\treturn out.slice(0,k).toString('ucs2');\n}\n\nfunction utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); }\n\nvar utf8corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\nvar utf8read = has_buf && (/*#__PURE__*/utf8readc(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readc || /*#__PURE__*/utf8readb(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readb) || utf8reada;\n\nvar utf8write/*:StringConv*/ = has_buf ? function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); } : function(orig/*:string*/)/*:string*/ {\n\tvar out/*:Array*/ = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\n// matches ... extracts content\nvar matchtag = /*#__PURE__*/(function() {\n\tvar mtcache/*:{[k:string]:RegExp}*/ = ({}/*:any*/);\n\treturn function matchtag(f/*:string*/,g/*:?string*/)/*:RegExp*/ {\n\t\tvar t = f+\"|\"+(g||\"\");\n\t\tif(mtcache[t]) return mtcache[t];\n\t\treturn (mtcache[t] = new RegExp('<(?:\\\\w+:)?'+f+'(?: xml:space=\"preserve\")?(?:[^>]*)>([\\\\s\\\\S]*?)',((g||\"\")/*:any*/)));\n\t};\n})();\n\nvar htmldecode/*:{(s:string):string}*/ = /*#__PURE__*/(function() {\n\tvar entities/*:Array<[RegExp, string]>*/ = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x/*:[string, string]*/) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str/*:string*/)/*:string*/ {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/[\\t\\n\\r ]+$/,\"\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtregex = /*#__PURE__*/(function(){ var vt_cache = {};\n\treturn function vt_regex(bt) {\n\t\tif(vt_cache[bt] !== undefined) return vt_cache[bt];\n\t\treturn (vt_cache[bt] = new RegExp(\"<(?:vt:)?\" + bt + \">([\\\\s\\\\S]*?)\", 'g') );\n};})();\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^>]*)>([\\s\\S]*)*/ {\n\tvar h = parsexmltag(data);\n\n\tvar matches/*:Array*/ = data.match(vtregex(h.baseType))||[];\n\tvar res/*:Array*/ = [];\n\tif(matches.length != h.size) {\n\t\tif(opts.WTF) throw new Error(\"unexpected vector length \" + matches.length + \" != \" + h.size);\n\t\treturn res;\n\t}\n\tmatches.forEach(function(x/*:string*/) {\n\t\tvar v = x.replace(vtvregex,\"\").match(vtmregex);\n\t\tif(v) res.push({v:utf8read(v[2]), t:v[1]});\n\t});\n\treturn res;\n}\n\nvar wtregex = /(^\\s|\\s$|\\n)/;\nfunction writetag(f/*:string*/,g/*:string*/)/*:string*/ { return '<' + f + (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + ''; }\n\nfunction wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f/*:string*/,g/*:?string*/,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx/*:?boolean*/)/*:string*/ {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nfunction xlml_normalize(d)/*:string*/ {\n\tif(has_buf &&/*::typeof Buffer !== \"undefined\" && d != null && d instanceof Buffer &&*/ Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n/* UOS uses CJK in tags */\nvar xlmlregex = /<(\\/?)([^\\s?>:\\/]+)(?:[\\s?:\\/][^>]*)?>/mg;\n//var xlmlregex = /<(\\/?)([a-z0-9]*:|)(\\w+)[^>]*>/mg;\n\nvar XMLNS = ({\n\tCORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',\n\tCUST_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",\n\tEXT_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\n\tCT: 'http://schemas.openxmlformats.org/package/2006/content-types',\n\tRELS: 'http://schemas.openxmlformats.org/package/2006/relationships',\n\tTCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments',\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n}/*:any*/);\n\nvar XMLNS_main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n}/*:any*/);\nfunction read_double_le(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b/*:RawBytes|CFBlob*/, v/*:number*/, idx/*:number*/) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar ___toBuffer = function(bufs/*:Array >*/)/*:RawBytes*/ { var x=[],w=10240; for(var i=0;i 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0].map(function(x) { return Buffer.isBuffer(x) ? x : Buffer_from(x); })) : ___toBuffer(bufs);} : ___toBuffer;\n\nvar ___utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/)/*:string*/ { var ss/*:Array*/=[]; for(var i=s; i*/=[]; for(var i=s; i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpstr = ___lpstr;\n\nvar ___cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __cpstr = ___cpstr;\n\nvar ___lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpwstr = ___lpwstr;\n\nvar ___lpp4 = function lpp4_(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __lpp4 = ___lpp4;\n\nvar ___8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = ___8lpp4;\n\nvar ___double = function(b/*:RawBytes|CFBlob*/, idx/*:number*/) { return read_double_le(b, idx);};\nvar __double = ___double;\n\nvar is_buf = function is_buf_a(a) { return Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n\nif(has_buf/*:: && typeof Buffer !== 'undefined'*/) {\n\t__lpstr = function lpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__double = function double_(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n}\n\n/* from js-xls */\nfunction cpdoit() {\n\t__utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\nif(typeof $cptable !== 'undefined') cpdoit();\n\nvar __readUInt8 = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx]; };\nvar __readUInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ {\n\tvar o=\"\", oI/*:: :number = 0*/, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this)) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof $cptable !== 'undefined') {\n\t\t\t\to = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\n\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\tfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs') {\n\t\tif(typeof $cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cppayload = $cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cppayload[0];\n\t\t\t}\n\t\t} else {\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t}\n\t\tsize = val.length;\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tvar end/*:number*/ = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else /*:: if(typeof val === 'number') */ switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr/*:string*/, fld/*:string*/)/*:void*/ {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos/*:number*/)/*:void*/ {\n\tblob.l = pos;\n\tblob.read_shift = /*::(*/ReadShift/*:: :any)*/;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length/*:: :number, opts?:any */) { blob.l += length; }\n\nfunction new_buf(sz/*:number*/)/*:Block*/ {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = R.f && R.f(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array()/*:BufArray*/ {\n\tvar bufs/*:Array*/ = [], blksz = has_buf ? 256 : 2048;\n\tvar newblk = function ba_newblk(sz/*:number*/)/*:Block*/ {\n\t\tvar o/*:Block*/ = (new_buf(sz)/*:any*/);\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf/*:Block*/ = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz/*:number*/)/*:Block*/ {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn bconcat(bufs);\n\t};\n\n\tvar push = function ba_push(buf) { endbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz); };\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs }/*:any*/);\n}\n\nfunction write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) {\n\tvar t/*:number*/ = +type, l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell/*:CellAddress*/, tgt/*:any*/, opts/*:?any*/)/*:CellAddress*/ {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c/*:CellAddress*/, biff/*:number*/)/*:string*/ {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts)/*:string*/ {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nfunction decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row/*:number*/)/*:string*/ { return \"\" + (row + 1); }\nfunction fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr/*:string*/)/*:number*/ { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col/*:number*/)/*:string*/ { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\n//function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }\nfunction decode_cell(cstr/*:string*/)/*:CellAddress*/ {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\n//function encode_cell(cell/*:CellAddress*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); }\nfunction encode_cell(cell/*:CellAddress*/)/*:string*/ {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range/*:string*/)/*:Range*/ {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\n/*# if only one arg, it is assumed to be a Range. If 2 args, both are cell addresses */\nfunction encode_range(cs/*:CellAddrSpec|Range*/,ce/*:?CellAddrSpec*/)/*:string*/ {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\n/*:: if(!(cs instanceof Range)) throw \"unreachable\"; */\n\t\treturn encode_range(cs.s, cs.e);\n\t}\n/*:: if((cs instanceof Range)) throw \"unreachable\"; */\n\tif(typeof cs !== 'string') cs = encode_cell((cs/*:any*/));\n\tif(typeof ce !== 'string') ce = encode_cell((ce/*:any*/));\n/*:: if(typeof cs !== 'string') throw \"unreachable\"; */\n/*:: if(typeof ce !== 'string') throw \"unreachable\"; */\n\treturn cs == ce ? cs : cs + \":\" + ce;\n}\n\nfunction safe_decode_range(range/*:string*/)/*:Range*/ {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\t++i;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell/*:Cell*/, v/*:any*/) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF_format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF_format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell/*:Cell*/, v/*:any*/, o/*:any*/) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(cell.t == \"e\") return BErr[cell.v] || cell.v;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet/*:Worksheet*/, opts)/*:Workbook*/ {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar dense = _ws ? Array.isArray(_ws) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws/*:Worksheet*/ = _ws || (dense ? ([]/*:any*/) : ({}/*:any*/));\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t\tif(!ws[\"!ref\"]) ws[\"!ref\"] = \"A1:A1\";\n\t}\n\tvar range/*:Range*/ = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = _range.e.r + 1;\n\t}\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tfor(var C = 0; C != data[R].length; ++C) {\n\t\t\tif(typeof data[R][C] === 'undefined') continue;\n\t\t\tvar cell/*:Cell*/ = ({v: data[R][C] }/*:any*/);\n\t\t\tvar __R = _R + R, __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tif(data[R][C] && typeof data[R][C] === 'object' && !Array.isArray(data[R][C]) && !(data[R][C] instanceof Date)) cell = data[R][C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data[R][C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) {\n\t\t\t\t\tif(cell.f) cell.t = 'n';\n\t\t\t\t\telse if(o.nullError) { cell.t = 'e'; cell.v = 0; }\n\t\t\t\t\telse if(!o.sheetStubs) continue;\n\t\t\t\t\telse cell.t = 'z';\n\t\t\t\t}\n\t\t\t\telse if(typeof cell.v === 'number') cell.t = 'n';\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v); cell.w = SSF_format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(!ws[__R]) ws[__R] = [];\n\t\t\t\tif(ws[__R][__C] && ws[__R][__C].z) cell.z = ws[__R][__C].z;\n\t\t\t\tws[__R][__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_cell(({c:__C,r:__R}/*:any*/));\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(range.s.c < 10000000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ { return sheet_add_aoa(null, data, opts); }\n\nfunction parse_Int32LE(data) {\n\treturn data.read_shift(4, 'i');\n}\nfunction write_UInt32LE(x/*:number*/, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data/*::, length*/)/*:string*/ {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length/*:number*/)/*:XLString*/ {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str }/*:any*/);\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data)/*:any*/ {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell/*:any*/, o/*:?Block*/) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* Short XLSB Cell does not include column */\nfunction parse_XLSBShortCell(data)/*:any*/ {\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:-1, iStyleRef: iStyleRef };\n}\nfunction write_XLSBShortCell(cell/*:any*/, o/*:?Block*/) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data)/*:number*/ {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, (b[0] & 0xFC), b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data/*:number*/, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data /*::, length*/)/*:Range*/ {\n\tvar cell/*:Range*/ = ({ s: {}, e: {} }/*:any*/);\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r/*:Range*/, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx/*:string*/) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data/*::, length*/) {\n\tif(data.length - data.l < 8) throw \"XLS Xnum Buffer underflow\";\n\treturn data.read_shift(8, 'f');\n}\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data/*::, length*/) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data/*::, length, opts*/) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w/*:number*/)/*:string*/ {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m/*:number*/ = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n// Note: some tree shakers cannot handle VT_VECTOR | $CONST, hence extra vars\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\nvar VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\nvar VT_VECTOR = 0x1000;\nvar VT_VECTOR_VARIANT = 0x100C;\nvar VT_VECTOR_LPSTR = 0x101E;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Category', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'PresentationFormat', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'ByteCount', t: VT_I4 },\n\t/*::[*/0x05/*::]*/: { n: 'LineCount', t: VT_I4 },\n\t/*::[*/0x06/*::]*/: { n: 'ParagraphCount', t: VT_I4 },\n\t/*::[*/0x07/*::]*/: { n: 'SlideCount', t: VT_I4 },\n\t/*::[*/0x08/*::]*/: { n: 'NoteCount', t: VT_I4 },\n\t/*::[*/0x09/*::]*/: { n: 'HiddenCount', t: VT_I4 },\n\t/*::[*/0x0a/*::]*/: { n: 'MultimediaClipCount', t: VT_I4 },\n\t/*::[*/0x0b/*::]*/: { n: 'ScaleCrop', t: VT_BOOL },\n\t/*::[*/0x0c/*::]*/: { n: 'HeadingPairs', t: VT_VECTOR_VARIANT /* VT_VECTOR | VT_VARIANT */ },\n\t/*::[*/0x0d/*::]*/: { n: 'TitlesOfParts', t: VT_VECTOR_LPSTR /* VT_VECTOR | VT_LPSTR */ },\n\t/*::[*/0x0e/*::]*/: { n: 'Manager', t: VT_STRING },\n\t/*::[*/0x0f/*::]*/: { n: 'Company', t: VT_STRING },\n\t/*::[*/0x10/*::]*/: { n: 'LinksUpToDate', t: VT_BOOL },\n\t/*::[*/0x11/*::]*/: { n: 'CharacterCount', t: VT_I4 },\n\t/*::[*/0x13/*::]*/: { n: 'SharedDoc', t: VT_BOOL },\n\t/*::[*/0x16/*::]*/: { n: 'HyperlinksChanged', t: VT_BOOL },\n\t/*::[*/0x17/*::]*/: { n: 'AppVersion', t: VT_I4, p: 'version' },\n\t/*::[*/0x18/*::]*/: { n: 'DigSig', t: VT_BLOB },\n\t/*::[*/0x1A/*::]*/: { n: 'ContentType', t: VT_STRING },\n\t/*::[*/0x1B/*::]*/: { n: 'ContentStatus', t: VT_STRING },\n\t/*::[*/0x1C/*::]*/: { n: 'Language', t: VT_STRING },\n\t/*::[*/0x1D/*::]*/: { n: 'Version', t: VT_STRING },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n\t/*::[*/0x01/*::]*/: { n: 'CodePage', t: VT_I2 },\n\t/*::[*/0x02/*::]*/: { n: 'Title', t: VT_STRING },\n\t/*::[*/0x03/*::]*/: { n: 'Subject', t: VT_STRING },\n\t/*::[*/0x04/*::]*/: { n: 'Author', t: VT_STRING },\n\t/*::[*/0x05/*::]*/: { n: 'Keywords', t: VT_STRING },\n\t/*::[*/0x06/*::]*/: { n: 'Comments', t: VT_STRING },\n\t/*::[*/0x07/*::]*/: { n: 'Template', t: VT_STRING },\n\t/*::[*/0x08/*::]*/: { n: 'LastAuthor', t: VT_STRING },\n\t/*::[*/0x09/*::]*/: { n: 'RevNumber', t: VT_STRING },\n\t/*::[*/0x0A/*::]*/: { n: 'EditTime', t: VT_FILETIME },\n\t/*::[*/0x0B/*::]*/: { n: 'LastPrinted', t: VT_FILETIME },\n\t/*::[*/0x0C/*::]*/: { n: 'CreatedDate', t: VT_FILETIME },\n\t/*::[*/0x0D/*::]*/: { n: 'ModifiedDate', t: VT_FILETIME },\n\t/*::[*/0x0E/*::]*/: { n: 'PageCount', t: VT_I4 },\n\t/*::[*/0x0F/*::]*/: { n: 'WordCount', t: VT_I4 },\n\t/*::[*/0x10/*::]*/: { n: 'CharCount', t: VT_I4 },\n\t/*::[*/0x11/*::]*/: { n: 'Thumbnail', t: VT_CF },\n\t/*::[*/0x12/*::]*/: { n: 'Application', t: VT_STRING },\n\t/*::[*/0x13/*::]*/: { n: 'DocSecurity', t: VT_I4 },\n\t/*::[*/0xFF/*::]*/: {},\n\t/* [MS-OLEPS] 2.18 */\n\t/*::[*/0x80000000/*::]*/: { n: 'Locale', t: VT_UI4 },\n\t/*::[*/0x80000003/*::]*/: { n: 'Behavior', t: VT_UI4 },\n\t/*::[*/0x72627262/*::]*/: {}\n};\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n\t/*::[*/0x0001/*::]*/: \"US\", // United States\n\t/*::[*/0x0002/*::]*/: \"CA\", // Canada\n\t/*::[*/0x0003/*::]*/: \"\", // Latin America (except Brazil)\n\t/*::[*/0x0007/*::]*/: \"RU\", // Russia\n\t/*::[*/0x0014/*::]*/: \"EG\", // Egypt\n\t/*::[*/0x001E/*::]*/: \"GR\", // Greece\n\t/*::[*/0x001F/*::]*/: \"NL\", // Netherlands\n\t/*::[*/0x0020/*::]*/: \"BE\", // Belgium\n\t/*::[*/0x0021/*::]*/: \"FR\", // France\n\t/*::[*/0x0022/*::]*/: \"ES\", // Spain\n\t/*::[*/0x0024/*::]*/: \"HU\", // Hungary\n\t/*::[*/0x0027/*::]*/: \"IT\", // Italy\n\t/*::[*/0x0029/*::]*/: \"CH\", // Switzerland\n\t/*::[*/0x002B/*::]*/: \"AT\", // Austria\n\t/*::[*/0x002C/*::]*/: \"GB\", // United Kingdom\n\t/*::[*/0x002D/*::]*/: \"DK\", // Denmark\n\t/*::[*/0x002E/*::]*/: \"SE\", // Sweden\n\t/*::[*/0x002F/*::]*/: \"NO\", // Norway\n\t/*::[*/0x0030/*::]*/: \"PL\", // Poland\n\t/*::[*/0x0031/*::]*/: \"DE\", // Germany\n\t/*::[*/0x0034/*::]*/: \"MX\", // Mexico\n\t/*::[*/0x0037/*::]*/: \"BR\", // Brazil\n\t/*::[*/0x003d/*::]*/: \"AU\", // Australia\n\t/*::[*/0x0040/*::]*/: \"NZ\", // New Zealand\n\t/*::[*/0x0042/*::]*/: \"TH\", // Thailand\n\t/*::[*/0x0051/*::]*/: \"JP\", // Japan\n\t/*::[*/0x0052/*::]*/: \"KR\", // Korea\n\t/*::[*/0x0054/*::]*/: \"VN\", // Viet Nam\n\t/*::[*/0x0056/*::]*/: \"CN\", // China\n\t/*::[*/0x005A/*::]*/: \"TR\", // Turkey\n\t/*::[*/0x0069/*::]*/: \"JS\", // Ramastan\n\t/*::[*/0x00D5/*::]*/: \"DZ\", // Algeria\n\t/*::[*/0x00D8/*::]*/: \"MA\", // Morocco\n\t/*::[*/0x00DA/*::]*/: \"LY\", // Libya\n\t/*::[*/0x015F/*::]*/: \"PT\", // Portugal\n\t/*::[*/0x0162/*::]*/: \"IS\", // Iceland\n\t/*::[*/0x0166/*::]*/: \"FI\", // Finland\n\t/*::[*/0x01A4/*::]*/: \"CZ\", // Czech Republic\n\t/*::[*/0x0376/*::]*/: \"TW\", // Taiwan\n\t/*::[*/0x03C1/*::]*/: \"LB\", // Lebanon\n\t/*::[*/0x03C2/*::]*/: \"JO\", // Jordan\n\t/*::[*/0x03C3/*::]*/: \"SY\", // Syria\n\t/*::[*/0x03C4/*::]*/: \"IQ\", // Iraq\n\t/*::[*/0x03C5/*::]*/: \"KW\", // Kuwait\n\t/*::[*/0x03C6/*::]*/: \"SA\", // Saudi Arabia\n\t/*::[*/0x03CB/*::]*/: \"AE\", // United Arab Emirates\n\t/*::[*/0x03CC/*::]*/: \"IL\", // Israel\n\t/*::[*/0x03CE/*::]*/: \"QA\", // Qatar\n\t/*::[*/0x03D5/*::]*/: \"IR\", // Iran\n\t/*::[*/0xFFFF/*::]*/: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr/*:Array*/)/*:Array<[number, number, number]>*/ { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = /*#__PURE__*/ rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0xFFFFFF, /* 0x40 icvForeground ?? */\n\t0x000000, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = /*#__PURE__*/dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n\t/*::[*/0x00/*::]*/: \"#NULL!\",\n\t/*::[*/0x07/*::]*/: \"#DIV/0!\",\n\t/*::[*/0x0F/*::]*/: \"#VALUE!\",\n\t/*::[*/0x17/*::]*/: \"#REF!\",\n\t/*::[*/0x1D/*::]*/: \"#NAME?\",\n\t/*::[*/0x24/*::]*/: \"#NUM!\",\n\t/*::[*/0x2A/*::]*/: \"#N/A\",\n\t/*::[*/0x2B/*::]*/: \"#GETTING_DATA\",\n\t/*::[*/0xFF/*::]*/: \"#WTF?\"\n};\n//var RBErr = evert_num(BErr);\nvar RBErr = {\n\t\"#NULL!\": 0x00,\n\t\"#DIV/0!\": 0x07,\n\t\"#VALUE!\": 0x0F,\n\t\"#REF!\": 0x17,\n\t\"#NAME?\": 0x1D,\n\t\"#NUM!\": 0x24,\n\t\"#N/A\": 0x2A,\n\t\"#GETTING_DATA\": 0x2B,\n\t\"#WTF?\": 0xFF\n};\n\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\": \"workbooks\",\n\t\"application/vnd.ms-excel.addin.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": \"sheets\",\n\t\"application/vnd.ms-excel.worksheet\": \"sheets\",\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Chartsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": \"charts\",\n\t\"application/vnd.ms-excel.chartsheet\": \"charts\",\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.macrosheet+xml\": \"macros\",\n\t\"application/vnd.ms-excel.macrosheet\": \"macros\",\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* Dialogsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": \"dialogs\",\n\t\"application/vnd.ms-excel.dialogsheet\": \"dialogs\",\n\n\t/* Shared Strings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\": \"strs\",\n\t\"application/vnd.ms-excel.sharedStrings\": \"strs\",\n\n\t/* Styles */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": \"styles\",\n\t\"application/vnd.ms-excel.styles\": \"styles\",\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* Comments */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": \"comments\",\n\t\"application/vnd.ms-excel.comments\": \"comments\",\n\t\"application/vnd.ms-excel.threadedcomments+xml\": \"threadedcomments\",\n\t\"application/vnd.ms-excel.person+xml\": \"people\",\n\n\t/* Metadata (Stock/Geography and Dynamic Array) */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"metadata\",\n\t\"application/vnd.ms-excel.sheetMetadata\": \"metadata\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"TODO\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n}/*:any*/);\n\nvar CT_LIST = {\n\t\tworkbooks: {\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t\t},\n\t\tstrs: { /* Shared Strings */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t\t},\n\t\tcomments: { /* Comments */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t\t},\n\t\tsheets: { /* Worksheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t\t},\n\t\tcharts: { /* Chartsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t\t},\n\t\tdialogs: { /* Dialogsheet */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t\t},\n\t\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t\t},\n\t\tmetadata: { /* Metadata (Stock/Geography and Dynamic Array) */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.sheetMetadata\"\n\t\t},\n\t\tstyles: { /* Styles */\n\t\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t\t}\n};\n\nfunction new_ct()/*:any*/ {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], threadedcomments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [], metadata: [], people:[],\n\t\tTODO:[], xmlns: \"\" }/*:any*/);\n}\n\nfunction parse_ct(data/*:?string*/) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nfunction write_ct(ct, opts)/*:string*/ {\n\tvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\n\tvar o/*:Array*/ = [], v;\n\to[o.length] = (XML_HEADER);\n\to[o.length] = writextag('Types', null, {\n\t\t'xmlns': XMLNS.CT,\n\t\t'xmlns:xsd': XMLNS.xsd,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t});\n\n\to = o.concat([\n\t\t['xml', 'application/xml'],\n\t\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t\t/* from test files */\n\t\t['bmp', 'image/bmp'],\n\t\t['png', 'image/png'],\n\t\t['gif', 'image/gif'],\n\t\t['emf', 'image/x-emf'],\n\t\t['wmf', 'image/x-wmf'],\n\t\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t\t['pdf', 'application/pdf'],\n\t\t['rels', 'application/vnd.openxmlformats-package.relationships+xml']\n\t].map(function(x) {\n\t\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n\t}));\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('threadedcomments');\n\tf3('drawings');\n\tf2('metadata');\n\tf3('people');\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tCMNT: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n\tCORE_PROPS: \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n\tEXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',\n\tCUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties',\n\tSST: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",\n\tSTY: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n\tTHEME: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",\n\tCHART: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n\tCHARTEX: \"http://schemas.microsoft.com/office/2014/relationships/chartEx\",\n\tCS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",\n\tWS: [\n\t\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n\t],\n\tDS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",\n\tMS: \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\",\n\tIMG: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n\tDRAW: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n\tXLMETA: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\",\n\tTCMNT: \"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\",\n\tPEOPLE: \"http://schemas.microsoft.com/office/2017/10/relationships/person\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n}/*:any*/);\n\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file/*:string*/)/*:string*/ {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data/*:?string*/, currentFilePath/*:string*/) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nfunction add_rels(rels, rId/*:number*/, f, type, relobj, targetmode/*:?string*/)/*:number*/ {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(!rels['!idx']) rels['!idx'] = 1;\n\tif(rId < 0) for(rId = rels['!idx']; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trels['!idx'] = rId + 1;\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if([RELS.HLINK, RELS.XPATH, RELS.XMISS].indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\n/* Open Document Format for Office Applications (OpenDocument) Version 1.2 */\n/* Part 3 Section 4 Manifest File */\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n\tvar str = xlml_normalize(d);\n\tvar Rn;\n\tvar FEtag;\n\twhile((Rn = xlmlregex.exec(str))) switch(Rn[3]) {\n\t\tcase 'manifest': break; // 4.2 \n\t\tcase 'file-entry': // 4.3 \n\t\t\tFEtag = parsexmltag(Rn[0], false);\n\t\t\tif(FEtag.path == '/' && FEtag.type !== CT_ODS) throw new Error(\"This OpenDocument is not a spreadsheet\");\n\t\t\tbreak;\n\t\tcase 'encryption-data': // 4.4 \n\t\tcase 'algorithm': // 4.5 \n\t\tcase 'start-key-generation': // 4.6 \n\t\tcase 'key-derivation': // 4.7 \n\t\t\tthrow new Error(\"Unsupported ODS Encryption\");\n\t\tdefault: if(opts && opts.WTF) throw Rn;\n\t}\n}\n\nfunction write_manifest(manifest/*:Array >*/)/*:string*/ {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\to.push(' \\n');\n\tfor(var i = 0; i < manifest.length; ++i) o.push(' \\n');\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* Part 3 Section 6 Metadata Manifest File */\nfunction write_rdf_type(file/*:string*/, res/*:string*/, tag/*:?string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf_has(base/*:string*/, file/*:string*/) {\n\treturn [\n\t\t' \\n',\n\t\t' \\n',\n\t\t' \\n'\n\t].join(\"\");\n}\nfunction write_rdf(rdf) {\n\tvar o = [XML_HEADER];\n\to.push('\\n');\n\tfor(var i = 0; i != rdf.length; ++i) {\n\t\to.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n\t\to.push(write_rdf_has(\"\",rdf[i][0]));\n\t}\n\to.push(write_rdf_type(\"\",\"Document\", \"pkg\"));\n\to.push('');\n\treturn o.join(\"\");\n}\n/* TODO: pull properties */\nfunction write_meta_ods(/*:: wb: Workbook, opts: any*/)/*:string*/ {\n\treturn 'Sheet' + 'JS ' + XLSX.version + '';\n}\n\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS/*:Array >*/ = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nvar CORE_PROPS_REGEX/*:Array*/ = /*#__PURE__*/(function() {\n\tvar r = new Array(CORE_PROPS.length);\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar g = \"(?:\"+ f[0].slice(0,f[0].indexOf(\":\")) +\":)\"+ f[0].slice(f[0].indexOf(\":\")+1);\n\t\tr[i] = new RegExp(\"<\" + g + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + g + \">\");\n\t}\n\treturn r;\n})();\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = data.match(CORE_PROPS_REGEX[i]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, writextag('cp:coreProperties', null, {\n\t\t//'xmlns': XMLNS.CORE_PROPS,\n\t\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t\t'xmlns:dc': XMLNS.dc,\n\t\t'xmlns:dcterms': XMLNS.dcterms,\n\t\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t})], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS/*:Array >*/ = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP/*:string|Array>*/, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (data.match(matchtag(f[0]))||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = data.match(new RegExp(\"<\" + f[0] + \"[^>]*>([\\\\s\\\\S]*?)<\\/\" + f[0] + \">\"));\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nfunction write_ext_props(cp/*::, opts*/)/*:string*/ {\n\tvar o/*:Array*/ = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (writextag('Properties', null, {\n\t\t'xmlns': XMLNS.EXT_PROPS,\n\t\t'xmlns:vt': XMLNS.vt\n\t}));\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nvar custregex = /<[^>]+>[^<]*/g;\nfunction parse_cust_props(data/*:string*/, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM;\n\nfunction xlml_set_prop(Props, tag/*:string*/, val) {\n\tif(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap);\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o/*:Array*/ = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops/*::, opts*/) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o/*:Array*/ = [];\n\tif(Props) keys(Props).forEach(function(k) {\n\t\t/*:: if(!Props) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\n\t\t/*:: if(!Custprops) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time/*:string|Date*/) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad/*:?number*/) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t/*:number*/, pad/*:?boolean*/) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t/*:number*/) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.7 VtVecLpwstrValue */\nfunction parse_VtVecLpwstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) {\n\t\tvar start = blob.l;\n\t\tret[i] = blob.read_shift(0, 'lpwstr').replace(chr0,'');\n\t\tif((blob.l - start) & 0x02) blob.l += 2;\n\t}\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar start = blob.l;\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tif(blob[blob.l] == 0x00 && blob[blob.l+1] == 0x00 && ((blob.l - start) & 0x02)) blob.l += 2;\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i < cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type/*:number*/, _opts)/*:any*/ {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1 && !((type & 0xFFFE) == 0x101E && (t & 0xFFFE) == 0x101E)) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: return parse_lpstr(blob, t, 4).replace(chr0,'');\n\t\tcase 0x1F /*VT_LPWSTR*/: return parse_lpwstr(blob);\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPairValue(blob);\n\t\tcase 0x101E /*VT_VECTOR|VT_LPSTR*/:\n\t\tcase 0x101F /*VT_VECTOR|VT_LPWSTR*/:\n\t\t\treturn t == 0x101F ? parse_VtVecLpwstrValue(blob) : parse_VtVecUnalignedLpstrValue(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type/*:number*/, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: /*:: if(typeof value !== \"string\" && !(value instanceof Date)) throw \"unreachable\"; */ p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\n\t\t\t/*:: if(typeof value !== \"string\") throw \"unreachable\"; */\n\t\t\tp = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2)/*:number*/);\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/\\u0000+$/,\"\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ]; //.concat(PseudoPropsPairs);\nfunction guess_property_type(val/*:any*/)/*:number*/ {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI/*:: || {}*/)[idx]/*:: || {} */;\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\n\t\t\t\t/*:: if(typeof val !== \"string\") throw \"unreachable\"; */\n\t\t\t\tvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({}/*:any*/);\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/);\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI/*:{[key:string|number]:any}*/, entries2/*:?any*/, clsid2/*:?any*/) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr/*:: :XLString, opts*/) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob/*::, length, opts*/) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob/*::, length, opts*/) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob/*::, length*/) {\n\tvar cAnti = blob.read_shift(2);\n\tvar preamble = \"\"; while(cAnti-- > 0) preamble += \"../\";\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return preamble + ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn preamble + unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob/*::, length*/) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\nfunction write_HyperlinkString(str/*:string*/, o) {\n\tif(!o) o = new_buf(6 + str.length * 2);\n\to.write_shift(4, 1 + str.length);\n\tfor(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i));\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length)/*:Hyperlink*/ {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tif((flags & 0x0002) && target.charAt(0) == \"/\" && target.charAt(1) != \"/\") target = \"file://\" + target;\n\tvar out = ({Target:target}/*:any*/);\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tif(Target.slice(0,7) == \"file://\") Target = Target.slice(7);\n\tvar hashidx = Target.indexOf(\"#\");\n\tvar F = hashidx > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\twrite_HyperlinkString(Target, out);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar Pretarget = hashidx > -1 ? Target.slice(0, hashidx) : Target;\n\t\tout.write_shift(4, 2*(Pretarget.length + 1));\n\t\tfor(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t\tif(F & 0x08) write_HyperlinkString(hashidx > -1 ? Target.slice(hashidx+1): \"\", out);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length - 3 * P + 1);\n\t\tfor(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob/*::, length*/)/*:Cell*/ {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ixfe = blob.read_shift(2);\n\treturn ({r:rw, c:col, ixfe:ixfe}/*:any*/);\n}\nfunction write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r/*:Range*/, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob/*::, length*/) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n\t/*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */\n\t/*::[*/0x04/*::]*/: parse_FtSkip, /* FtMacro */\n\t/*::[*/0x05/*::]*/: parse_FtSkip, /* FtButton */\n\t/*::[*/0x06/*::]*/: parse_FtSkip, /* FtGmo */\n\t/*::[*/0x07/*::]*/: parse_FtCf, /* FtCf */\n\t/*::[*/0x08/*::]*/: parse_FtSkip, /* FtPioGrbit */\n\t/*::[*/0x09/*::]*/: parse_FtSkip, /* FtPictFmla */\n\t/*::[*/0x0A/*::]*/: parse_FtSkip, /* FtCbls */\n\t/*::[*/0x0B/*::]*/: parse_FtSkip, /* FtRbo */\n\t/*::[*/0x0C/*::]*/: parse_FtSkip, /* FtSbs */\n\t/*::[*/0x0D/*::]*/: parse_FtNts, /* FtNts */\n\t/*::[*/0x0E/*::]*/: parse_FtSkip, /* FtSbsFmla */\n\t/*::[*/0x0F/*::]*/: parse_FtSkip, /* FtGboData */\n\t/*::[*/0x10/*::]*/: parse_FtSkip, /* FtEdoData */\n\t/*::[*/0x11/*::]*/: parse_FtSkip, /* FtRboData */\n\t/*::[*/0x12/*::]*/: parse_FtSkip, /* FtCblsData */\n\t/*::[*/0x13/*::]*/: parse_FtSkip, /* FtLbsData */\n\t/*::[*/0x14/*::]*/: parse_FtSkip, /* FtCblsFmla */\n\t/*::[*/0x15/*::]*/: parse_FtCmo\n};\nfunction parse_FtArray(blob, length/*::, ot*/) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts.push(FtTab[ft](blob, tgt - blob.l));\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb/*:Workbook*/, t/*:number*/, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s/*:string*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10, fBelow: flags & 0x40, fRight: flags & 0x80 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tvar name = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length)/*:SST*/ {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs/*:SST*/ = ([]/*:any*/);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\n\t/*::(*/o/*:: :any)*/.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({}/*:any*/);\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1(/*::opts*/) {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o/*:any*/ = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob) {\n\tvar cell = parse_XLSCell(blob);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ /*::, opts*/) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) blob.l++;\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i/*:number*/, f/*:string*/, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\tvar f = 0;\n\tif(data.numFmtId > 0 && b5) f |= 0x0400;\n\to.write_shift(4, f);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts/*:Array*/) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2 || length == 9) ++blob.l;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:string*/) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t}/*:any*/);\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\t/*jshint -W018 */\n\tvar rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\t/*jshint +W018 */\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: verify filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 TODO: BIFF5 */\nfunction parse_NoteSh(blob, length, opts) {\n\tif(opts.biff < 8) return;\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\tif(opts.biff < 8) blob.read_shift(1);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length)/*:Array*/ {\n\tvar merges/*:Array*/ = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges/*:Array*/) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = {\n0x08: function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n}\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts); // eslint-disable-line no-unused-vars\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob)/*:[string|number, string|number]*/ {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}/*:any*/);\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\nfunction write_ColInfo(col, idx) {\n\tvar o = new_buf(12);\n\to.write_shift(2, idx);\n\to.write_shift(2, idx);\n\to.write_shift(2, col.width * 256);\n\to.write_shift(2, 0);\n\tvar f = 0;\n\tif(col.hidden) f |= 1;\n\to.write_shift(1, f);\n\tf = col.level || 0;\n\to.write_shift(1, f);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n/*:number*/) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 5) opts.biff = 2;\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob/*::, length*/) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob) {\n\tvar cell = parse_XLSCell(blob, 6);\n\t++blob.l;\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n/* from js-harb (C) 2014-present SheetJS */\nvar DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\nvar DBF = /*#__PURE__*/(function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\n\t/* shapefile DBF extension */\n\t/*::[*/0x00/*::]*/: 20127, /*::[*/0x08/*::]*/: 865,\n\t/*::[*/0x09/*::]*/: 437, /*::[*/0x0A/*::]*/: 850,\n\t/*::[*/0x0B/*::]*/: 437, /*::[*/0x0D/*::]*/: 437,\n\t/*::[*/0x0E/*::]*/: 850, /*::[*/0x0F/*::]*/: 437,\n\t/*::[*/0x10/*::]*/: 850, /*::[*/0x11/*::]*/: 437,\n\t/*::[*/0x12/*::]*/: 850, /*::[*/0x13/*::]*/: 932,\n\t/*::[*/0x14/*::]*/: 850, /*::[*/0x15/*::]*/: 437,\n\t/*::[*/0x16/*::]*/: 850, /*::[*/0x17/*::]*/: 865,\n\t/*::[*/0x18/*::]*/: 437, /*::[*/0x19/*::]*/: 437,\n\t/*::[*/0x1A/*::]*/: 850, /*::[*/0x1B/*::]*/: 437,\n\t/*::[*/0x1C/*::]*/: 863, /*::[*/0x1D/*::]*/: 850,\n\t/*::[*/0x1F/*::]*/: 852, /*::[*/0x22/*::]*/: 852,\n\t/*::[*/0x23/*::]*/: 852, /*::[*/0x24/*::]*/: 860,\n\t/*::[*/0x25/*::]*/: 850, /*::[*/0x26/*::]*/: 866,\n\t/*::[*/0x37/*::]*/: 850, /*::[*/0x40/*::]*/: 852,\n\t/*::[*/0x4D/*::]*/: 936, /*::[*/0x4E/*::]*/: 949,\n\t/*::[*/0x4F/*::]*/: 950, /*::[*/0x50/*::]*/: 874,\n\t/*::[*/0x57/*::]*/: 1252, /*::[*/0x58/*::]*/: 1252,\n\t/*::[*/0x59/*::]*/: 1252, /*::[*/0x6C/*::]*/: 863,\n\t/*::[*/0x86/*::]*/: 737, /*::[*/0x87/*::]*/: 852,\n\t/*::[*/0x88/*::]*/: 857, /*::[*/0xCC/*::]*/: 1257,\n\n\t/*::[*/0xFF/*::]*/: 16969\n};\nvar dbf_reverse_map = evert({\n\t/*::[*/0x01/*::]*/: 437, /*::[*/0x02/*::]*/: 850,\n\t/*::[*/0x03/*::]*/: 1252, /*::[*/0x04/*::]*/: 10000,\n\t/*::[*/0x64/*::]*/: 852, /*::[*/0x65/*::]*/: 866,\n\t/*::[*/0x66/*::]*/: 865, /*::[*/0x67/*::]*/: 861,\n\t/*::[*/0x68/*::]*/: 895, /*::[*/0x69/*::]*/: 620,\n\t/*::[*/0x6A/*::]*/: 737, /*::[*/0x6B/*::]*/: 857,\n\t/*::[*/0x78/*::]*/: 950, /*::[*/0x79/*::]*/: 949,\n\t/*::[*/0x7A/*::]*/: 936, /*::[*/0x7B/*::]*/: 932,\n\t/*::[*/0x7C/*::]*/: 874, /*::[*/0x7D/*::]*/: 1255,\n\t/*::[*/0x7E/*::]*/: 1256, /*::[*/0x96/*::]*/: 10007,\n\t/*::[*/0x97/*::]*/: 10029, /*::[*/0x98/*::]*/: 10006,\n\t/*::[*/0xC8/*::]*/: 1250, /*::[*/0xC9/*::]*/: 1251,\n\t/*::[*/0xCA/*::]*/: 1254, /*::[*/0xCB/*::]*/: 1253,\n\t/*::[*/0x00/*::]*/: 20127\n});\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts)/*:AOA*/ {\n\tvar out/*:AOA*/ = [];\n\tvar d/*:Block*/ = (new_raw_buf(1)/*:any*/);\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64_decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = !!(ft & 0x88);\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: break; // dBASE II\n\t\tcase 0x03: break; // dBASE III\n\t\tcase 0x30: vfp = true; memo = true; break; // VFP\n\t\tcase 0x31: vfp = true; memo = true; break; // VFP with autoincrement\n\t\t// 0x43 dBASE IV SQL table files\n\t\t// 0x63 dBASE IV SQL system files\n\t\tcase 0x83: break; // dBASE III with memo\n\t\tcase 0x8B: break; // dBASE IV with memo\n\t\tcase 0x8C: l7 = true; break; // dBASE Level 7 with memo\n\t\t// case 0xCB dBASE IV SQL table files with memo\n\t\tcase 0xF5: break; // FoxPro 2.x with memo\n\t\t// case 0xFB FoxBASE\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\n\tvar nrow = 0, fpos = 0x0209;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\td.l += 3; // dBASE II stores DDMMYY date, others use YYMMDD\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(nrow > 1048576) nrow = 1e6;\n\n\tif(ft != 0x02) fpos = d.read_shift(2); // header length\n\tvar rlen = d.read_shift(2); // record length\n\n\tvar /*flags = 0,*/ current_cp = opts.codepage || 1252;\n\tif(ft != 0x02) { // 20 reserved bytes\n\t\td.l+=16;\n\t\t/*flags = */d.read_shift(1);\n\t\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t\t/* codepage present in FoxPro and dBASE Level 7 */\n\t\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\t\td.l+=1;\n\n\t\td.l+=2;\n\t}\n\tif(l7) d.l += 36; // Level 7: 32 byte \"Language driver name\", 4 byte reserved\n\n/*:: type DBFField = { name:string; len:number; type:string; } */\n\tvar fields/*:Array*/ = [], field/*:DBFField*/ = ({}/*:any*/);\n\tvar hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0))));\n\tvar ww = l7 ? 32 : 11;\n\twhile(d.l < hend && d[d.l] != 0x0d) {\n\t\tfield = ({}/*:any*/);\n\t\tfield.name = $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)).replace(/[\\u0000\\r\\n].*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // Double (VFP) / Binary (dBASE L7)\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General (FoxPro and dBASE L7)\n\t\t\tcase 'P': // Picture (FoxPro and dBASE L7)\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase '+': // Autoincrement (dBASE L7 only)\n\t\t\tcase '0': // _NullFlags (VFP only)\n\t\t\tcase '@': // Timestamp (dBASE L7 only)\n\t\t\tcase 'C': // Character (dBASE II)\n\t\t\tcase 'D': // Date (dBASE III)\n\t\t\tcase 'F': // Float (dBASE IV)\n\t\t\tcase 'I': // Long (VFP and dBASE L7)\n\t\t\tcase 'L': // Logical (dBASE II)\n\t\t\tcase 'M': // Memo (dBASE III)\n\t\t\tcase 'N': // Number (dBASE II)\n\t\t\tcase 'O': // Double (dBASE L7 only)\n\t\t\tcase 'T': // Datetime (VFP only)\n\t\t\tcase 'Y': // Currency (VFP only)\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\td.l = fpos;\n\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) {\n\t\t\t// TODO: record marked as deleted -- create a hidden row?\n\t\t\td.l+=rlen;\n\t\t\tcontinue;\n\t\t}\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = $cptable.utils.decode(current_cp, dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\t// NOTE: it is conventional to write ' / / ' for empty dates\n\t\t\t\t\tif(s.trim().length) out[R][C] = s.replace(/\\s+$/,\"\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) out[R][C] = new Date(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8));\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.trim().toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase '': case '?': break;\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N':\n\t\t\t\t\ts = s.replace(/\\u0000/g,\"\").trim();\n\t\t\t\t\t// NOTE: dBASE II interprets \" . \" as 0\n\t\t\t\t\tif(s && s != \".\") out[R][C] = +s || 0; break;\n\t\t\t\tcase '@':\n\t\t\t\t\t// NOTE: dBASE specs appear to be incorrect\n\t\t\t\t\tout[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'T': out[R][C] = new Date((dd.read_shift(4) - 0x253D8C) * 0x5265C00 + dd.read_shift(4)); break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\topts.DBF = fields;\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\tvar ws = aoa_to_sheet(dbf_to_aoa(buf, o), o);\n\tws[\"!cols\"] = o.DBF.map(function(field) { return {\n\t\twch: field.len,\n\t\tDBF: field\n\t};});\n\tdelete o.DBF;\n\treturn ws;\n}\n\nfunction dbf_to_workbook(buf, opts)/*:Workbook*/ {\n\ttry { return sheet_to_workbook(dbf_to_sheet(buf, opts), opts); }\n\tcatch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa/*:AOA*/ = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1), cols = ws[\"!cols\"] || [];\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; }\n\t\tif(headers[i] == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes/*:Array*/ = [];\n\tvar colwidths/*:Array*/ = [];\n\tvar coldecimals/*:Array*/ = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar guess = '', _guess = '', maxlen = 0;\n\t\tvar col/*:Array*/ = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\tmaxlen = Math.max(maxlen, String(col[j]).length);\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\t//if(guess == 'C') break;\n\t\t}\n\t\tif(maxlen > 250) maxlen = 250;\n\t\t_guess = ((cols[i]||{}).DBF||{}).type;\n\t\t/* TODO: more fine grained control over DBF type resolution */\n\t\tif(_guess == 'C') {\n\t\t\tif(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len;\n\t\t}\n\t\tif(guess == 'B' && _guess == 'N') {\n\t\t\tguess = 'N';\n\t\t\tcoldecimals[i] = cols[i].DBF.dec;\n\t\t\tmaxlen = cols[i].DBF.len;\n\t\t}\n\t\tcolwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0);\n\t\trlen += colwidths[i];\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\th.write_shift(4, 0x00000000 | ((+dbf_reverse_map[/*::String(*/current_ansi/*::)*/] || 0x03)<<8));\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, coldecimals[i] || 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += (colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j\":190, \"?\":191, \"{\":223\n\t}/*:any*/);\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: find an actual specification */\n\tfunction sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str/*:string*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr/*:AOA*/ = [];\n\t\tvar formats/*:Array*/ = [];\n\t\tvar next_cell_format/*:string|null*/ = null;\n\t\tvar sht = {}, rowinfo/*:Array*/ = [], colinfo/*:Array*/ = [], cw/*:Array*/ = [];\n\t\tvar Mval = 0, j;\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': break; /* options? */\n\t\t\tcase 'W': break; /* window? */\n\t\t\tcase 'P':\n\t\t\t\tif(record[1].charAt(0) == 'P')\n\t\t\t\t\tformats.push(rstr.slice(3).replace(/;;/g, \";\"));\n\t\t\t\tbreak;\n\t\t\tcase 'C':\n\t\t\tvar C_seen_K = false, C_seen_X = false, C_seen_S = false, C_seen_E = false, _R = -1, _C = -1;\n\t\t\tfor(rj=1; rj -1 && arr[_R][_C];\n\t\t\t\tif(!shrbase || !shrbase[1]) throw new Error(\"SYLK shared formula cannot find base\");\n\t\t\t\tarr[R][C][1] = shift_formula_str(shrbase[1], {r: R - _R, c: C - _C});\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 'F':\n\t\t\tvar F_seen = 0;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht];\n\t}\n\n\tfunction sylk_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1];\n\t\tvar o = aoa_to_sheet(aoa, opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\treturn o;\n\t}\n\n\tfunction sylk_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(sylk_to_sheet(d, opts), opts); }\n\n\tfunction write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*//*::, opts*/)/*:string*/ {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += (cell.v||0);\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || cell.v; break;\n\t\t\tcase 'd': o += '\"' + (cell.w || cell.v) + '\"'; break;\n\t\t\tcase 's': o += '\"' + cell.v.replace(/\"/g,\"\").replace(/;/g, \";;\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number' && !col.wpx) col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number' && !col.wch) col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out/*:Array*/, rows/*:Array*/) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/)/*:string*/ {\n\t\tvar preamble/*:Array*/ = [\"ID;PWXL;N;E\"], o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tvar RS = \"\\r\\n\";\n\n\t\tpreamble.push(\"P;PGeneral\");\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tpreamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\to.push(write_ws_cell_sylk(cell, ws, R, C, opts));\n\t\t\t}\n\t\t}\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tto_sheet: sylk_to_sheet,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = /*#__PURE__*/(function() {\n\tfunction dif_to_aoa(d/*:RawData*/, opts)/*:AOA*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri] || \"\";\n\t\t\twhile(((data.match(/[\"]/g)||[]).length & 1) && ri < records.length - 1) data += \"\\n\" + records[++ri];\n\t\t\tdata = data.trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) arr[R][C] = parseDate(value);\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tdata = data.replace(/\"\"/g, '\"');\n\t\t\t\t\tif(DIF_XL && data && data.match(/^=\".*\"$/)) data = data.slice(2, -1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(dif_to_sheet(str, opts), opts); }\n\n\tvar sheet_to_dif = /*#__PURE__*/(function() {\n\t\tvar push_field = function pf(o/*:Array*/, topic/*:string*/, v/*:number*/, n/*:number*/, s/*:string*/) {\n\t\t\to.push(topic);\n\t\t\to.push(v + \",\" + n);\n\t\t\to.push('\"' + s.replace(/\"/g,'\"\"') + '\"');\n\t\t};\n\t\tvar push_value = function po(o/*:Array*/, type/*:number*/, v/*:any*/, s/*:string*/) {\n\t\t\to.push(type + \",\" + v);\n\t\t\to.push(type == 1 ? '\"' + s.replace(/\"/g,'\"\"') + '\"' : s);\n\t\t};\n\t\treturn function sheet_to_dif(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\t\tvar o/*:Array*/ = [];\n\t\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tpush_field(o, \"TABLE\", 0, 1, \"sheetjs\");\n\t\t\tpush_field(o, \"VECTORS\", 0, r.e.r - r.s.r + 1,\"\");\n\t\t\tpush_field(o, \"TUPLES\", 0, r.e.c - r.s.c + 1,\"\");\n\t\t\tpush_field(o, \"DATA\", 0, 0,\"\");\n\t\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\t\tpush_value(o, -1, 0, \"BOT\");\n\t\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\t\tif(!cell) { push_value(o, 1, 0, \"\"); continue;}\n\t\t\t\t\tswitch(cell.t) {\n\t\t\t\t\t\tcase 'n':\n\t\t\t\t\t\t\tvar val = DIF_XL ? cell.w : cell.v;\n\t\t\t\t\t\t\tif(!val && cell.v != null) val = cell.v;\n\t\t\t\t\t\t\tif(val == null) {\n\t\t\t\t\t\t\t\tif(DIF_XL && cell.f && !cell.F) push_value(o, 1, 0, \"=\" + cell.f);\n\t\t\t\t\t\t\t\telse push_value(o, 1, 0, \"\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse push_value(o, 0, val, \"V\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'b':\n\t\t\t\t\t\t\tpush_value(o, 0, cell.v ? 1 : 0, cell.v ? \"TRUE\" : \"FALSE\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's':\n\t\t\t\t\t\t\tpush_value(o, 1, 0, (!DIF_XL || isNaN(cell.v)) ? cell.v : '=\"' + cell.v + '\"');\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd':\n\t\t\t\t\t\t\tif(!cell.w) cell.w = SSF_format(cell.z || table_fmt[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\t\tif(DIF_XL) push_value(o, 0, cell.w, \"V\");\n\t\t\t\t\t\t\telse push_value(o, 1, 0, cell.w);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault: push_value(o, 1, 0, \"\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpush_value(o, -1, 0, \"EOD\");\n\t\t\tvar RS = \"\\r\\n\";\n\t\t\tvar oo = o.join(RS);\n\t\t\t//while((oo.length & 0x7F) != 0) oo += \"\\0\";\n\t\t\treturn oo;\n\t\t};\n\t})();\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = /*#__PURE__*/(function() {\n\tfunction decode(s/*:string*/)/*:string*/ { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s/*:string*/)/*:string*/ { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws/*:Worksheet*/)/*:string*/ {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o/*:Array*/ = [], oo/*:Array*/ = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': case 'str': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF_format(cell.z || table_fmt[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = /*#__PURE__*/(function() {\n\tfunction set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/, o/*:any*/) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f/*:string*/, opts)/*:AOA*/ {\n\t\tvar o = opts || {};\n\t\tvar arr/*:AOA*/ = ([]/*:any*/);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n\t\t/*::[*/0x2C/*::]*/: ',',\n\t\t/*::[*/0x09/*::]*/: \"\\t\",\n\t\t/*::[*/0x3B/*::]*/: ';',\n\t\t/*::[*/0x7C/*::]*/: '|'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n\t\t/*::[*/0x2C/*::]*/: 3,\n\t\t/*::[*/0x09/*::]*/: 2,\n\t\t/*::[*/0x3B/*::]*/: 1,\n\t\t/*::[*/0x7C/*::]*/: 0\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]] || 0x2C;\n\t}\n\n\tfunction dsv_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:0}}/*:any*/);\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t\telse sep = guess_sep(str.slice(0,1024));\n\t\t}\n\t\telse if(o && o.FS) sep = o.FS;\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0);\n\t\tstr = str.replace(/\\r\\n/mg, \"\\n\");\n\t\tvar _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\tvar s = str.slice(start, end);\n\t\t\tvar cell = ({}/*:any*/);\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 'n'; cell.f = s.slice(1); }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; if(o.cellText !== false) cell.w = s; cell.v = v; }\n\t\t\telse if(!isNaN(fuzzydate(s).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\tvar k = 0;\n\t\t\t\tif(_re && s.match(_re)){ s=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); k=1; }\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = parseDate(s, k); }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(parseDate(s, k)); }\n\t\t\t\tif(o.cellText !== false) cell.w = SSF_format(cell.z, cell.v instanceof Date ? datenum(cell.v):cell.v);\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1; startcc = str.charCodeAt(start);\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: if(startcc === 0x22) instr = !instr; break;\n\t\t\tcase sepcc: case 0x0a: case 0x0d: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(opts.FS) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64_decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf\n\t\t\t\telse if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d);\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str);\n\t\telse if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\tvar o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo/*:Array*/ = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif(!e.message.match(/SYLK bad record ID/) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = /*#__PURE__*/(function() {\n\tfunction lotushopper(data, cb/*:RecordHopperCB*/, opts/*:any*/) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFFFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = R.f && R.f(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d/*:RawData*/, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64_decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\tfunction lotus_to_workbook_buf(d, opts)/*:Workbook*/ {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s/*:Worksheet*/ = ((o.dense ? [] : {})/*:any*/), n = \"Sheet1\", next_n = \"\", sidx = 0;\n\t\tvar sheets = {}, snames = [], realnames = [];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\n\t\tif(d[2] == 0x00) {\n\t\t\tif(d[3] == 0x08 || d[3] == 0x09) {\n\t\t\t\tif(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error(\"Unsupported Works 3 for Mac file\");\n\t\t\t}\n\t\t}\n\n\t\tif(d[2] == 0x02) {\n\t\t\to.Enum = WK1Enum;\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0x00: /* BOF */\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0xDE: next_n = val; break; /* SHEETNAMELP */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\tif(!o.qpro) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif(RT == 0x0E && (val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || table_fmt[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].t = 'd'; val[1].v = numdate(val[1].v); }\n\t\t\t\t\t}\n\n\t\t\t\t\tif(o.qpro) {\n\t\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\t\tsidx = val[3]; n = next_n || \"Sheet\" + (sidx + 1); next_n = \"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar tmpcell = o.dense ? (s[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];\n\t\t\t\t\tif(tmpcell) {\n\t\t\t\t\t\ttmpcell.t = val[1].t; tmpcell.v = val[1].v;\n\t\t\t\t\t\tif(val[1].z != null) tmpcell.z = val[1].z;\n\t\t\t\t\t\tif(val[1].f != null) tmpcell.f = val[1].f;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}}, o);\n\t\t} else if(d[2] == 0x1A || d[2] == 0x0E) {\n\t\t\to.Enum = WK3Enum;\n\t\t\tif(d[2] == 0x0E) { o.qpro = true; d.l = 0; }\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0xCC: n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tval[1].v = val[1].v.slice(1);\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\ts = (o.dense ? [] : {});\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!s[val[0].r]) s[val[0].r] = [];\n\t\t\t\t\t\ts[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x1B: /* XFORMAT */\n\t\t\t\t\tif(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0601: /* SHEETINFOQP */\n\t\t\t\t\trealnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;\n\t\t\t\tdefault: break;\n\t\t\t}}, o);\n\t\t} else throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[next_n || n] = s;\n\t\tsnames.push(next_n || n);\n\t\tif(!realnames.length) return { SheetNames: snames, Sheets: sheets };\n\t\tvar osheets = {}, rnames = [];\n\t\t/* TODO: verify no collisions */\n\t\tfor(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {\n\t\t\trnames.push(realnames[i] || snames[i]);\n\t\t\tosheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];\n\t\t} else {\n\t\t\trnames.push(realnames[i]);\n\t\t\tosheets[realnames[i]] = ({ \"!ref\": \"A1\" });\n\t\t}\n\t\treturn { SheetNames: rnames, Sheets: osheets };\n\t}\n\n\tfunction sheet_to_wk1(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK1 to JS string\");\n\t\tvar ba = buf_array();\n\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\tvar dense = Array.isArray(ws);\n\t\tvar cols = [];\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));\n\t\twrite_biff_rec(ba, 0x06, write_RANGE(range));\n\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\tvar rr = encode_row(R);\n\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t/* TODO: formula records */\n\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\tif((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell.v));\n\t\t\t\t\telse write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell.v));\n\t\t\t\t} else {\n\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\twrite_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239)));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\tfunction book_to_wk3(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK3 to JS string\");\n\t\tvar ba = buf_array();\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK3(wb));\n\n\t\tfor(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})[\"!ref\"]) write_biff_rec(ba, 0x1b, write_XFORMAT_SHEETNAME(wb.SheetNames[i], cnt++));\n\n\t\tvar wsidx = 0;\n\t\tfor(i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\t\tvar dense = Array.isArray(ws);\n\t\t\tvar cols = [];\n\t\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\t\tvar rr = encode_row(R);\n\t\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t\t/* TODO: FORMULA19 NUMBER18 records */\n\t\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\t\twrite_biff_rec(ba, 0x17, write_NUMBER_17(R, C, wsidx, cell.v));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\t\t/* TODO: max len? */\n\t\t\t\t\t\twrite_biff_rec(ba, 0x16, write_LABEL_16(R, C, wsidx, str.slice(0, 239)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t++wsidx;\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\n\tfunction write_BOF_WK1(v/*:number*/) {\n\t\tvar out = new_buf(2);\n\t\tout.write_shift(2, v);\n\t\treturn out;\n\t}\n\n\tfunction write_BOF_WK3(wb/*:Workbook*/) {\n\t\tvar out = new_buf(26);\n\t\tout.write_shift(2, 0x1000);\n\t\tout.write_shift(2, 0x0004);\n\t\tout.write_shift(4, 0x0000);\n\t\tvar rows = 0, cols = 0, wscnt = 0;\n\t\tfor(var i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar name = wb.SheetNames[i];\n\t\t\tvar ws = wb.Sheets[name];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\t++wscnt;\n\t\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\t\tif(rows < range.e.r) rows = range.e.r;\n\t\t\tif(cols < range.e.c) cols = range.e.c;\n\t\t}\n\t\tif(rows > 8191) rows = 8191;\n\t\tout.write_shift(2, rows);\n\t\tout.write_shift(1, wscnt);\n\t\tout.write_shift(1, cols);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(1, 0x01);\n\t\tout.write_shift(1, 0x02);\n\t\tout.write_shift(4, 0);\n\t\tout.write_shift(4, 0);\n\t\treturn out;\n\t}\n\n\tfunction parse_RANGE(blob, length, opts) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\tif(length == 8 && opts.qpro) {\n\t\t\to.s.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.s.r = blob.read_shift(2);\n\t\t\to.e.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.e.r = blob.read_shift(2);\n\t\t\treturn o;\n\t\t}\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\tfunction write_RANGE(range) {\n\t\tvar out = new_buf(8);\n\t\tout.write_shift(2, range.s.c);\n\t\tout.write_shift(2, range.s.r);\n\t\tout.write_shift(2, range.e.c);\n\t\tout.write_shift(2, range.e.r);\n\t\treturn out;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\to[3] = blob.read_shift(1);\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL(R, C, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(7 + s.length);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, 0x27); // ??\n\t\tfor(var i = 0; i < o.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\tfunction write_INTEGER(R, C, v) {\n\t\tvar o = new_buf(7);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(2, v, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\tfunction write_NUMBER(R, C, v) {\n\t\tvar o = new_buf(13);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(8, v, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\twk1_fmla_to_csf(blob.slice(blob.l, blob.l + flen), o);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction wk1_parse_rc(B, V, col) {\n\t\tvar rel = V & 0x8000;\n\t\tV &= ~0x8000;\n\t\tV = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V);\n\t\treturn (rel ? \"\" : \"$\") + (col ? encode_col(V) : encode_row(V));\n\t}\n\t/* var oprec = [\n\t\t8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3,\n\t\t3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8\n\t]; */\n\t/* TODO: flesh out */\n\tvar FuncTab = {\n\t\t0x33: [\"FALSE\", 0],\n\t\t0x34: [\"TRUE\", 0],\n\t\t0x46: [\"LEN\", 1],\n\t\t0x50: [\"SUM\", 69],\n\t\t0x51: [\"AVERAGEA\", 69],\n\t\t0x52: [\"COUNTA\", 69],\n\t\t0x53: [\"MINA\", 69],\n\t\t0x54: [\"MAXA\", 69],\n\t\t0x6F: [\"T\", 1]\n\t};\n\tvar BinOpTab = [\n\t\t \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"\", \"+\", \"-\", \"*\", \"/\", \"^\", \"=\", \"<>\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t\"<=\", \">=\", \"<\", \">\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"&\", \"\", \"\", \"\", \"\", \"\", \"\", \"\" // eslint-disable-line no-mixed-spaces-and-tabs\n\t];\n\n\tfunction wk1_fmla_to_csf(blob, o) {\n\t\tprep_blob(blob, 0);\n\t\tvar out = [], argc = 0, R = \"\", C = \"\", argL = \"\", argR = \"\";\n\t\twhile(blob.l < blob.length) {\n\t\t\tvar cc = blob[blob.l++];\n\t\t\tswitch(cc) {\n\t\t\t\tcase 0x00: out.push(blob.read_shift(8, 'f')); break;\n\t\t\t\tcase 0x01: {\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x02: {\n\t\t\t\t\tvar c = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tvar r = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(c + r + \":\" + C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tif(blob.l < blob.length) { console.error(\"WK1 premature formula end\"); return; }\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x04: out.push(\"(\" + out.pop() + \")\"); break;\n\t\t\t\tcase 0x05: out.push(blob.read_shift(2)); break;\n\t\t\t\tcase 0x06: {\n\t\t\t\t\t/* TODO: text encoding */\n\t\t\t\t\tvar Z = \"\"; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc);\n\t\t\t\t\tout.push('\"' + Z.replace(/\"/g, '\"\"') + '\"');\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x08: out.push(\"-\" + out.pop()); break;\n\t\t\t\tcase 0x17: out.push(\"+\" + out.pop()); break;\n\t\t\t\tcase 0x16: out.push(\"NOT(\" + out.pop() + \")\"); break;\n\n\t\t\t\tcase 0x14: case 0x15: {\n\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\tout.push([\"AND\", \"OR\"][cc - 0x14] + \"(\" + argL + \",\" + argR + \")\");\n\t\t\t\t} break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif(cc < 0x20 && BinOpTab[cc]) {\n\t\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\t\tout.push(argL + BinOpTab[cc] + argR);\n\t\t\t\t\t} else if(FuncTab[cc]) {\n\t\t\t\t\t\targc = FuncTab[cc][1];\n\t\t\t\t\t\tif(argc == 69) argc = blob[blob.l++];\n\t\t\t\t\t\tif(argc > out.length) { console.error(\"WK1 bad formula parse 0x\" + cc.toString(16) + \":|\" + out.join(\"|\") + \"|\"); return; }\n\t\t\t\t\t\tvar args = out.slice(-argc);\n\t\t\t\t\t\tout.length -= argc;\n\t\t\t\t\t\tout.push(FuncTab[cc][0] + \"(\" + args.join(\",\") + \")\");\n\t\t\t\t\t}\n\t\t\t\t\telse if(cc <= 0x07) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x18) return console.error(\"WK1 unsupported op \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x1E) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x73) return console.error(\"WK1 unsupported function opcode \" + cc.toString(16));\n\t\t\t\t\t// possible future functions ??\n\t\t\t\t\telse return console.error(\"WK1 unrecognized opcode \" + cc.toString(16));\n\t\t\t}\n\t\t}\n\t\tif(out.length == 1) o[1].f = \"\" + out[0];\n\t\telse console.error(\"WK1 bad formula parse |\" + out.join(\"|\") + \"|\");\n\t}\n\n\n\tfunction parse_cell_3(blob/*::, length*/) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL_16(R, C, wsidx, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(6 + s.length);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\to.write_shift(1, 0x27);\n\t\tfor(var i = 0; i < s.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 0: v = (v >> 3) * 5000; break;\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 3: v = (v >> 3) / 200; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 5: v = (v >> 3) / 20000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) {\n\t\t\tif(v1 === 0 && v2 === 0xC0000000) { o[1].t = \"e\"; o[1].v = 0x0F; } // ERR -> #VALUE!\n\t\t\telse if(v1 === 0 && v2 === 0xD0000000) { o[1].t = \"e\"; o[1].v = 0x2A; } // NA -> #N/A\n\t\t\telse o[1].v = 0;\n\t\t\treturn o;\n\t\t}\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (1 - s*2) * (v2 * Math.pow(2, e+32) + v1 * Math.pow(2, e));\n\t\treturn o;\n\t}\n\tfunction write_NUMBER_17(R, C, wsidx, v) {\n\t\tvar o = new_buf(14);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\tif(v == 0) {\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(2, 0xFFFF);\n\t\t\treturn o;\n\t\t}\n\t\tvar s = 0, e = 0, v1 = 0, v2 = 0;\n\t\tif(v < 0) { s = 1; v = -v; }\n\t\te = Math.log2(v) | 0;\n\t\tv /= Math.pow(2, e-31);\n\t\tv2 = (v)>>>0;\n\t\tif((v2&0x80000000) == 0) { v/=2; ++e; v2 = v >>> 0; }\n\t\tv -= v2;\n\t\tv2 |= 0x80000000;\n\t\tv2 >>>= 0;\n\t\tv *= Math.pow(2, 32);\n\t\tv1 = v>>>0;\n\t\to.write_shift(4, v1);\n\t\to.write_shift(4, v2);\n\t\te += 0x3FFF + (s ? 0x8000 : 0);\n\t\to.write_shift(2, e);\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: WK3 formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 14);\n\t\tblob.l += length - 10; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETNAMECS(blob, length) {\n\t\treturn blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : \"\";\n\t}\n\n\tfunction parse_SHEETNAMELP(blob, length) {\n\t\tvar len = blob[blob.l++];\n\t\tif(len > length - 1) len = length - 1;\n\t\tvar o = \"\"; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETINFOQP(blob, length, opts) {\n\t\tif(!opts.qpro || length < 21) return;\n\t\tvar id = blob.read_shift(1);\n\t\tblob.l += 17;\n\t\tblob.l += 1; //var len = blob.read_shift(1);\n\t\tblob.l += 2;\n\t\tvar nm = blob.read_shift(length - 21, 'cstr');\n\t\treturn [id, nm];\n\t}\n\n\tfunction parse_XFORMAT(blob, length) {\n\t\tvar o = {}, tgt = blob.l + length;\n\t\twhile(blob.l < tgt) {\n\t\t\tvar dt = blob.read_shift(2);\n\t\t\tif(dt == 0x36b0) {\n\t\t\t\to[dt] = [0, \"\"];\n\t\t\t\to[dt][0] = blob.read_shift(2);\n\t\t\t\twhile(blob[blob.l]) { o[dt][1] += String.fromCharCode(blob[blob.l]); blob.l++; } blob.l++;\n\t\t\t}\n\t\t\t// TODO: 0x3a99 ??\n\t\t}\n\t\treturn o;\n\t}\n\tfunction write_XFORMAT_SHEETNAME(name, wsidx) {\n\t\tvar out = new_buf(5 + name.length);\n\t\tout.write_shift(2, 0x36b0);\n\t\tout.write_shift(2, wsidx);\n\t\tfor(var i = 0; i < name.length; ++i) {\n\t\t\tvar cc = name.charCodeAt(i);\n\t\t\tout[out.l++] = cc > 0x7F ? 0x5F : cc;\n\t\t}\n\t\tout[out.l++] = 0;\n\t\treturn out;\n\t}\n\n\tvar WK1Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\", f:parseuint16 },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"CALCMODE\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCORDER\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"SPLIT\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SYNC\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"RANGE\", f:parse_RANGE },\n\t\t/*::[*/0x0007/*::]*/: { n:\"WINDOW1\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"COLW1\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"WINTWO\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"COLW2\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"NAME\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"BLANK\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"INTEGER\", f:parse_INTEGER },\n\t\t/*::[*/0x000E/*::]*/: { n:\"NUMBER\", f:parse_NUMBER },\n\t\t/*::[*/0x000F/*::]*/: { n:\"LABEL\", f:parse_LABEL },\n\t\t/*::[*/0x0010/*::]*/: { n:\"FORMULA\", f:parse_FORMULA },\n\t\t/*::[*/0x0018/*::]*/: { n:\"TABLE\" },\n\t\t/*::[*/0x0019/*::]*/: { n:\"ORANGE\" },\n\t\t/*::[*/0x001A/*::]*/: { n:\"PRANGE\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"SRANGE\" },\n\t\t/*::[*/0x001C/*::]*/: { n:\"FRANGE\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"KRANGE1\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"HRANGE\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"KRANGE2\" },\n\t\t/*::[*/0x0024/*::]*/: { n:\"PROTEC\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"FOOTER\" },\n\t\t/*::[*/0x0026/*::]*/: { n:\"HEADER\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"SETUP\" },\n\t\t/*::[*/0x0028/*::]*/: { n:\"MARGINS\" },\n\t\t/*::[*/0x0029/*::]*/: { n:\"LABELFMT\" },\n\t\t/*::[*/0x002A/*::]*/: { n:\"TITLES\" },\n\t\t/*::[*/0x002B/*::]*/: { n:\"SHEETJS\" },\n\t\t/*::[*/0x002D/*::]*/: { n:\"GRAPH\" },\n\t\t/*::[*/0x002E/*::]*/: { n:\"NGRAPH\" },\n\t\t/*::[*/0x002F/*::]*/: { n:\"CALCCOUNT\" },\n\t\t/*::[*/0x0030/*::]*/: { n:\"UNFORMATTED\" },\n\t\t/*::[*/0x0031/*::]*/: { n:\"CURSORW12\" },\n\t\t/*::[*/0x0032/*::]*/: { n:\"WINDOW\" },\n\t\t/*::[*/0x0033/*::]*/: { n:\"STRING\", f:parse_LABEL },\n\t\t/*::[*/0x0037/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0038/*::]*/: { n:\"LOCKED\" },\n\t\t/*::[*/0x003C/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x003D/*::]*/: { n:\"QUERYNAME\" },\n\t\t/*::[*/0x003E/*::]*/: { n:\"PRINT\" },\n\t\t/*::[*/0x003F/*::]*/: { n:\"PRINTNAME\" },\n\t\t/*::[*/0x0040/*::]*/: { n:\"GRAPH2\" },\n\t\t/*::[*/0x0041/*::]*/: { n:\"GRAPHNAME\" },\n\t\t/*::[*/0x0042/*::]*/: { n:\"ZOOM\" },\n\t\t/*::[*/0x0043/*::]*/: { n:\"SYMSPLIT\" },\n\t\t/*::[*/0x0044/*::]*/: { n:\"NSROWS\" },\n\t\t/*::[*/0x0045/*::]*/: { n:\"NSCOLS\" },\n\t\t/*::[*/0x0046/*::]*/: { n:\"RULER\" },\n\t\t/*::[*/0x0047/*::]*/: { n:\"NNAME\" },\n\t\t/*::[*/0x0048/*::]*/: { n:\"ACOMM\" },\n\t\t/*::[*/0x0049/*::]*/: { n:\"AMACRO\" },\n\t\t/*::[*/0x004A/*::]*/: { n:\"PARSE\" },\n\t\t/*::[*/0x0066/*::]*/: { n:\"PRANGES??\" },\n\t\t/*::[*/0x0067/*::]*/: { n:\"RRANGES??\" },\n\t\t/*::[*/0x0068/*::]*/: { n:\"FNAME??\" },\n\t\t/*::[*/0x0069/*::]*/: { n:\"MRANGES??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00DE/*::]*/: { n:\"SHEETNAMELP\", f:parse_SHEETNAMELP },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\n\tvar WK3Enum = {\n\t\t/*::[*/0x0000/*::]*/: { n:\"BOF\" },\n\t\t/*::[*/0x0001/*::]*/: { n:\"EOF\" },\n\t\t/*::[*/0x0002/*::]*/: { n:\"PASSWORD\" },\n\t\t/*::[*/0x0003/*::]*/: { n:\"CALCSET\" },\n\t\t/*::[*/0x0004/*::]*/: { n:\"WINDOWSET\" },\n\t\t/*::[*/0x0005/*::]*/: { n:\"SHEETCELLPTR\" },\n\t\t/*::[*/0x0006/*::]*/: { n:\"SHEETLAYOUT\" },\n\t\t/*::[*/0x0007/*::]*/: { n:\"COLUMNWIDTH\" },\n\t\t/*::[*/0x0008/*::]*/: { n:\"HIDDENCOLUMN\" },\n\t\t/*::[*/0x0009/*::]*/: { n:\"USERRANGE\" },\n\t\t/*::[*/0x000A/*::]*/: { n:\"SYSTEMRANGE\" },\n\t\t/*::[*/0x000B/*::]*/: { n:\"ZEROFORCE\" },\n\t\t/*::[*/0x000C/*::]*/: { n:\"SORTKEYDIR\" },\n\t\t/*::[*/0x000D/*::]*/: { n:\"FILESEAL\" },\n\t\t/*::[*/0x000E/*::]*/: { n:\"DATAFILLNUMS\" },\n\t\t/*::[*/0x000F/*::]*/: { n:\"PRINTMAIN\" },\n\t\t/*::[*/0x0010/*::]*/: { n:\"PRINTSTRING\" },\n\t\t/*::[*/0x0011/*::]*/: { n:\"GRAPHMAIN\" },\n\t\t/*::[*/0x0012/*::]*/: { n:\"GRAPHSTRING\" },\n\t\t/*::[*/0x0013/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0014/*::]*/: { n:\"ERRCELL\" },\n\t\t/*::[*/0x0015/*::]*/: { n:\"NACELL\" },\n\t\t/*::[*/0x0016/*::]*/: { n:\"LABEL16\", f:parse_LABEL_16},\n\t\t/*::[*/0x0017/*::]*/: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n\t\t/*::[*/0x0018/*::]*/: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n\t\t/*::[*/0x0019/*::]*/: { n:\"FORMULA19\", f:parse_FORMULA_19},\n\t\t/*::[*/0x001A/*::]*/: { n:\"FORMULA1A\" },\n\t\t/*::[*/0x001B/*::]*/: { n:\"XFORMAT\", f:parse_XFORMAT },\n\t\t/*::[*/0x001C/*::]*/: { n:\"DTLABELMISC\" },\n\t\t/*::[*/0x001D/*::]*/: { n:\"DTLABELCELL\" },\n\t\t/*::[*/0x001E/*::]*/: { n:\"GRAPHWINDOW\" },\n\t\t/*::[*/0x001F/*::]*/: { n:\"CPA\" },\n\t\t/*::[*/0x0020/*::]*/: { n:\"LPLAUTO\" },\n\t\t/*::[*/0x0021/*::]*/: { n:\"QUERY\" },\n\t\t/*::[*/0x0022/*::]*/: { n:\"HIDDENSHEET\" },\n\t\t/*::[*/0x0023/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0025/*::]*/: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n\t\t/*::[*/0x0026/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0027/*::]*/: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n\t\t/*::[*/0x0028/*::]*/: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n\t\t/*::[*/0x008E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0093/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0096/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0097/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0098/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0099/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x009C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00A3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00AF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B1/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B8/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00B9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BA/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BB/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00BC/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C3/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00C9/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CC/*::]*/: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t/*::[*/0x00CD/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CE/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00CF/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x00D0/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0100/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0103/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0104/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0105/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0106/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0107/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0109/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010B/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010E/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x010F/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0180/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0185/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0186/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0189/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x018C/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0200/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0202/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0201/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0204/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0205/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0280/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0281/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0282/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0283/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0284/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0285/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0286/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0287/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0288/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0292/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0293/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0294/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0295/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0296/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0299/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x029A/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0300/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0304/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0601/*::]*/: { n:\"SHEETINFOQP\", f:parse_SHEETINFOQP },\n\t\t/*::[*/0x0640/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0642/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0701/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0702/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0703/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0704/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0780/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0800/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0801/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0804/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x0A80/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x2AF6/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x3231/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6E49/*::]*/: { n:\"??\" },\n\t\t/*::[*/0x6F44/*::]*/: { n:\"??\" },\n\t\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n\t};\n\treturn {\n\t\tsheet_to_wk1: sheet_to_wk1,\n\t\tbook_to_wk3: book_to_wk3,\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/\\w*:/g,\"\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.18 family ST_FontFamily */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = /*#__PURE__*/(function() {\n\tvar tregex = matchtag(\"t\"), rpregex = matchtag(\"rPr\");\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = r.match(tregex)/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o/*:Cell*/ = ({t:'s', v:unescapexml(t[1])}/*:any*/);\n\t\tvar rpr = r.match(rpregex);\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = /*#__PURE__*/(function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style/*:Array*/ = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms/*:[Array, string, Array]*/ = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
    ') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t[^>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r>/;\nvar sirphregex = /<(?:\\w+:)?rPh.*?>([\\s\\S]*?)<\\/(?:\\w+:)?rPh>/g;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"));\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((x.replace(sirphregex, '').match(sitregex)||[]).join(\"\").replace(tagregex,\"\")));\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr0 = /<(?:\\w+:)?sst([^>]*)>([\\s\\S]*)<\\/(?:\\w+:)?sst>/;\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data/*:string*/, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = data.match(sstr0);\n\tif(sst) {\n\t\tss = sst[2].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[1]); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst/*:SST*/, opts)/*:string*/ {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS_main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s/*:XLString*/ = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* BrtBeginSst */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* BrtSSTItem */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* BrtEndSst */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst/*::, opts*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x009F /* BrtBeginSst */, write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, 0x00A0 /* BrtEndSst */);\n\treturn ba.end();\n}\nfunction _JS2ANSI(str/*:string*/)/*:Array*/ {\n\tif(typeof $cptable !== 'undefined') return $cptable.utils.encode(current_ansi, str);\n\tvar o/*:Array*/ = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length/*:?number*/) {\n\tvar o/*:any*/ = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\n\t/*:: if(length == null) return o; */\n\tif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps/*:Array<{t:number, v:string}>*/ = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob)/*:Array*/ {\n\tvar o/*:Array*/ = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length/*:number*/) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length/*:number*/) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob/*::, vers*/) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt(/*::blob, vers*/) { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob/*::, vers*/) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob/*::, length*/) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password/*:string*/) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = /*#__PURE__*/(function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password/*:string*/) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password/*:string*/) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/);\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length/*:number*/, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length/*:number*/, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }/*:any*/); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nvar RTF = /*#__PURE__*/(function() {\n\tfunction rtf_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return rtf_to_sheet_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return rtf_to_sheet_str(d, opts);\n\t\t\tcase 'buffer': return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return rtf_to_sheet_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\n\t/* TODO: this is a stub */\n\tfunction rtf_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar ws/*:Worksheet*/ = o.dense ? ([]/*:any*/) : ({}/*:any*/);\n\n\t\tvar rows = str.match(/\\\\trowd.*?\\\\row\\b/g);\n\t\tif(!rows.length) throw new Error(\"RTF missing table\");\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:rows.length - 1}}/*:any*/);\n\t\trows.forEach(function(rowtf, R) {\n\t\t\tif(Array.isArray(ws)) ws[R] = [];\n\t\t\tvar rtfre = /\\\\\\w+\\b/g;\n\t\t\tvar last_index = 0;\n\t\t\tvar res;\n\t\t\tvar C = -1;\n\t\t\twhile((res = rtfre.exec(rowtf))) {\n\t\t\t\tswitch(res[0]) {\n\t\t\t\t\tcase \"\\\\cell\":\n\t\t\t\t\t\tvar data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length);\n\t\t\t\t\t\tif(data[0] == \" \") data = data.slice(1);\n\t\t\t\t\t\t++C;\n\t\t\t\t\t\tif(data.length) {\n\t\t\t\t\t\t\t// TODO: value parsing, including codepage adjustments\n\t\t\t\t\t\t\tvar cell = {v: data, t:\"s\"};\n\t\t\t\t\t\t\tif(Array.isArray(ws)) ws[R][C] = cell;\n\t\t\t\t\t\t\telse ws[encode_cell({r:R, c:C})] = cell;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tlast_index = rtfre.lastIndex;\n\t\t\t}\n\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t});\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction rtf_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(rtf_to_sheet(d, opts), opts); }\n\n\t/* TODO: this is a stub */\n\tfunction sheet_to_rtf(ws/*:Worksheet*//*::, opts*/)/*:string*/ {\n\t\tvar o = [\"{\\\\rtf1\\\\ansi\"];\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = Array.isArray(ws);\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\to.push(\"\\\\trowd\\\\trautofit1\");\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) o.push(\"\\\\cellx\" + (C+1));\n\t\t\to.push(\"\\\\pard\\\\intbl\");\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[R]||[])[C]: ws[coord];\n\t\t\t\tif(!cell || cell.v == null && (!cell.f || cell.F)) continue;\n\t\t\t\to.push(\" \" + (cell.w || (format_cell(cell), cell.w)));\n\t\t\t\to.push(\"\\\\cell\");\n\t\t\t}\n\t\t\to.push(\"\\\\pard\\\\intbl\\\\row\");\n\t\t}\n\t\treturn o.join(\"\") + \"}\";\n\t}\n\n\treturn {\n\t\tto_workbook: rtf_to_workbook,\n\t\tto_sheet: rtf_to_sheet,\n\t\tfrom_sheet: sheet_to_rtf\n\t};\n})();\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll/*:ColInfo*/) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = /*::(*/{}/*:: :any)*/;\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\n\t\t\t/* 18.8.26 i CT_BooleanProperty */\n\t\t\tcase '': font.italic = 1; break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '': font.underline = 1; break;\n\n\t\t\t/* 18.4.10 strike CT_BooleanProperty */\n\t\t\tcase '': font.strike = 1; break;\n\n\t\t\t/* 18.4.2 outline CT_BooleanProperty */\n\t\t\tcase '': font.outline = 1; break;\n\n\t\t\t/* 18.8.36 shadow CT_BooleanProperty */\n\t\t\tcase '': font.shadow = 1; break;\n\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\tcase '': font.condense = 1; break;\n\n\t\t\t/* 18.8.17 extend CT_BooleanProperty */\n\t\t\tcase '': font.extend = 1; break;\n\n\t\t\t/* 18.4.11 sz CT_FontSize */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.18 family CT_FontFamily */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(table_fmt)/*:any*/);\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = table_fmt[k[i]];\n\tvar m = t[0].match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF_load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF/*:{[n:number|string]:string}*//*::, opts*/) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(styles.NumberFmt && xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= /*#__PURE__*/(function make_pstyx() {\nvar numFmtRegex = /<(?:\\w+:)?numFmts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?numFmts>/;\nvar cellXfRegex = /<(?:\\w+:)?cellXfs([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?cellXfs>/;\nvar fillsRegex = /<(?:\\w+:)?fills([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fills>/;\nvar fontsRegex = /<(?:\\w+:)?fonts([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?fonts>/;\nvar bordersRegex = /<(?:\\w+:)?borders([^>]*)>[\\S\\s]*?<\\/(?:\\w+:)?borders>/;\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = data.replace(//mg,\"\").replace(//gm,\"\");\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=data.match(numFmtRegex))) parse_numFmts(t, styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=data.match(fontsRegex))) parse_fonts(t, styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=data.match(fillsRegex))) parse_fills(t, styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=data.match(bordersRegex))) parse_borders(t, styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=data.match(cellXfRegex))) parse_cellXfs(t, styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nfunction write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('styleSheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:vt': XMLNS.vt\n\t})], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length/*:number*/) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i/*:number*/, f/*:string*/, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length/*:number*/, opts) {\n\tvar out = ({}/*:any*/);\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font/*:any*/, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames/*:EvertNumType*/;\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tif(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/);\n\tvar fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length/*:number*/) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]/*:any*/);\n\tfor(var y in table_fmt) styles.NumberFmt[y] = table_fmt[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* BrtFmt */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF_load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* BrtFont */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* BrtKnownFonts */ break;\n\t\t\tcase 0x002D: /* BrtFill */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* BrtBorder */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* BrtXF */\n\t\t\t\tif(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* BrtStyle */\n\t\t\tcase 0x01FB: /* BrtDXF */\n\t\t\tcase 0x023C: /* BrtMRUColor */\n\t\t\tcase 0x01DB: /* BrtIndexedColor */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* BrtDXF14 */\n\t\t\tcase 0x0836: /* BrtDXF15 */\n\t\t\tcase 0x046A: /* BrtSlicerStyleElement */\n\t\t\tcase 0x0200: /* BrtTableStyleElement */\n\t\t\tcase 0x082F: /* BrtTimelineStyleElement */\n\t\t\tcase 0x0C00: /* BrtUid */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* BrtACBegin */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* BrtACEnd */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF/*:?SSFTable*/) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0267 /* BrtBeginFmts */, write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, 0x002C /* BrtFmt */, write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, 0x0268 /* BrtEndFmts */);\n}\n\nfunction write_FONTS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0263 /* BrtBeginFonts */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002B /* BrtFont */, write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, 0x0264 /* BrtEndFonts */);\n}\n\nfunction write_FILLS_bin(ba/*::, data*/) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x025B /* BrtBeginFills */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, 0x025C /* BrtEndFills */);\n}\n\nfunction write_BORDERS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0265 /* BrtBeginBorders */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002E /* BrtBorder */, write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, 0x0266 /* BrtEndBorders */);\n}\n\nfunction write_CELLSTYLEXFS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\twrite_record(ba, 0x0272 /* BrtBeginCellStyleXFs */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002F /* BrtXF */, write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x0273 /* BrtEndCellStyleXFs */);\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, 0x002F /* BrtXF */, write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x026A /* BrtEndCellXFs */);\n}\n\nfunction write_STYLES_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\twrite_record(ba, 0x026B /* BrtBeginStyles */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x0030 /* BrtStyle */, write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, 0x026C /* BrtEndStyles */);\n}\n\nfunction write_DXFS_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01F9 /* BrtBeginDXFs */, write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, 0x01FA /* BrtEndDXFs */);\n}\n\nfunction write_TABLESTYLES_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01FC /* BrtBeginTableStyles */, write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, 0x01FD /* BrtEndTableStyles */);\n}\n\nfunction write_COLORPALETTE_bin(/*::ba, data*/) {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0116 /* BrtBeginStyleSheet */);\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, 0x0117 /* BrtEndStyleSheet */);\n\treturn ba.end();\n}\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme(/*::t, themes, opts*/) { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme(/*::t, themes, opts*/) { }\n\nvar clrsregex = /]*)>[\\s\\S]*<\\/a:clrScheme>/;\nvar fntsregex = /]*)>[\\s\\S]*<\\/a:fontScheme>/;\nvar fmtsregex = /]*)>[\\s\\S]*<\\/a:fmtScheme>/;\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t[\n\t\t/* clrScheme CT_ColorScheme */\n\t\t['clrScheme', clrsregex, parse_clrScheme],\n\t\t/* fontScheme CT_FontScheme */\n\t\t['fontScheme', fntsregex, parse_fontScheme],\n\t\t/* fmtScheme CT_StyleMatrix */\n\t\t['fmtScheme', fmtsregex, parse_fmtScheme]\n\t].forEach(function(m) {\n\t\tif(!(t=data.match(m[1]))) throw new Error(m[0] + ' not found in themeElements');\n\t\tm[2](t, themes, opts);\n\t});\n}\n\nvar themeltregex = /]*)>[\\s\\S]*<\\/a:themeElements>/;\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data/*:string*/, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) data = write_theme();\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=data.match(themeltregex))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts)/*:string*/ {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = zip_read(data, {type: \"array\"}); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob/*::, length*/) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob/*::, length*/) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob/*::, length*/)/*:Array*/ {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext/*:AOA*/ = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\nfunction parse_BrtMdtinfo(data, length) {\n return {\n flags: data.read_shift(4),\n version: data.read_shift(4),\n name: parse_XLWideString(data, length - 8)\n };\n}\nfunction write_BrtMdtinfo(data) {\n var o = new_buf(12 + 2 * data.name.length);\n o.write_shift(4, data.flags);\n o.write_shift(4, data.version);\n write_XLWideString(data.name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtMdb(data) {\n var out = [];\n var cnt = data.read_shift(4);\n while (cnt-- > 0)\n out.push([data.read_shift(4), data.read_shift(4)]);\n return out;\n}\nfunction write_BrtMdb(mdb) {\n var o = new_buf(4 + 8 * mdb.length);\n o.write_shift(4, mdb.length);\n for (var i = 0; i < mdb.length; ++i) {\n o.write_shift(4, mdb[i][0]);\n o.write_shift(4, mdb[i][1]);\n }\n return o;\n}\nfunction write_BrtBeginEsfmd(cnt, name) {\n var o = new_buf(8 + 2 * name.length);\n o.write_shift(4, cnt);\n write_XLWideString(name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtBeginEsmdb(data) {\n data.l += 4;\n return data.read_shift(4) != 0;\n}\nfunction write_BrtBeginEsmdb(cnt, cm) {\n var o = new_buf(8);\n o.write_shift(4, cnt);\n o.write_shift(4, cm ? 1 : 0);\n return o;\n}\nfunction parse_xlmeta_bin(data, name, _opts) {\n var out = { Types: [], Cell: [], Value: [] };\n var opts = _opts || {};\n var state = [];\n var pass = false;\n var metatype = 2;\n recordhopper(data, function(val, R, RT) {\n switch (RT) {\n case 335:\n out.Types.push({ name: val.name });\n break;\n case 51:\n val.forEach(function(r) {\n if (metatype == 1)\n out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n else if (metatype == 0)\n out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n });\n break;\n case 337:\n metatype = val ? 1 : 0;\n break;\n case 338:\n metatype = 2;\n break;\n case 35:\n state.push(RT);\n pass = true;\n break;\n case 36:\n state.pop();\n pass = false;\n break;\n default:\n if (R.T) {\n } else if (!pass || opts.WTF && state[state.length - 1] != 35)\n throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n }\n });\n return out;\n}\nfunction write_xlmeta_bin() {\n var ba = buf_array();\n write_record(ba, 332);\n write_record(ba, 334, write_UInt32LE(1));\n write_record(ba, 335, write_BrtMdtinfo({\n name: \"XLDAPR\",\n version: 12e4,\n flags: 3496657072\n }));\n write_record(ba, 336);\n write_record(ba, 339, write_BrtBeginEsfmd(1, \"XLDAPR\"));\n write_record(ba, 52);\n write_record(ba, 35, write_UInt32LE(514));\n write_record(ba, 4096, write_UInt32LE(0));\n write_record(ba, 4097, writeuint16(1));\n write_record(ba, 36);\n write_record(ba, 53);\n write_record(ba, 340);\n write_record(ba, 337, write_BrtBeginEsmdb(1, true));\n write_record(ba, 51, write_BrtMdb([[1, 0]]));\n write_record(ba, 338);\n write_record(ba, 333);\n return ba.end();\n}\nfunction parse_xlmeta_xml(data, name, opts) {\n var out = { Types: [], Cell: [], Value: [] };\n if (!data)\n return out;\n var pass = false;\n var metatype = 2;\n var lastmeta;\n data.replace(tagregex, function(x) {\n var y = parsexmltag(x);\n switch (strip_ns(y[0])) {\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n case \"\":\n case \"\":\n break;\n case \"\":\n pass = false;\n break;\n case \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n');\n return o.join(\"\");\n}\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data/*::, name, opts*/)/*:Array*/ {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ']*r:id=\"([^\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nvar _shapeid = 1024;\nfunction write_comments_vml(rId/*:number*/, comments) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"}),\n\t\twritextag(\"v:shapetype\", [\n\t\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t\t].join(\"\"), {id:\"_x0000_t202\", 'o:spt':202, coordsize:csize.join(\",\"),path:bbox})\n\t];\n\twhile(_shapeid < rId * 1000) _shapeid += 1000;\n\n\tcomments.forEach(function(x) {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = /*::(*/{'color2':\"#BEFF82\", 'type':\"gradient\"}/*:: :any)*/;\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"}/*:any*/);\n\t++_shapeid;\n\n\to = o.concat([\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
    ',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t]); });\n\to.push('');\n\treturn o.join(\"\");\n}\nfunction sheet_insert_comments(sheet, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) {\n\tvar dense = Array.isArray(sheet);\n\tvar cell/*:Cell*/;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(dense) {\n\t\t\tif(!sheet[r.r]) sheet[r.r] = [];\n\t\t\tcell = sheet[r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"}/*:any*/);\n\t\t\tif(dense) sheet[r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tif (encoded !== sheet[\"!ref\"]) sheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded});\n\t\tif(comment.h) o.h = comment.h;\n\n\t\t/* threaded comments always override */\n\t\tfor(var i = cell.c.length - 1; i >= 0; --i) {\n\t\t\tif(!threaded && cell.c[i].T) return;\n\t\t\tif(threaded && !cell.c[i].T) cell.c.splice(i, 1);\n\t\t}\n\t\tif(threaded && people) for(i = 0; i < people.length; ++i) {\n\t\t\tif(o.a == people[i].id) { o.a = people[i].name || o.a; break; }\n\t\t}\n\t\tcell.c.push(o);\n\t});\n}\n\n/* 18.7 Comments */\nfunction parse_comments_xml(data/*:string*/, opts)/*:Array*/ {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors/*:Array*/ = [];\n\tvar commentList/*:Array*/ = [];\n\tvar authtag = data.match(/<(?:\\w+:)?authors>([\\s\\S]*)<\\/(?:\\w+:)?authors>/);\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = data.match(/<(?:\\w+:)?commentList>([\\s\\S]*)<\\/(?:\\w+:)?commentList>/);\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment/*:RawComment*/ = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid }/*:any*/);\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = x.match(/<(?:\\w+:)?text>([\\s\\S]*)<\\/(?:\\w+:)?text>/);\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = (rt.t||\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nfunction write_comments_xml(data/*::, opts*/) {\n\tvar o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })];\n\n\tvar iauthor/*:Array*/ = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) == -1) {\n\t\t\tiauthor.push(a);\n\t\t\to.push(\"\" + a + \"\");\n\t\t}\n\t\tif(w.T && w.ID && iauthor.indexOf(\"tc=\" + w.ID) == -1) {\n\t\t\tiauthor.push(\"tc=\" + w.ID);\n\t\t\to.push(\"\" + \"tc=\" + w.ID + \"\");\n\t\t}\n\t}); });\n\tif(iauthor.length == 0) { iauthor.push(\"SheetJ5\"); o.push(\"SheetJ5\"); }\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\t/* 18.7.3 CT_Comment */\n\t\tvar lastauthor = 0, ts = [];\n\t\tif(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf(\"tc=\" + d[1][0].ID);\n\t\telse d[1].forEach(function(c) {\n\t\t\tif(c.a) lastauthor = iauthor.indexOf(escapexml(c.a));\n\t\t\tts.push(c.t||\"\");\n\t\t});\n\t\to.push('');\n\t\tif(ts.length <= 1) o.push(writetag(\"t\", escapexml(ts[0]||\"\")));\n\t\telse {\n\t\t\t/* based on Threaded Comments -> Comments projection */\n\t\t\tvar t = \"Comment:\\n \" + (ts[0]) + \"\\n\";\n\t\t\tfor(var i = 1; i < ts.length; ++i) t += \"Reply:\\n \" + ts[i] + \"\\n\";\n\t\t\to.push(writetag(\"t\", escapexml(t)));\n\t\t}\n\t\to.push('');\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.17 */\nfunction parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ {\n\tvar out = [];\n\tvar pass = false, comment = {}, tidx = 0;\n\tdata.replace(tagregex, function xml_tcmnt(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.205 threadedComment CT_ThreadedComment */\n\t\t\tcase '': if(comment.t != null) out.push(comment); break;\n\n\t\t\tcase '': case '': comment.t = data.slice(tidx, idx).replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\"); break;\n\n\t\t\t/* 2.6.206 mentions CT_ThreadedCommentMentions TODO */\n\t\t\tcase '': pass = true; break;\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 2.6.202 mention CT_Mention TODO */\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '
    ': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\n\nfunction write_tcmnt_xml(comments, people, opts) {\n\tvar o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\\/]>/, \">\")];\n\tcomments.forEach(function(carr) {\n\t\tvar rootid = \"\";\n\t\t(carr[1] || []).forEach(function(c, idx) {\n\t\t\tif(!c.T) { delete c.ID; return; }\n\t\t\tif(c.a && people.indexOf(c.a) == -1) people.push(c.a);\n\t\t\tvar tcopts = {\n\t\t\t\tref: carr[0],\n\t\t\t\tid: \"{54EE7951-7262-4200-6969-\" + (\"000000000000\" + opts.tcid++).slice(-12) + \"}\"\n\t\t\t};\n\t\t\tif(idx == 0) rootid = tcopts.id;\n\t\t\telse tcopts.parentId = rootid;\n\t\t\tc.ID = tcopts.id;\n\t\t\tif(c.a) tcopts.personId = \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + people.indexOf(c.a)).slice(-12) + \"}\";\n\t\t\to.push(writextag('threadedComment', writetag('text', c.t||\"\"), tcopts));\n\t\t});\n\t});\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.18 */\nfunction parse_people_xml(data/*:string*/, opts) {\n\tvar out = [];\n\tvar pass = false;\n\tdata.replace(tagregex, function xml_tcmnt(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.203 person CT_Person TODO: providers */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\nfunction write_people_xml(people/*, opts*/) {\n\tvar o = [XML_HEADER, writextag('personList', null, {\n\t\t'xmlns': XMLNS.TCMNT,\n\t\t'xmlns:x': XMLNS_main[0]\n\t}).replace(/[\\/]>/, \">\")];\n\tpeople.forEach(function(person, idx) {\n\t\to.push(writextag('person', null, {\n\t\t\tdisplayName: person,\n\t\t\tid: \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + idx).slice(-12) + \"}\",\n\t\t\tuserId: person,\n\t\t\tproviderId: \"None\"\n\t\t}));\n\t});\n\to.push(\"\");\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]/*:any*/), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts)/*:Array*/ {\n\tvar out/*:Array*/ = [];\n\tvar authors/*:Array*/ = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c/*:any*/).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data/*::, opts*/) {\n\tvar ba = buf_array();\n\tvar iauthor/*:Array*/ = [];\n\twrite_record(ba, 0x0274 /* BrtBeginComments */);\n\n\twrite_record(ba, 0x0276 /* BrtBeginCommentAuthors */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a));\n\t\t});\n\t});\n\twrite_record(ba, 0x0277 /* BrtEndCommentAuthors */);\n\n\twrite_record(ba, 0x0279 /* BrtBeginCommentList */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tc.iauthor = iauthor.indexOf(c.a);\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c));\n\t\t\twrite_record(ba, 0x027C /* BrtEndComment */);\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, 0x027A /* BrtEndCommentList */);\n\n\twrite_record(ba, 0x0275 /* BrtEndComments */);\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n var newcfb = CFB.utils.cfb_new({ root: \"R\" });\n cfb.FullPaths.forEach(function(p, i) {\n if (p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/))\n return;\n var newpath = p.replace(/^[^\\/]*/, \"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n CFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n });\n return CFB.write(newcfb);\n}\nfunction fill_vba_xls(cfb, vba) {\n vba.FullPaths.forEach(function(p, i) {\n if (i == 0)\n return;\n var newpath = p.replace(/[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n if (newpath.slice(-1) !== \"/\")\n CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n });\n}\nvar VBAFMTS = [\"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\"];\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ms_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\nfunction parse_ms_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = /*#__PURE__*/(function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase/*:Cell*/ = ({r:0,c:0}/*:any*/);\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr/*:string*/, base/*:Cell*/)/*:string*/ {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\nvar a1_to_rc = /*#__PURE__*/(function(){\n\treturn function a1_to_rc(fstr/*:string*/, base/*:CellAddress*/) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = (r == 0 ? \"\" : !$4 ? \"[\" + r + \"]\" : (r+1));\n\t\t\tvar C = (c == 0 ? \"\" : !$2 ? \"[\" + c + \"]\" : (c+1));\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f/*:string*/)/*:boolean*/ {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f/*:string*/)/*:string*/ {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob/*::, length, opts*/) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob/*::, length, opts*/) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob/*::, length, opts*/) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts)/*:Array*/ {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o/*:Array*/ = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob/*::, length*/) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff/*:number*/) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o/*:Array>*/ = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob/*::, length, opts*/) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob/*::, length, opts*/) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n\t/*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp },\n\t/*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl },\n\t/*::[*/0x03/*::]*/: { n:'PtgAdd', f:parseread1 },\n\t/*::[*/0x04/*::]*/: { n:'PtgSub', f:parseread1 },\n\t/*::[*/0x05/*::]*/: { n:'PtgMul', f:parseread1 },\n\t/*::[*/0x06/*::]*/: { n:'PtgDiv', f:parseread1 },\n\t/*::[*/0x07/*::]*/: { n:'PtgPower', f:parseread1 },\n\t/*::[*/0x08/*::]*/: { n:'PtgConcat', f:parseread1 },\n\t/*::[*/0x09/*::]*/: { n:'PtgLt', f:parseread1 },\n\t/*::[*/0x0A/*::]*/: { n:'PtgLe', f:parseread1 },\n\t/*::[*/0x0B/*::]*/: { n:'PtgEq', f:parseread1 },\n\t/*::[*/0x0C/*::]*/: { n:'PtgGe', f:parseread1 },\n\t/*::[*/0x0D/*::]*/: { n:'PtgGt', f:parseread1 },\n\t/*::[*/0x0E/*::]*/: { n:'PtgNe', f:parseread1 },\n\t/*::[*/0x0F/*::]*/: { n:'PtgIsect', f:parseread1 },\n\t/*::[*/0x10/*::]*/: { n:'PtgUnion', f:parseread1 },\n\t/*::[*/0x11/*::]*/: { n:'PtgRange', f:parseread1 },\n\t/*::[*/0x12/*::]*/: { n:'PtgUplus', f:parseread1 },\n\t/*::[*/0x13/*::]*/: { n:'PtgUminus', f:parseread1 },\n\t/*::[*/0x14/*::]*/: { n:'PtgPercent', f:parseread1 },\n\t/*::[*/0x15/*::]*/: { n:'PtgParen', f:parseread1 },\n\t/*::[*/0x16/*::]*/: { n:'PtgMissArg', f:parseread1 },\n\t/*::[*/0x17/*::]*/: { n:'PtgStr', f:parse_PtgStr },\n\t/*::[*/0x1A/*::]*/: { n:'PtgSheet', f:parse_PtgSheet },\n\t/*::[*/0x1B/*::]*/: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n\t/*::[*/0x1C/*::]*/: { n:'PtgErr', f:parse_PtgErr },\n\t/*::[*/0x1D/*::]*/: { n:'PtgBool', f:parse_PtgBool },\n\t/*::[*/0x1E/*::]*/: { n:'PtgInt', f:parse_PtgInt },\n\t/*::[*/0x1F/*::]*/: { n:'PtgNum', f:parse_PtgNum },\n\t/*::[*/0x20/*::]*/: { n:'PtgArray', f:parse_PtgArray },\n\t/*::[*/0x21/*::]*/: { n:'PtgFunc', f:parse_PtgFunc },\n\t/*::[*/0x22/*::]*/: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n\t/*::[*/0x23/*::]*/: { n:'PtgName', f:parse_PtgName },\n\t/*::[*/0x24/*::]*/: { n:'PtgRef', f:parse_PtgRef },\n\t/*::[*/0x25/*::]*/: { n:'PtgArea', f:parse_PtgArea },\n\t/*::[*/0x26/*::]*/: { n:'PtgMemArea', f:parse_PtgMemArea },\n\t/*::[*/0x27/*::]*/: { n:'PtgMemErr', f:parse_PtgMemErr },\n\t/*::[*/0x28/*::]*/: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n\t/*::[*/0x29/*::]*/: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n\t/*::[*/0x2A/*::]*/: { n:'PtgRefErr', f:parse_PtgRefErr },\n\t/*::[*/0x2B/*::]*/: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n\t/*::[*/0x2C/*::]*/: { n:'PtgRefN', f:parse_PtgRefN },\n\t/*::[*/0x2D/*::]*/: { n:'PtgAreaN', f:parse_PtgAreaN },\n\t/*::[*/0x2E/*::]*/: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n\t/*::[*/0x2F/*::]*/: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n\t/*::[*/0x39/*::]*/: { n:'PtgNameX', f:parse_PtgNameX },\n\t/*::[*/0x3A/*::]*/: { n:'PtgRef3d', f:parse_PtgRef3d },\n\t/*::[*/0x3B/*::]*/: { n:'PtgArea3d', f:parse_PtgArea3d },\n\t/*::[*/0x3C/*::]*/: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n\t/*::[*/0x3D/*::]*/: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n\t/*::[*/0xFF/*::]*/: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n\t/*::[*/0x40/*::]*/: 0x20, /*::[*/0x60/*::]*/: 0x20,\n\t/*::[*/0x41/*::]*/: 0x21, /*::[*/0x61/*::]*/: 0x21,\n\t/*::[*/0x42/*::]*/: 0x22, /*::[*/0x62/*::]*/: 0x22,\n\t/*::[*/0x43/*::]*/: 0x23, /*::[*/0x63/*::]*/: 0x23,\n\t/*::[*/0x44/*::]*/: 0x24, /*::[*/0x64/*::]*/: 0x24,\n\t/*::[*/0x45/*::]*/: 0x25, /*::[*/0x65/*::]*/: 0x25,\n\t/*::[*/0x46/*::]*/: 0x26, /*::[*/0x66/*::]*/: 0x26,\n\t/*::[*/0x47/*::]*/: 0x27, /*::[*/0x67/*::]*/: 0x27,\n\t/*::[*/0x48/*::]*/: 0x28, /*::[*/0x68/*::]*/: 0x28,\n\t/*::[*/0x49/*::]*/: 0x29, /*::[*/0x69/*::]*/: 0x29,\n\t/*::[*/0x4A/*::]*/: 0x2A, /*::[*/0x6A/*::]*/: 0x2A,\n\t/*::[*/0x4B/*::]*/: 0x2B, /*::[*/0x6B/*::]*/: 0x2B,\n\t/*::[*/0x4C/*::]*/: 0x2C, /*::[*/0x6C/*::]*/: 0x2C,\n\t/*::[*/0x4D/*::]*/: 0x2D, /*::[*/0x6D/*::]*/: 0x2D,\n\t/*::[*/0x4E/*::]*/: 0x2E, /*::[*/0x6E/*::]*/: 0x2E,\n\t/*::[*/0x4F/*::]*/: 0x2F, /*::[*/0x6F/*::]*/: 0x2F,\n\t/*::[*/0x58/*::]*/: 0x22, /*::[*/0x78/*::]*/: 0x22,\n\t/*::[*/0x59/*::]*/: 0x39, /*::[*/0x79/*::]*/: 0x39,\n\t/*::[*/0x5A/*::]*/: 0x3A, /*::[*/0x7A/*::]*/: 0x3A,\n\t/*::[*/0x5B/*::]*/: 0x3B, /*::[*/0x7B/*::]*/: 0x3B,\n\t/*::[*/0x5C/*::]*/: 0x3C, /*::[*/0x7C/*::]*/: 0x3C,\n\t/*::[*/0x5D/*::]*/: 0x3D, /*::[*/0x7D/*::]*/: 0x3D\n};\n\nvar Ptg18 = {\n\t/*::[*/0x01/*::]*/: { n:'PtgElfLel', f:parse_PtgElfLel },\n\t/*::[*/0x02/*::]*/: { n:'PtgElfRw', f:parse_PtgElfRw },\n\t/*::[*/0x03/*::]*/: { n:'PtgElfCol', f:parse_PtgElfCol },\n\t/*::[*/0x06/*::]*/: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n\t/*::[*/0x07/*::]*/: { n:'PtgElfColV', f:parse_PtgElfColV },\n\t/*::[*/0x0A/*::]*/: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n\t/*::[*/0x0B/*::]*/: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n\t/*::[*/0x0D/*::]*/: { n:'PtgElfColS', f:parse_PtgElfColS },\n\t/*::[*/0x0F/*::]*/: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n\t/*::[*/0x10/*::]*/: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n\t/*::[*/0x19/*::]*/: { n:'PtgList', f:parse_PtgList },\n\t/*::[*/0x1D/*::]*/: { n:'PtgSxName', f:parse_PtgSxName },\n\t/*::[*/0xFF/*::]*/: {}\n};\nvar Ptg19 = {\n\t/*::[*/0x00/*::]*/: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n\t/*::[*/0x01/*::]*/: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n\t/*::[*/0x02/*::]*/: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n\t/*::[*/0x04/*::]*/: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n\t/*::[*/0x08/*::]*/: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n\t/*::[*/0x10/*::]*/: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n\t/*::[*/0x20/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x21/*::]*/: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t/*::[*/0x40/*::]*/: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n\t/*::[*/0x41/*::]*/: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n\t/*::[*/0x80/*::]*/: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n\t/*::[*/0xFF/*::]*/: {}\n};\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id] || PtgTypes[PtgDupes[id]];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f/*:Array>*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r/*:Array*/ = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\n\t\t\t\t\t/*:: if(typeof y[1] != 'string') throw \"unreachable\"; */\n\t\t\t\t\tr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// List of invalid characters needs to be tested further\nfunction formula_quote_sheet_name(sname/*:string*/, opts)/*:string*/ {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/.test(sname)) return \"'\" + sname + \"'\";\n\treturn sname;\n}\nfunction get_ixti_raw(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tvar ixtiraw = get_ixti_raw(supbooks, ixti, opts);\n\treturn ixtiraw == \"#REF\" ? ixtiraw : formula_quote_sheet_name(ixtiraw, opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, opts)/*:string*/ {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack/*:Array*/ = [], e1, e2, /*::type,*/ c/*:CellAddress*/, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\":\"+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\n\t\t\t\t/*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\n\t\t\t\t/*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]/*:any*/);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\t/* [MS-XLSB] 2.5.97.10 Ftab -- last verified 20220204 */\n\t\t\t\tif(name && name.slice(0,6) == \"_xlfn.\" && !opts.xlfn) name = name.slice(6);\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = (get_ixti_raw(supbooks, bookidx, opts)||\"\").split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r}/*:any*/);\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t} else {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(/*::String(*/f[1]/*::)*/);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(/*::(*/f[1]/*:: :any)*/) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts/*::, ref*/) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob/*::, length*/) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6);\n\tif(opts.biff == 2) ++blob.l;\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, os/*:number*/) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\nvar Cetab = {\n 0: \"BEEP\",\n 1: \"OPEN\",\n 2: \"OPEN.LINKS\",\n 3: \"CLOSE.ALL\",\n 4: \"SAVE\",\n 5: \"SAVE.AS\",\n 6: \"FILE.DELETE\",\n 7: \"PAGE.SETUP\",\n 8: \"PRINT\",\n 9: \"PRINTER.SETUP\",\n 10: \"QUIT\",\n 11: \"NEW.WINDOW\",\n 12: \"ARRANGE.ALL\",\n 13: \"WINDOW.SIZE\",\n 14: \"WINDOW.MOVE\",\n 15: \"FULL\",\n 16: \"CLOSE\",\n 17: \"RUN\",\n 22: \"SET.PRINT.AREA\",\n 23: \"SET.PRINT.TITLES\",\n 24: \"SET.PAGE.BREAK\",\n 25: \"REMOVE.PAGE.BREAK\",\n 26: \"FONT\",\n 27: \"DISPLAY\",\n 28: \"PROTECT.DOCUMENT\",\n 29: \"PRECISION\",\n 30: \"A1.R1C1\",\n 31: \"CALCULATE.NOW\",\n 32: \"CALCULATION\",\n 34: \"DATA.FIND\",\n 35: \"EXTRACT\",\n 36: \"DATA.DELETE\",\n 37: \"SET.DATABASE\",\n 38: \"SET.CRITERIA\",\n 39: \"SORT\",\n 40: \"DATA.SERIES\",\n 41: \"TABLE\",\n 42: \"FORMAT.NUMBER\",\n 43: \"ALIGNMENT\",\n 44: \"STYLE\",\n 45: \"BORDER\",\n 46: \"CELL.PROTECTION\",\n 47: \"COLUMN.WIDTH\",\n 48: \"UNDO\",\n 49: \"CUT\",\n 50: \"COPY\",\n 51: \"PASTE\",\n 52: \"CLEAR\",\n 53: \"PASTE.SPECIAL\",\n 54: \"EDIT.DELETE\",\n 55: \"INSERT\",\n 56: \"FILL.RIGHT\",\n 57: \"FILL.DOWN\",\n 61: \"DEFINE.NAME\",\n 62: \"CREATE.NAMES\",\n 63: \"FORMULA.GOTO\",\n 64: \"FORMULA.FIND\",\n 65: \"SELECT.LAST.CELL\",\n 66: \"SHOW.ACTIVE.CELL\",\n 67: \"GALLERY.AREA\",\n 68: \"GALLERY.BAR\",\n 69: \"GALLERY.COLUMN\",\n 70: \"GALLERY.LINE\",\n 71: \"GALLERY.PIE\",\n 72: \"GALLERY.SCATTER\",\n 73: \"COMBINATION\",\n 74: \"PREFERRED\",\n 75: \"ADD.OVERLAY\",\n 76: \"GRIDLINES\",\n 77: \"SET.PREFERRED\",\n 78: \"AXES\",\n 79: \"LEGEND\",\n 80: \"ATTACH.TEXT\",\n 81: \"ADD.ARROW\",\n 82: \"SELECT.CHART\",\n 83: \"SELECT.PLOT.AREA\",\n 84: \"PATTERNS\",\n 85: \"MAIN.CHART\",\n 86: \"OVERLAY\",\n 87: \"SCALE\",\n 88: \"FORMAT.LEGEND\",\n 89: \"FORMAT.TEXT\",\n 90: \"EDIT.REPEAT\",\n 91: \"PARSE\",\n 92: \"JUSTIFY\",\n 93: \"HIDE\",\n 94: \"UNHIDE\",\n 95: \"WORKSPACE\",\n 96: \"FORMULA\",\n 97: \"FORMULA.FILL\",\n 98: \"FORMULA.ARRAY\",\n 99: \"DATA.FIND.NEXT\",\n 100: \"DATA.FIND.PREV\",\n 101: \"FORMULA.FIND.NEXT\",\n 102: \"FORMULA.FIND.PREV\",\n 103: \"ACTIVATE\",\n 104: \"ACTIVATE.NEXT\",\n 105: \"ACTIVATE.PREV\",\n 106: \"UNLOCKED.NEXT\",\n 107: \"UNLOCKED.PREV\",\n 108: \"COPY.PICTURE\",\n 109: \"SELECT\",\n 110: \"DELETE.NAME\",\n 111: \"DELETE.FORMAT\",\n 112: \"VLINE\",\n 113: \"HLINE\",\n 114: \"VPAGE\",\n 115: \"HPAGE\",\n 116: \"VSCROLL\",\n 117: \"HSCROLL\",\n 118: \"ALERT\",\n 119: \"NEW\",\n 120: \"CANCEL.COPY\",\n 121: \"SHOW.CLIPBOARD\",\n 122: \"MESSAGE\",\n 124: \"PASTE.LINK\",\n 125: \"APP.ACTIVATE\",\n 126: \"DELETE.ARROW\",\n 127: \"ROW.HEIGHT\",\n 128: \"FORMAT.MOVE\",\n 129: \"FORMAT.SIZE\",\n 130: \"FORMULA.REPLACE\",\n 131: \"SEND.KEYS\",\n 132: \"SELECT.SPECIAL\",\n 133: \"APPLY.NAMES\",\n 134: \"REPLACE.FONT\",\n 135: \"FREEZE.PANES\",\n 136: \"SHOW.INFO\",\n 137: \"SPLIT\",\n 138: \"ON.WINDOW\",\n 139: \"ON.DATA\",\n 140: \"DISABLE.INPUT\",\n 142: \"OUTLINE\",\n 143: \"LIST.NAMES\",\n 144: \"FILE.CLOSE\",\n 145: \"SAVE.WORKBOOK\",\n 146: \"DATA.FORM\",\n 147: \"COPY.CHART\",\n 148: \"ON.TIME\",\n 149: \"WAIT\",\n 150: \"FORMAT.FONT\",\n 151: \"FILL.UP\",\n 152: \"FILL.LEFT\",\n 153: \"DELETE.OVERLAY\",\n 155: \"SHORT.MENUS\",\n 159: \"SET.UPDATE.STATUS\",\n 161: \"COLOR.PALETTE\",\n 162: \"DELETE.STYLE\",\n 163: \"WINDOW.RESTORE\",\n 164: \"WINDOW.MAXIMIZE\",\n 166: \"CHANGE.LINK\",\n 167: \"CALCULATE.DOCUMENT\",\n 168: \"ON.KEY\",\n 169: \"APP.RESTORE\",\n 170: \"APP.MOVE\",\n 171: \"APP.SIZE\",\n 172: \"APP.MINIMIZE\",\n 173: \"APP.MAXIMIZE\",\n 174: \"BRING.TO.FRONT\",\n 175: \"SEND.TO.BACK\",\n 185: \"MAIN.CHART.TYPE\",\n 186: \"OVERLAY.CHART.TYPE\",\n 187: \"SELECT.END\",\n 188: \"OPEN.MAIL\",\n 189: \"SEND.MAIL\",\n 190: \"STANDARD.FONT\",\n 191: \"CONSOLIDATE\",\n 192: \"SORT.SPECIAL\",\n 193: \"GALLERY.3D.AREA\",\n 194: \"GALLERY.3D.COLUMN\",\n 195: \"GALLERY.3D.LINE\",\n 196: \"GALLERY.3D.PIE\",\n 197: \"VIEW.3D\",\n 198: \"GOAL.SEEK\",\n 199: \"WORKGROUP\",\n 200: \"FILL.GROUP\",\n 201: \"UPDATE.LINK\",\n 202: \"PROMOTE\",\n 203: \"DEMOTE\",\n 204: \"SHOW.DETAIL\",\n 206: \"UNGROUP\",\n 207: \"OBJECT.PROPERTIES\",\n 208: \"SAVE.NEW.OBJECT\",\n 209: \"SHARE\",\n 210: \"SHARE.NAME\",\n 211: \"DUPLICATE\",\n 212: \"APPLY.STYLE\",\n 213: \"ASSIGN.TO.OBJECT\",\n 214: \"OBJECT.PROTECTION\",\n 215: \"HIDE.OBJECT\",\n 216: \"SET.EXTRACT\",\n 217: \"CREATE.PUBLISHER\",\n 218: \"SUBSCRIBE.TO\",\n 219: \"ATTRIBUTES\",\n 220: \"SHOW.TOOLBAR\",\n 222: \"PRINT.PREVIEW\",\n 223: \"EDIT.COLOR\",\n 224: \"SHOW.LEVELS\",\n 225: \"FORMAT.MAIN\",\n 226: \"FORMAT.OVERLAY\",\n 227: \"ON.RECALC\",\n 228: \"EDIT.SERIES\",\n 229: \"DEFINE.STYLE\",\n 240: \"LINE.PRINT\",\n 243: \"ENTER.DATA\",\n 249: \"GALLERY.RADAR\",\n 250: \"MERGE.STYLES\",\n 251: \"EDITION.OPTIONS\",\n 252: \"PASTE.PICTURE\",\n 253: \"PASTE.PICTURE.LINK\",\n 254: \"SPELLING\",\n 256: \"ZOOM\",\n 259: \"INSERT.OBJECT\",\n 260: \"WINDOW.MINIMIZE\",\n 265: \"SOUND.NOTE\",\n 266: \"SOUND.PLAY\",\n 267: \"FORMAT.SHAPE\",\n 268: \"EXTEND.POLYGON\",\n 269: \"FORMAT.AUTO\",\n 272: \"GALLERY.3D.BAR\",\n 273: \"GALLERY.3D.SURFACE\",\n 274: \"FILL.AUTO\",\n 276: \"CUSTOMIZE.TOOLBAR\",\n 277: \"ADD.TOOL\",\n 278: \"EDIT.OBJECT\",\n 279: \"ON.DOUBLECLICK\",\n 280: \"ON.ENTRY\",\n 281: \"WORKBOOK.ADD\",\n 282: \"WORKBOOK.MOVE\",\n 283: \"WORKBOOK.COPY\",\n 284: \"WORKBOOK.OPTIONS\",\n 285: \"SAVE.WORKSPACE\",\n 288: \"CHART.WIZARD\",\n 289: \"DELETE.TOOL\",\n 290: \"MOVE.TOOL\",\n 291: \"WORKBOOK.SELECT\",\n 292: \"WORKBOOK.ACTIVATE\",\n 293: \"ASSIGN.TO.TOOL\",\n 295: \"COPY.TOOL\",\n 296: \"RESET.TOOL\",\n 297: \"CONSTRAIN.NUMERIC\",\n 298: \"PASTE.TOOL\",\n 302: \"WORKBOOK.NEW\",\n 305: \"SCENARIO.CELLS\",\n 306: \"SCENARIO.DELETE\",\n 307: \"SCENARIO.ADD\",\n 308: \"SCENARIO.EDIT\",\n 309: \"SCENARIO.SHOW\",\n 310: \"SCENARIO.SHOW.NEXT\",\n 311: \"SCENARIO.SUMMARY\",\n 312: \"PIVOT.TABLE.WIZARD\",\n 313: \"PIVOT.FIELD.PROPERTIES\",\n 314: \"PIVOT.FIELD\",\n 315: \"PIVOT.ITEM\",\n 316: \"PIVOT.ADD.FIELDS\",\n 318: \"OPTIONS.CALCULATION\",\n 319: \"OPTIONS.EDIT\",\n 320: \"OPTIONS.VIEW\",\n 321: \"ADDIN.MANAGER\",\n 322: \"MENU.EDITOR\",\n 323: \"ATTACH.TOOLBARS\",\n 324: \"VBAActivate\",\n 325: \"OPTIONS.CHART\",\n 328: \"VBA.INSERT.FILE\",\n 330: \"VBA.PROCEDURE.DEFINITION\",\n 336: \"ROUTING.SLIP\",\n 338: \"ROUTE.DOCUMENT\",\n 339: \"MAIL.LOGON\",\n 342: \"INSERT.PICTURE\",\n 343: \"EDIT.TOOL\",\n 344: \"GALLERY.DOUGHNUT\",\n 350: \"CHART.TREND\",\n 352: \"PIVOT.ITEM.PROPERTIES\",\n 354: \"WORKBOOK.INSERT\",\n 355: \"OPTIONS.TRANSITION\",\n 356: \"OPTIONS.GENERAL\",\n 370: \"FILTER.ADVANCED\",\n 373: \"MAIL.ADD.MAILER\",\n 374: \"MAIL.DELETE.MAILER\",\n 375: \"MAIL.REPLY\",\n 376: \"MAIL.REPLY.ALL\",\n 377: \"MAIL.FORWARD\",\n 378: \"MAIL.NEXT.LETTER\",\n 379: \"DATA.LABEL\",\n 380: \"INSERT.TITLE\",\n 381: \"FONT.PROPERTIES\",\n 382: \"MACRO.OPTIONS\",\n 383: \"WORKBOOK.HIDE\",\n 384: \"WORKBOOK.UNHIDE\",\n 385: \"WORKBOOK.DELETE\",\n 386: \"WORKBOOK.NAME\",\n 388: \"GALLERY.CUSTOM\",\n 390: \"ADD.CHART.AUTOFORMAT\",\n 391: \"DELETE.CHART.AUTOFORMAT\",\n 392: \"CHART.ADD.DATA\",\n 393: \"AUTO.OUTLINE\",\n 394: \"TAB.ORDER\",\n 395: \"SHOW.DIALOG\",\n 396: \"SELECT.ALL\",\n 397: \"UNGROUP.SHEETS\",\n 398: \"SUBTOTAL.CREATE\",\n 399: \"SUBTOTAL.REMOVE\",\n 400: \"RENAME.OBJECT\",\n 412: \"WORKBOOK.SCROLL\",\n 413: \"WORKBOOK.NEXT\",\n 414: \"WORKBOOK.PREV\",\n 415: \"WORKBOOK.TAB.SPLIT\",\n 416: \"FULL.SCREEN\",\n 417: \"WORKBOOK.PROTECT\",\n 420: \"SCROLLBAR.PROPERTIES\",\n 421: \"PIVOT.SHOW.PAGES\",\n 422: \"TEXT.TO.COLUMNS\",\n 423: \"FORMAT.CHARTTYPE\",\n 424: \"LINK.FORMAT\",\n 425: \"TRACER.DISPLAY\",\n 430: \"TRACER.NAVIGATE\",\n 431: \"TRACER.CLEAR\",\n 432: \"TRACER.ERROR\",\n 433: \"PIVOT.FIELD.GROUP\",\n 434: \"PIVOT.FIELD.UNGROUP\",\n 435: \"CHECKBOX.PROPERTIES\",\n 436: \"LABEL.PROPERTIES\",\n 437: \"LISTBOX.PROPERTIES\",\n 438: \"EDITBOX.PROPERTIES\",\n 439: \"PIVOT.REFRESH\",\n 440: \"LINK.COMBO\",\n 441: \"OPEN.TEXT\",\n 442: \"HIDE.DIALOG\",\n 443: \"SET.DIALOG.FOCUS\",\n 444: \"ENABLE.OBJECT\",\n 445: \"PUSHBUTTON.PROPERTIES\",\n 446: \"SET.DIALOG.DEFAULT\",\n 447: \"FILTER\",\n 448: \"FILTER.SHOW.ALL\",\n 449: \"CLEAR.OUTLINE\",\n 450: \"FUNCTION.WIZARD\",\n 451: \"ADD.LIST.ITEM\",\n 452: \"SET.LIST.ITEM\",\n 453: \"REMOVE.LIST.ITEM\",\n 454: \"SELECT.LIST.ITEM\",\n 455: \"SET.CONTROL.VALUE\",\n 456: \"SAVE.COPY.AS\",\n 458: \"OPTIONS.LISTS.ADD\",\n 459: \"OPTIONS.LISTS.DELETE\",\n 460: \"SERIES.AXES\",\n 461: \"SERIES.X\",\n 462: \"SERIES.Y\",\n 463: \"ERRORBAR.X\",\n 464: \"ERRORBAR.Y\",\n 465: \"FORMAT.CHART\",\n 466: \"SERIES.ORDER\",\n 467: \"MAIL.LOGOFF\",\n 468: \"CLEAR.ROUTING.SLIP\",\n 469: \"APP.ACTIVATE.MICROSOFT\",\n 470: \"MAIL.EDIT.MAILER\",\n 471: \"ON.SHEET\",\n 472: \"STANDARD.WIDTH\",\n 473: \"SCENARIO.MERGE\",\n 474: \"SUMMARY.INFO\",\n 475: \"FIND.FILE\",\n 476: \"ACTIVE.CELL.FONT\",\n 477: \"ENABLE.TIPWIZARD\",\n 478: \"VBA.MAKE.ADDIN\",\n 480: \"INSERTDATATABLE\",\n 481: \"WORKGROUP.OPTIONS\",\n 482: \"MAIL.SEND.MAILER\",\n 485: \"AUTOCORRECT\",\n 489: \"POST.DOCUMENT\",\n 491: \"PICKLIST\",\n 493: \"VIEW.SHOW\",\n 494: \"VIEW.DEFINE\",\n 495: \"VIEW.DELETE\",\n 509: \"SHEET.BACKGROUND\",\n 510: \"INSERT.MAP.OBJECT\",\n 511: \"OPTIONS.MENONO\",\n 517: \"MSOCHECKS\",\n 518: \"NORMAL\",\n 519: \"LAYOUT\",\n 520: \"RM.PRINT.AREA\",\n 521: \"CLEAR.PRINT.AREA\",\n 522: \"ADD.PRINT.AREA\",\n 523: \"MOVE.BRK\",\n 545: \"HIDECURR.NOTE\",\n 546: \"HIDEALL.NOTES\",\n 547: \"DELETE.NOTE\",\n 548: \"TRAVERSE.NOTES\",\n 549: \"ACTIVATE.NOTES\",\n 620: \"PROTECT.REVISIONS\",\n 621: \"UNPROTECT.REVISIONS\",\n 647: \"OPTIONS.ME\",\n 653: \"WEB.PUBLISH\",\n 667: \"NEWWEBQUERY\",\n 673: \"PIVOT.TABLE.CHART\",\n 753: \"OPTIONS.SAVE\",\n 755: \"OPTIONS.SPELL\",\n 808: \"HIDEALL.INKANNOTS\"\n};\nvar Ftab = {\n 0: \"COUNT\",\n 1: \"IF\",\n 2: \"ISNA\",\n 3: \"ISERROR\",\n 4: \"SUM\",\n 5: \"AVERAGE\",\n 6: \"MIN\",\n 7: \"MAX\",\n 8: \"ROW\",\n 9: \"COLUMN\",\n 10: \"NA\",\n 11: \"NPV\",\n 12: \"STDEV\",\n 13: \"DOLLAR\",\n 14: \"FIXED\",\n 15: \"SIN\",\n 16: \"COS\",\n 17: \"TAN\",\n 18: \"ATAN\",\n 19: \"PI\",\n 20: \"SQRT\",\n 21: \"EXP\",\n 22: \"LN\",\n 23: \"LOG10\",\n 24: \"ABS\",\n 25: \"INT\",\n 26: \"SIGN\",\n 27: \"ROUND\",\n 28: \"LOOKUP\",\n 29: \"INDEX\",\n 30: \"REPT\",\n 31: \"MID\",\n 32: \"LEN\",\n 33: \"VALUE\",\n 34: \"TRUE\",\n 35: \"FALSE\",\n 36: \"AND\",\n 37: \"OR\",\n 38: \"NOT\",\n 39: \"MOD\",\n 40: \"DCOUNT\",\n 41: \"DSUM\",\n 42: \"DAVERAGE\",\n 43: \"DMIN\",\n 44: \"DMAX\",\n 45: \"DSTDEV\",\n 46: \"VAR\",\n 47: \"DVAR\",\n 48: \"TEXT\",\n 49: \"LINEST\",\n 50: \"TREND\",\n 51: \"LOGEST\",\n 52: \"GROWTH\",\n 53: \"GOTO\",\n 54: \"HALT\",\n 55: \"RETURN\",\n 56: \"PV\",\n 57: \"FV\",\n 58: \"NPER\",\n 59: \"PMT\",\n 60: \"RATE\",\n 61: \"MIRR\",\n 62: \"IRR\",\n 63: \"RAND\",\n 64: \"MATCH\",\n 65: \"DATE\",\n 66: \"TIME\",\n 67: \"DAY\",\n 68: \"MONTH\",\n 69: \"YEAR\",\n 70: \"WEEKDAY\",\n 71: \"HOUR\",\n 72: \"MINUTE\",\n 73: \"SECOND\",\n 74: \"NOW\",\n 75: \"AREAS\",\n 76: \"ROWS\",\n 77: \"COLUMNS\",\n 78: \"OFFSET\",\n 79: \"ABSREF\",\n 80: \"RELREF\",\n 81: \"ARGUMENT\",\n 82: \"SEARCH\",\n 83: \"TRANSPOSE\",\n 84: \"ERROR\",\n 85: \"STEP\",\n 86: \"TYPE\",\n 87: \"ECHO\",\n 88: \"SET.NAME\",\n 89: \"CALLER\",\n 90: \"DEREF\",\n 91: \"WINDOWS\",\n 92: \"SERIES\",\n 93: \"DOCUMENTS\",\n 94: \"ACTIVE.CELL\",\n 95: \"SELECTION\",\n 96: \"RESULT\",\n 97: \"ATAN2\",\n 98: \"ASIN\",\n 99: \"ACOS\",\n 100: \"CHOOSE\",\n 101: \"HLOOKUP\",\n 102: \"VLOOKUP\",\n 103: \"LINKS\",\n 104: \"INPUT\",\n 105: \"ISREF\",\n 106: \"GET.FORMULA\",\n 107: \"GET.NAME\",\n 108: \"SET.VALUE\",\n 109: \"LOG\",\n 110: \"EXEC\",\n 111: \"CHAR\",\n 112: \"LOWER\",\n 113: \"UPPER\",\n 114: \"PROPER\",\n 115: \"LEFT\",\n 116: \"RIGHT\",\n 117: \"EXACT\",\n 118: \"TRIM\",\n 119: \"REPLACE\",\n 120: \"SUBSTITUTE\",\n 121: \"CODE\",\n 122: \"NAMES\",\n 123: \"DIRECTORY\",\n 124: \"FIND\",\n 125: \"CELL\",\n 126: \"ISERR\",\n 127: \"ISTEXT\",\n 128: \"ISNUMBER\",\n 129: \"ISBLANK\",\n 130: \"T\",\n 131: \"N\",\n 132: \"FOPEN\",\n 133: \"FCLOSE\",\n 134: \"FSIZE\",\n 135: \"FREADLN\",\n 136: \"FREAD\",\n 137: \"FWRITELN\",\n 138: \"FWRITE\",\n 139: \"FPOS\",\n 140: \"DATEVALUE\",\n 141: \"TIMEVALUE\",\n 142: \"SLN\",\n 143: \"SYD\",\n 144: \"DDB\",\n 145: \"GET.DEF\",\n 146: \"REFTEXT\",\n 147: \"TEXTREF\",\n 148: \"INDIRECT\",\n 149: \"REGISTER\",\n 150: \"CALL\",\n 151: \"ADD.BAR\",\n 152: \"ADD.MENU\",\n 153: \"ADD.COMMAND\",\n 154: \"ENABLE.COMMAND\",\n 155: \"CHECK.COMMAND\",\n 156: \"RENAME.COMMAND\",\n 157: \"SHOW.BAR\",\n 158: \"DELETE.MENU\",\n 159: \"DELETE.COMMAND\",\n 160: \"GET.CHART.ITEM\",\n 161: \"DIALOG.BOX\",\n 162: \"CLEAN\",\n 163: \"MDETERM\",\n 164: \"MINVERSE\",\n 165: \"MMULT\",\n 166: \"FILES\",\n 167: \"IPMT\",\n 168: \"PPMT\",\n 169: \"COUNTA\",\n 170: \"CANCEL.KEY\",\n 171: \"FOR\",\n 172: \"WHILE\",\n 173: \"BREAK\",\n 174: \"NEXT\",\n 175: \"INITIATE\",\n 176: \"REQUEST\",\n 177: \"POKE\",\n 178: \"EXECUTE\",\n 179: \"TERMINATE\",\n 180: \"RESTART\",\n 181: \"HELP\",\n 182: \"GET.BAR\",\n 183: \"PRODUCT\",\n 184: \"FACT\",\n 185: \"GET.CELL\",\n 186: \"GET.WORKSPACE\",\n 187: \"GET.WINDOW\",\n 188: \"GET.DOCUMENT\",\n 189: \"DPRODUCT\",\n 190: \"ISNONTEXT\",\n 191: \"GET.NOTE\",\n 192: \"NOTE\",\n 193: \"STDEVP\",\n 194: \"VARP\",\n 195: \"DSTDEVP\",\n 196: \"DVARP\",\n 197: \"TRUNC\",\n 198: \"ISLOGICAL\",\n 199: \"DCOUNTA\",\n 200: \"DELETE.BAR\",\n 201: \"UNREGISTER\",\n 204: \"USDOLLAR\",\n 205: \"FINDB\",\n 206: \"SEARCHB\",\n 207: \"REPLACEB\",\n 208: \"LEFTB\",\n 209: \"RIGHTB\",\n 210: \"MIDB\",\n 211: \"LENB\",\n 212: \"ROUNDUP\",\n 213: \"ROUNDDOWN\",\n 214: \"ASC\",\n 215: \"DBCS\",\n 216: \"RANK\",\n 219: \"ADDRESS\",\n 220: \"DAYS360\",\n 221: \"TODAY\",\n 222: \"VDB\",\n 223: \"ELSE\",\n 224: \"ELSE.IF\",\n 225: \"END.IF\",\n 226: \"FOR.CELL\",\n 227: \"MEDIAN\",\n 228: \"SUMPRODUCT\",\n 229: \"SINH\",\n 230: \"COSH\",\n 231: \"TANH\",\n 232: \"ASINH\",\n 233: \"ACOSH\",\n 234: \"ATANH\",\n 235: \"DGET\",\n 236: \"CREATE.OBJECT\",\n 237: \"VOLATILE\",\n 238: \"LAST.ERROR\",\n 239: \"CUSTOM.UNDO\",\n 240: \"CUSTOM.REPEAT\",\n 241: \"FORMULA.CONVERT\",\n 242: \"GET.LINK.INFO\",\n 243: \"TEXT.BOX\",\n 244: \"INFO\",\n 245: \"GROUP\",\n 246: \"GET.OBJECT\",\n 247: \"DB\",\n 248: \"PAUSE\",\n 251: \"RESUME\",\n 252: \"FREQUENCY\",\n 253: \"ADD.TOOLBAR\",\n 254: \"DELETE.TOOLBAR\",\n 255: \"User\",\n 256: \"RESET.TOOLBAR\",\n 257: \"EVALUATE\",\n 258: \"GET.TOOLBAR\",\n 259: \"GET.TOOL\",\n 260: \"SPELLING.CHECK\",\n 261: \"ERROR.TYPE\",\n 262: \"APP.TITLE\",\n 263: \"WINDOW.TITLE\",\n 264: \"SAVE.TOOLBAR\",\n 265: \"ENABLE.TOOL\",\n 266: \"PRESS.TOOL\",\n 267: \"REGISTER.ID\",\n 268: \"GET.WORKBOOK\",\n 269: \"AVEDEV\",\n 270: \"BETADIST\",\n 271: \"GAMMALN\",\n 272: \"BETAINV\",\n 273: \"BINOMDIST\",\n 274: \"CHIDIST\",\n 275: \"CHIINV\",\n 276: \"COMBIN\",\n 277: \"CONFIDENCE\",\n 278: \"CRITBINOM\",\n 279: \"EVEN\",\n 280: \"EXPONDIST\",\n 281: \"FDIST\",\n 282: \"FINV\",\n 283: \"FISHER\",\n 284: \"FISHERINV\",\n 285: \"FLOOR\",\n 286: \"GAMMADIST\",\n 287: \"GAMMAINV\",\n 288: \"CEILING\",\n 289: \"HYPGEOMDIST\",\n 290: \"LOGNORMDIST\",\n 291: \"LOGINV\",\n 292: \"NEGBINOMDIST\",\n 293: \"NORMDIST\",\n 294: \"NORMSDIST\",\n 295: \"NORMINV\",\n 296: \"NORMSINV\",\n 297: \"STANDARDIZE\",\n 298: \"ODD\",\n 299: \"PERMUT\",\n 300: \"POISSON\",\n 301: \"TDIST\",\n 302: \"WEIBULL\",\n 303: \"SUMXMY2\",\n 304: \"SUMX2MY2\",\n 305: \"SUMX2PY2\",\n 306: \"CHITEST\",\n 307: \"CORREL\",\n 308: \"COVAR\",\n 309: \"FORECAST\",\n 310: \"FTEST\",\n 311: \"INTERCEPT\",\n 312: \"PEARSON\",\n 313: \"RSQ\",\n 314: \"STEYX\",\n 315: \"SLOPE\",\n 316: \"TTEST\",\n 317: \"PROB\",\n 318: \"DEVSQ\",\n 319: \"GEOMEAN\",\n 320: \"HARMEAN\",\n 321: \"SUMSQ\",\n 322: \"KURT\",\n 323: \"SKEW\",\n 324: \"ZTEST\",\n 325: \"LARGE\",\n 326: \"SMALL\",\n 327: \"QUARTILE\",\n 328: \"PERCENTILE\",\n 329: \"PERCENTRANK\",\n 330: \"MODE\",\n 331: \"TRIMMEAN\",\n 332: \"TINV\",\n 334: \"MOVIE.COMMAND\",\n 335: \"GET.MOVIE\",\n 336: \"CONCATENATE\",\n 337: \"POWER\",\n 338: \"PIVOT.ADD.DATA\",\n 339: \"GET.PIVOT.TABLE\",\n 340: \"GET.PIVOT.FIELD\",\n 341: \"GET.PIVOT.ITEM\",\n 342: \"RADIANS\",\n 343: \"DEGREES\",\n 344: \"SUBTOTAL\",\n 345: \"SUMIF\",\n 346: \"COUNTIF\",\n 347: \"COUNTBLANK\",\n 348: \"SCENARIO.GET\",\n 349: \"OPTIONS.LISTS.GET\",\n 350: \"ISPMT\",\n 351: \"DATEDIF\",\n 352: \"DATESTRING\",\n 353: \"NUMBERSTRING\",\n 354: \"ROMAN\",\n 355: \"OPEN.DIALOG\",\n 356: \"SAVE.DIALOG\",\n 357: \"VIEW.GET\",\n 358: \"GETPIVOTDATA\",\n 359: \"HYPERLINK\",\n 360: \"PHONETIC\",\n 361: \"AVERAGEA\",\n 362: \"MAXA\",\n 363: \"MINA\",\n 364: \"STDEVPA\",\n 365: \"VARPA\",\n 366: \"STDEVA\",\n 367: \"VARA\",\n 368: \"BAHTTEXT\",\n 369: \"THAIDAYOFWEEK\",\n 370: \"THAIDIGIT\",\n 371: \"THAIMONTHOFYEAR\",\n 372: \"THAINUMSOUND\",\n 373: \"THAINUMSTRING\",\n 374: \"THAISTRINGLENGTH\",\n 375: \"ISTHAIDIGIT\",\n 376: \"ROUNDBAHTDOWN\",\n 377: \"ROUNDBAHTUP\",\n 378: \"THAIYEAR\",\n 379: \"RTD\",\n 380: \"CUBEVALUE\",\n 381: \"CUBEMEMBER\",\n 382: \"CUBEMEMBERPROPERTY\",\n 383: \"CUBERANKEDMEMBER\",\n 384: \"HEX2BIN\",\n 385: \"HEX2DEC\",\n 386: \"HEX2OCT\",\n 387: \"DEC2BIN\",\n 388: \"DEC2HEX\",\n 389: \"DEC2OCT\",\n 390: \"OCT2BIN\",\n 391: \"OCT2HEX\",\n 392: \"OCT2DEC\",\n 393: \"BIN2DEC\",\n 394: \"BIN2OCT\",\n 395: \"BIN2HEX\",\n 396: \"IMSUB\",\n 397: \"IMDIV\",\n 398: \"IMPOWER\",\n 399: \"IMABS\",\n 400: \"IMSQRT\",\n 401: \"IMLN\",\n 402: \"IMLOG2\",\n 403: \"IMLOG10\",\n 404: \"IMSIN\",\n 405: \"IMCOS\",\n 406: \"IMEXP\",\n 407: \"IMARGUMENT\",\n 408: \"IMCONJUGATE\",\n 409: \"IMAGINARY\",\n 410: \"IMREAL\",\n 411: \"COMPLEX\",\n 412: \"IMSUM\",\n 413: \"IMPRODUCT\",\n 414: \"SERIESSUM\",\n 415: \"FACTDOUBLE\",\n 416: \"SQRTPI\",\n 417: \"QUOTIENT\",\n 418: \"DELTA\",\n 419: \"GESTEP\",\n 420: \"ISEVEN\",\n 421: \"ISODD\",\n 422: \"MROUND\",\n 423: \"ERF\",\n 424: \"ERFC\",\n 425: \"BESSELJ\",\n 426: \"BESSELK\",\n 427: \"BESSELY\",\n 428: \"BESSELI\",\n 429: \"XIRR\",\n 430: \"XNPV\",\n 431: \"PRICEMAT\",\n 432: \"YIELDMAT\",\n 433: \"INTRATE\",\n 434: \"RECEIVED\",\n 435: \"DISC\",\n 436: \"PRICEDISC\",\n 437: \"YIELDDISC\",\n 438: \"TBILLEQ\",\n 439: \"TBILLPRICE\",\n 440: \"TBILLYIELD\",\n 441: \"PRICE\",\n 442: \"YIELD\",\n 443: \"DOLLARDE\",\n 444: \"DOLLARFR\",\n 445: \"NOMINAL\",\n 446: \"EFFECT\",\n 447: \"CUMPRINC\",\n 448: \"CUMIPMT\",\n 449: \"EDATE\",\n 450: \"EOMONTH\",\n 451: \"YEARFRAC\",\n 452: \"COUPDAYBS\",\n 453: \"COUPDAYS\",\n 454: \"COUPDAYSNC\",\n 455: \"COUPNCD\",\n 456: \"COUPNUM\",\n 457: \"COUPPCD\",\n 458: \"DURATION\",\n 459: \"MDURATION\",\n 460: \"ODDLPRICE\",\n 461: \"ODDLYIELD\",\n 462: \"ODDFPRICE\",\n 463: \"ODDFYIELD\",\n 464: \"RANDBETWEEN\",\n 465: \"WEEKNUM\",\n 466: \"AMORDEGRC\",\n 467: \"AMORLINC\",\n 468: \"CONVERT\",\n 724: \"SHEETJS\",\n 469: \"ACCRINT\",\n 470: \"ACCRINTM\",\n 471: \"WORKDAY\",\n 472: \"NETWORKDAYS\",\n 473: \"GCD\",\n 474: \"MULTINOMIAL\",\n 475: \"LCM\",\n 476: \"FVSCHEDULE\",\n 477: \"CUBEKPIMEMBER\",\n 478: \"CUBESET\",\n 479: \"CUBESETCOUNT\",\n 480: \"IFERROR\",\n 481: \"COUNTIFS\",\n 482: \"SUMIFS\",\n 483: \"AVERAGEIF\",\n 484: \"AVERAGEIFS\"\n};\nvar FtabArgc = {\n 2: 1,\n 3: 1,\n 10: 0,\n 15: 1,\n 16: 1,\n 17: 1,\n 18: 1,\n 19: 0,\n 20: 1,\n 21: 1,\n 22: 1,\n 23: 1,\n 24: 1,\n 25: 1,\n 26: 1,\n 27: 2,\n 30: 2,\n 31: 3,\n 32: 1,\n 33: 1,\n 34: 0,\n 35: 0,\n 38: 1,\n 39: 2,\n 40: 3,\n 41: 3,\n 42: 3,\n 43: 3,\n 44: 3,\n 45: 3,\n 47: 3,\n 48: 2,\n 53: 1,\n 61: 3,\n 63: 0,\n 65: 3,\n 66: 3,\n 67: 1,\n 68: 1,\n 69: 1,\n 70: 1,\n 71: 1,\n 72: 1,\n 73: 1,\n 74: 0,\n 75: 1,\n 76: 1,\n 77: 1,\n 79: 2,\n 80: 2,\n 83: 1,\n 85: 0,\n 86: 1,\n 89: 0,\n 90: 1,\n 94: 0,\n 95: 0,\n 97: 2,\n 98: 1,\n 99: 1,\n 101: 3,\n 102: 3,\n 105: 1,\n 106: 1,\n 108: 2,\n 111: 1,\n 112: 1,\n 113: 1,\n 114: 1,\n 117: 2,\n 118: 1,\n 119: 4,\n 121: 1,\n 126: 1,\n 127: 1,\n 128: 1,\n 129: 1,\n 130: 1,\n 131: 1,\n 133: 1,\n 134: 1,\n 135: 1,\n 136: 2,\n 137: 2,\n 138: 2,\n 140: 1,\n 141: 1,\n 142: 3,\n 143: 4,\n 144: 4,\n 161: 1,\n 162: 1,\n 163: 1,\n 164: 1,\n 165: 2,\n 172: 1,\n 175: 2,\n 176: 2,\n 177: 3,\n 178: 2,\n 179: 1,\n 184: 1,\n 186: 1,\n 189: 3,\n 190: 1,\n 195: 3,\n 196: 3,\n 197: 1,\n 198: 1,\n 199: 3,\n 201: 1,\n 207: 4,\n 210: 3,\n 211: 1,\n 212: 2,\n 213: 2,\n 214: 1,\n 215: 1,\n 225: 0,\n 229: 1,\n 230: 1,\n 231: 1,\n 232: 1,\n 233: 1,\n 234: 1,\n 235: 3,\n 244: 1,\n 247: 4,\n 252: 2,\n 257: 1,\n 261: 1,\n 271: 1,\n 273: 4,\n 274: 2,\n 275: 2,\n 276: 2,\n 277: 3,\n 278: 3,\n 279: 1,\n 280: 3,\n 281: 3,\n 282: 3,\n 283: 1,\n 284: 1,\n 285: 2,\n 286: 4,\n 287: 3,\n 288: 2,\n 289: 4,\n 290: 3,\n 291: 3,\n 292: 3,\n 293: 4,\n 294: 1,\n 295: 3,\n 296: 1,\n 297: 3,\n 298: 1,\n 299: 2,\n 300: 3,\n 301: 3,\n 302: 4,\n 303: 2,\n 304: 2,\n 305: 2,\n 306: 2,\n 307: 2,\n 308: 2,\n 309: 3,\n 310: 2,\n 311: 2,\n 312: 2,\n 313: 2,\n 314: 2,\n 315: 2,\n 316: 4,\n 325: 2,\n 326: 2,\n 327: 2,\n 328: 2,\n 331: 2,\n 332: 2,\n 337: 2,\n 342: 1,\n 343: 1,\n 346: 2,\n 347: 1,\n 350: 4,\n 351: 3,\n 352: 1,\n 353: 2,\n 360: 1,\n 368: 1,\n 369: 1,\n 370: 1,\n 371: 1,\n 372: 1,\n 373: 1,\n 374: 1,\n 375: 1,\n 376: 1,\n 377: 1,\n 378: 1,\n 382: 3,\n 385: 1,\n 392: 1,\n 393: 1,\n 396: 2,\n 397: 2,\n 398: 2,\n 399: 1,\n 400: 1,\n 401: 1,\n 402: 1,\n 403: 1,\n 404: 1,\n 405: 1,\n 406: 1,\n 407: 1,\n 408: 1,\n 409: 1,\n 410: 1,\n 414: 4,\n 415: 1,\n 416: 1,\n 417: 2,\n 420: 1,\n 421: 1,\n 422: 2,\n 424: 1,\n 425: 2,\n 426: 2,\n 427: 2,\n 428: 2,\n 430: 3,\n 438: 3,\n 439: 3,\n 440: 3,\n 443: 2,\n 444: 2,\n 445: 2,\n 446: 2,\n 447: 6,\n 448: 6,\n 449: 2,\n 450: 2,\n 464: 2,\n 468: 3,\n 476: 2,\n 479: 1,\n 480: 2,\n 65535: 0\n};\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f/*:string*/)/*:string*/ {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f/*:string*/)/*:string*/ {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ {\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r/*:string*/)/*:string*/ {\n\treturn r.replace(/\\./,\"!\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst/*:SST*/, str/*:string*/, rev)/*:number*/ {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}/*:any*/); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C/*:number*/, col) {\n\tvar p = ({min:C+1,max:C+1}/*:any*/);\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\tif(col.level != null) { p.outlineLevel = p.level = col.level; }\n\treturn p;\n}\n\nfunction default_margins(margins/*:Margins*/, mode/*:?string*/) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF_load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles) {\n\ttry {\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z' && !opts.cellStyles) return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif((!opts || opts.cellText !== false) && p.t !== 'z') try {\n\t\tif(table_fmt[fmtid] == null) SSF_load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v);\n\t\t\t\tif((dd|0) === dd) p.w = dd.toString(10);\n\t\t\t\telse p.w = SSF_general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF_general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v),_ssfopts);\n\t\telse p.w = SSF_format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws/*:Worksheet*/, sname/*:string*/, i/*:number*/) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws/*:Worksheet*/, s/*:string*/) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w:)?mergeCell ref=\"[A-Z0-9:]+\"\\s*[\\/]?>/g;\nvar sheetdataregex = /<(?:\\w+:)?sheetData[^>]*>([\\s\\S]*)<\\/(?:\\w+:)?sheetData>/;\nvar hlinkregex = /<(?:\\w:)?hyperlink [^>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w:)?col\\b[^>]*[\\/]?>/g;\nvar afregex = /<(?:\\w:)?autoFilter[^>]*([\\/]|>([\\s\\S]*)<\\/(?:\\w:)?autoFilter)>/g;\nvar marginregex= /<(?:\\w:)?pageMargins[^>]*\\/>/g;\nvar sheetprregex = /<(?:\\w:)?sheetPr\\b(?:[^>a-z][^>]*)?\\/>/;\nvar sheetprregex2= /<(?:\\w:)?sheetPr[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetPr)>/;\nvar svsregex = /<(?:\\w:)?sheetViews[^>]*(?:[\\/]|>([\\s\\S]*)<\\/(?:\\w:)?sheetViews)>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tvar refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/);\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch/*:?any*/ = data.match(sheetdataregex);\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\telse if((sheetPr = data1.match(sheetprregex2))) parse_ws_xml_sheetpr2(sheetPr[0], sheetPr[1]||\"\", s, wb, idx, styles, themes);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = data1.match(svsregex);\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns/*:Array*/ = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges/*:Array*/ = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"\\\"\")+1));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges/*:Array*/)/*:string*/ {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName));\n}\nfunction parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tparse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(\">\")), s, wb, idx);\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = utf8write(escapexml(cname));\n\t}\n\n\tif(ws && ws[\"!outline\"]) {\n\t\tvar outlineprops = {summaryBelow:1, summaryRight:1};\n\t\tif(ws[\"!outline\"].above) outlineprops.summaryBelow = 0;\n\t\tif(ws[\"!outline\"].left) outlineprops.summaryRight = 0;\n\t\tpayload = (payload||\"\") + writextag('outlinePr', null, outlineprops);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp)/*:string*/ {\n\t// algorithmName, hashValue, saltValue, spinCount\n\tvar o = ({sheet:1}/*:any*/);\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data/*:Array*/, rels) {\n\tvar dense = Array.isArray(s);\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+unescapexml(val.location);\n\t\t} else {\n\t\t\tval.Target = \"#\" + unescapexml(val.location);\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_cell({c:C,r:R});\n\t\t\tif(dense) {\n\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\tif(!s[R][C]) s[R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin)/*:string*/ {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tif(coll.outlineLevel) coll.level = (+coll.outlineLevel || 0);\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols)/*:string*/ {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data/*:string*/) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx)/*:string*/ {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^>a-z][^>]*)?\\/?>/;\nfunction parse_ws_xml_sheetviews(data, wb/*:WBWBProps*/) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r/*:string*/, i/*:number*/) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(+tag.zoomScale) wb.Views[i].zoom = +tag.zoomScale;\n\t\t// $FlowIgnore\n\t\tif(parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ {\n\tvar sview = ({workbookViewId:\"0\"}/*:any*/);\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts/*::, idx, wb*/)/*:string*/ {\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\tif(cell.v === undefined && typeof cell.f !== \"string\" || cell.t === 'z' && !cell.f) return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n': vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) vv = parseDate(cell.v, -1).toISOString();\n\t\t\telse {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v)));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = table_fmt[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/);\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(cell.v.length > 32767) throw new Error(\"Text length must not exceed 32767 characters\");\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\to.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) ws['!links'].push([ref, cell.l]);\n\tif(cell.D) o.cm = 1;\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = /*#__PURE__*/(function() {\n\tvar cellregex = /<(?:\\w+:)?c[ \\/>]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/, isregex = /<(?:\\w+:)?is>([\\S\\s]*?)<\\/(?:\\w+:)?is>/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\tvar match_v = matchtag(\"v\"), match_f = matchtag(\"f\");\n\nreturn function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles) {\n\tvar ri = 0, x = \"\", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d=\"\", p/*:any*/;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = [];\n\tvar dense = Array.isArray(s);\n\tvar rows/*:Array*/ = [], rowobj = {}, rowrite = false;\n\tvar sheetStubs = !!opts.sheetStubs;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tvar rstarti = 0;\n\t\touta: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) {\n\t\t\tcase \">\" /*62*/:\n\t\t\t\tif(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != \"/\") { ++ri; break outa; }\n\t\t\t\tif(opts && opts.cellStyles) {\n\t\t\t\t\t// TODO: avoid duplication\n\t\t\t\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\t\t\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\t\t\t\trowobj = {}; rowrite = false;\n\t\t\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"<\" /*60*/: rstarti = ri; break;\n\t\t}\n\t\tif(rstarti >= ri) break;\n\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden == \"1\") { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"}/*:any*/);\n\n\t\t\tif((cref=d.match(match_v))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=d.match(match_f))!= null && /*::cref != null && */cref[1] !== '') {\n\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\tp.f=unescapexml(utf8read(cref[1])).replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\tif(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t} else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? utf8read(p.v) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = d.match(isregex);\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, 1);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, 1)); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.t = 'd'; p.v = numdate(p.v); }\n\t\t\tif(tag.cm && opts.xlmeta) {\n\t\t\t\tvar cm = (opts.xlmeta.Cell||[])[+tag.cm-1];\n\t\t\t\tif(cm && cm.type == 'XLDAPR') p.D = true;\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tvar _r = decode_cell(tag.r);\n\t\t\t\tif(!s[_r.r]) s[_r.r] = [];\n\t\t\t\ts[_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*//*::, rels*/)/*:string*/ {\n\tvar o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = Array.isArray(ws);\n\tvar params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr}/*:any*/);\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1}/*:any*/);\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nfunction write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('worksheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(/*::(*/ws['!links']/*::||[])*/.length > 0) {\n\t\to[o.length] = \"\";\n\t\t/*::(*/ws['!links']/*::||[])*/.forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]}/*:any*/);\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#.*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({}/*:any*/);\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R/*:number*/, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = Array.isArray(ws) ? (ws[caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo(/*::data, length*/) {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\tvar f = data[data.l]; ++data.l;\n\tz.above = !(f & 0x40);\n\tz.left = !(f & 0x80);\n\t/* TODO: pull flags */\n\tdata.l += 18;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, outl, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tvar f = 0xC0;\n\tif(outl) {\n\t\tif(outl.above) f &= ~0x40;\n\t\tif(outl.left) f &= ~0x80;\n\t}\n\to.write_shift(1, f);\n\tfor(var i = 1; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\nfunction parse_BrtShortBlank(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\treturn [cell];\n}\nfunction write_BrtShortBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(4);\n\treturn write_XLSBShortCell(ncell, o);\n}\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\nfunction parse_BrtShortBool(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtShortBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(5);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtCellError(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v);\n\treturn o;\n}\nfunction parse_BrtShortError(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtShortError(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v);\n\to.write_shift(2, 0);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\nfunction parse_BrtShortIsst(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtShortIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortReal(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortRk(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtCellRString */\nfunction parse_BrtCellRString(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RichStr(data);\n\treturn [cell, value, 'is'];\n}\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction parse_BrtShortSt(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtShortSt(cell, ncell, o) {\n\tif(o == null) o = new_buf(8 + 4 * cell.v.length);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_XLWideString(cell.v, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length/*::, opts*/) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display}/*:any*/);\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C/*:number*/, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ {\n\tvar margins = ({}/*:any*/);\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins/*:Margins*/, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins/*:any*/)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data/*::, length, opts*/) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\n\t\t/*:: if(o == null) throw \"unreachable\"; */\n\t\tif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s/*:Worksheet*/ = (opts.dense ? [] : {});\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state/*:Array*/ = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell/*:Cell*/;\n\tvar merges/*:Array*/ = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || /*::(*/wb/*:: :any)*/.supbooks || ([[]]/*:any*/);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtShortReal\", f:parse_BrtShortReal };\n\n\tvar cm, vm;\n\n\trecordhopper(data, function ws_parse(val, RR, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\tcase 0x000D: /* 'BrtShortRk' */\n\t\t\tcase 0x000E: /* 'BrtShortError' */\n\t\t\tcase 0x000F: /* 'BrtShortBool' */\n\t\t\tcase 0x0010: /* 'BrtShortReal' */\n\t\t\tcase 0x0011: /* 'BrtShortSt' */\n\t\t\tcase 0x0012: /* 'BrtShortIsst' */\n\t\t\tcase 0x003E: /* 'BrtCellRString' */\n\t\t\t\tp = ({t:val[2]}/*:any*/);\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t\tcase 'is': p.t = 's'; p.v = val[1].t; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t\t\t}\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\tcase 0x000C: /* 'BrtShortBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:void 0}/*:any*/);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[R]) s[R] = []; s[R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x0031: { /* 'BrtCellMeta' */\n\t\t\t\tcm = ((opts.xlmeta||{}).Cell||[])[val-1];\n\t\t\t} break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[R]) s[R] = [];\n\t\t\t\t\t\tif(!s[R][C]) s[R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_cell({c:C,r:R});\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[R][C] : s[encode_col(C) + rr])/*:any*/);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tif(val.above || val.left) s['!outline'] = { above: val.above, left: val.left };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(RR.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/)/*:boolean*/ {\n\tif(cell.v === undefined) return false;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || table_fmt[14];\n\t\t\tcell.v = datenum(parseDate(cell.v)); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar o/*:any*/ = ({r:R, c:C}/*:any*/);\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v/*:any*/), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\tif(last_seen) write_record(ba, 0x0012 /* BrtShortIsst */, write_BrtShortIsst(cell, o));\n\t\t\t\telse write_record(ba, 0x0007 /* BrtCellIsst */, write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\tif(last_seen) write_record(ba, 0x0011 /* BrtShortSt */, write_BrtShortSt(cell, o));\n\t\t\t\telse write_record(ba, 0x0006 /* BrtCellSt */, write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn true;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) {\n\t\t\t\tif(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o));\n\t\t\t\telse write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o));\n\t\t\t} else {\n\t\t\t\tif(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o));\n\t\t\t\telse write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o));\n\t\t\t} return true;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\tif(last_seen) write_record(ba, 0x000F /* BrtShortBool */, write_BrtShortBool(cell, o));\n\t\t\telse write_record(ba, 0x0004 /* BrtCellBool */, write_BrtCellBool(cell, o));\n\t\t\treturn true;\n\t\tcase 'e':\n\t\t\to.t = \"e\";\n\t\t\tif(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError(cell, o));\n\t\t\telse write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError(cell, o));\n\t\t\treturn true;\n\t}\n\tif(last_seen) write_record(ba, 0x000C /* BrtShortBlank */, write_BrtShortBlank(cell, o));\n\telse write_record(ba, 0x0001 /* BrtCellBlank */, write_BrtCellBlank(cell, o));\n\treturn true;\n}\n\nfunction write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref, rr = \"\", cols/*:Array*/ = [];\n\twrite_record(ba, 0x0091 /* BrtBeginSheetData */);\n\tvar dense = Array.isArray(ws);\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tvar last_seen = false;\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) { last_seen = false; continue; }\n\t\t\t/* write cell */\n\t\t\tlast_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen);\n\t\t}\n\t}\n\twrite_record(ba, 0x0092 /* BrtEndSheetData */);\n}\n\nfunction write_MERGECELLS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 0x00B0 /* BrtMergeCell */, write_BrtMergeCell(m)); });\n\twrite_record(ba, 0x00B2 /* BrtEndMergeCells */);\n}\n\nfunction write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook*/) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 0x0186 /* BrtBeginColInfos */);\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 0x003C /* 'BrtColInfo' */, write_BrtColInfo(i, m)); });\n\twrite_record(ba, 0x0187 /* BrtEndColInfos */);\n}\n\nfunction write_IGNOREECS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 0x0288 /* BrtBeginCellIgnoreECs */);\n\twrite_record(ba, 0x0289 /* BrtCellIgnoreEC */, write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 0x028A /* BrtEndCellIgnoreECs */);\n}\n\nfunction write_HLINKS(ba, ws/*:Worksheet*/, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#.*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, 0x01EE /* BrtHLink */, write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, 0x0227 /* BrtLegacyDrawing */, write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = \"'\" + wb.SheetNames[idx] + \"'!\" + ref; break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\n\twrite_record(ba, 0x00A1 /* BrtBeginAFilter */, write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, 0x00A2 /* BrtEndAFilter */);\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, 0x0085 /* BrtBeginWsViews */);\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, 0x0089 /* BrtBeginWsView */, write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, 0x008A /* BrtEndWsView */);\n\t}\n\t/* *FRT */\n\twrite_record(ba, 0x0086 /* BrtEndWsViews */);\n}\n\nfunction write_WSFMTINFO(/*::ba, ws*/) {\n\t/* [ACWSFMTINFO] */\n\t// write_record(ba, 0x01E5 /* BrtWsFmtInfo */, write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, 0x0217 /* BrtSheetProtection */, write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c/*:string*/ = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\tif(wb.vbaraw || ws['!outline']) write_record(ba, 0x0093 /* BrtWsProp */, write_BrtWsProp(c, ws['!outline']));\n\twrite_record(ba, 0x0094 /* BrtWsDim */, write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, 0x01DC /* BrtMargins */, write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\nfunction parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ {\n\tvar col/*:Array*/ = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/(.*?)<\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/(.*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((data.match(/([\\s\\S]*?)<\\/c:formatCode>/) || [\"\",\"General\"])[1]);\n\n\t(data.match(/(.*?)<\\/c:f>/mg)||[]).forEach(function(F) { f = F.replace(/<.*?>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) {\n\tvar cs/*:Worksheet*/ = ((csheet || {\"!type\":\"chart\"})/*:any*/);\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(data.match(/[\\s\\S]*?<\\/c:numCache>/gm)||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tcs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"}/*:any*/);\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('chartsheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length/*:number*/) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\nfunction write_cs_bin(/*::idx:number, opts, wb:Workbook, rels*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\t/* [BrtCsProp] */\n\t/* CSVIEWS */\n\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n\t/* [USERCSVIEWS] */\n\t/* [BrtMargins] */\n\t/* [BrtCsPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* BrtDrawing */\n\t/* [BrtLegacyDrawing] */\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [WEBPUBITEMS] */\n\t/* FRTCHARTSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb/*:Workbook*/)/*:string*/ {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = /*#__PURE__*/\"][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ {\n\tif(n.length > 31) { if(safe) return false; throw new Error(\"Sheet names cannot exceed 31 chars\"); }\n\tvar _good = true;\n\tbadchars.forEach(function(c) {\n\t\tif(n.indexOf(c) == -1) return;\n\t\tif(!safe) throw new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t_good = false;\n\t});\n\treturn _good;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts)/*:WorkbookFile*/ {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = /*::(*/{ AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" }/*::)*/;\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr/*:any*/ = ({codeName:\"ThisWorkbook\"}/*:any*/);\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\n\t\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]/*:any*/);\n\t\t});\n\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\tif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '';\n\t\to[o.length] = \"\";\n\t}\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))}/*:any*/);\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d/*:any*/ = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length/*:number*/) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length)/*:WBProps*/ {\n\tvar o/*:WBProps*/ = ({}/*:any*/);\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data/*:?WBProps*/, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tdata.l += 4; //var flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula = parse_XLSBNameParsedFormula(data, 0, opts);\n\tvar comment = parse_XLNullableWideString(data);\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula}/*:any*/);\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts)/*:WorkbookFile*/ {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]/*:any*/);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ };\n\n\trecordhopper(data, function hopper_wb(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = stringify_formula(val.Ptg, null, null, supbooks, opts);\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x008F: /* 'BrtBeginBundleShs' */\n\t\t\tcase 0x0298: /* 'BrtBeginFnGroup' */\n\t\t\tcase 0x0161: /* 'BrtBeginExternals' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.length-1] != 0x0023 /* BrtFRTBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb/*:any*/).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb/*::, opts*/) {\n\twrite_record(ba, 0x008F /* BrtBeginBundleShs */);\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, 0x009C /* BrtBundleSh */, write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, 0x0090 /* BrtEndBundleShs */);\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb/*::, opts*/) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, 0x0087 /* BrtBeginBookViews */);\n\twrite_record(ba, 0x009E /* BrtBookView */, write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, 0x0088 /* BrtEndBookViews */);\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0083 /* BrtBeginBook */);\n\twrite_record(ba, 0x0080 /* BrtFileVersion */, write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, 0x0099 /* BrtWbProp */, write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\t/* [EXTERNALS] */\n\t/* *BrtName */\n\t/* write_record(ba, 0x009D BrtCalcProp, write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, 0x009B BrtFileRecover, write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, 0x0084 /* BrtEndBook */);\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name/*:string*/, opts)/*:WorkbookFile*/ {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data/*:any*/), opts);\n\treturn parse_wb_xml((data/*:any*/), opts);\n}\n\nfunction parse_ws(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name/*:string*/, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data/*:any*/), themes, opts);\n\treturn parse_sty_xml((data/*:any*/), themes, opts);\n}\n\nfunction parse_theme(data/*:string*/, name/*:string*/, opts) {\n\treturn parse_theme_xml(data, opts);\n}\n\nfunction parse_sst(data, name/*:string*/, opts)/*:SST*/ {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data/*:any*/), opts);\n\treturn parse_sst_xml((data/*:any*/), opts);\n}\n\nfunction parse_cmnt(data, name/*:string*/, opts)/*:Array*/ {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data/*:any*/), opts);\n\treturn parse_comments_xml((data/*:any*/), opts);\n}\n\nfunction parse_cc(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data/*:any*/), name, opts);\n\treturn parse_cc_xml((data/*:any*/), name, opts);\n}\n\nfunction parse_xlink(data, rel, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data/*:any*/), rel, name, opts);\n\treturn parse_xlink_xml((data/*:any*/), rel, name, opts);\n}\n\nfunction parse_xlmeta(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlmeta_bin((data/*:any*/), name, opts);\n\treturn parse_xlmeta_xml((data/*:any*/), name, opts);\n}\n\nfunction write_wb(wb, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_wb_bin : write_wb_xml)(wb, opts);\n}\n\nfunction write_ws(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_ws_bin : write_ws_xml)(data, opts, wb, rels);\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction write_cs(data/*:number*/, name/*:string*/, opts, wb/*:Workbook*/, rels) {\n\treturn (name.slice(-4)===\".bin\" ? write_cs_bin : write_cs_xml)(data, opts, wb, rels);\n}\n\nfunction write_sty(data, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sty_bin : write_sty_xml)(data, opts);\n}\n\nfunction write_sst(data/*:SST*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_sst_bin : write_sst_xml)(data, opts);\n}\n\nfunction write_cmnt(data/*:Array*/, name/*:string*/, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_comments_bin : write_comments_xml)(data, opts);\n}\n/*\nfunction write_cc(data, name:string, opts) {\n\treturn (name.slice(-4)===\".bin\" ? write_cc_bin : write_cc_xml)(data, opts);\n}\n*/\n\nfunction write_xlmeta(name/*:string*/) {\n\treturn (name.slice(-4)===\".bin\" ? write_xlmeta_bin : write_xlmeta_xml)();\n}\nvar attregexg2=/([\\w:]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/([\\w:]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag/*:string*/, skip_root/*:?boolean*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z/*:any*/ = ([]/*:any*/); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag/*:string*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*: {[string]:string}*/;\n\nfunction xlml_format(format, value)/*:string*/ {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF_general(value);\n\treturn SSF_format(fmt, value);\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val/*:string*/) {\n\tvar oval/*:any*/ = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell/*:Cell*/, nf, o) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = cell.v.toString(10);\n\t\t\t\telse cell.w = SSF_general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF_general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && fmt_is_date(z)) {\n\t\t\tvar _d = SSF_parse_date_code(cell.v); if(_d) { cell.t = 'd'; cell.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tif(styles[sid].nf) nf = styles[sid].nf;\n\t\tif(styles[sid].Interior) interiors.push(styles[sid].Interior);\n\t\tif(!styles[sid].Parent) break;\n\t\tsid = styles[sid].Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<.*?>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = (parseDate(xml) - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\telse if(cell.v<60) cell.v = cell.v -1;\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_clean_comment(comment/*:any*/) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\n/* TODO: Everything */\nfunction parse_xlml_xml(d, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tmake_ssf();\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof $cptable !== 'undefined') str = $cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\topening = opening.replace(/\".*?\"/g, \"\");\n\tif((opening.indexOf(\">\") & 1023) > Math.min((opening.indexOf(\",\") & 1023), (opening.indexOf(\";\")&1023))) { var _o = dup(opts); _o.type = \"string\"; return PRN.to_workbook(str, _o); }\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return html_to_workbook(str, opts);\n\n\tXLMLFormatMap = ({\n\t\t\"General Number\": \"General\",\n\t\t\"General Date\": table_fmt[22],\n\t\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\t\"Medium Date\": table_fmt[15],\n\t\t\"Short Date\": table_fmt[14],\n\t\t\"Long Time\": table_fmt[19],\n\t\t\"Medium Time\": table_fmt[18],\n\t\t\"Short Time\": table_fmt[20],\n\t\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\t\"Fixed\": table_fmt[2],\n\t\t\"Standard\": table_fmt[4],\n\t\t\"Percent\": table_fmt[10],\n\t\t\"Scientific\": table_fmt[11],\n\t\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n\t}/*:any*/);\n\n\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = (opts.dense ? [] : {}), sheetname = \"\";\n\tvar cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges/*:Array*/ = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar rowinfo/*:Array*/ = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false} }/*:any*/), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str.replace(//mg,\"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== undefined) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[r]) cursheet[r] = [];\n\t\t\t\t\t\tcursheet[r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:unescapexml(cell.HRef)}/*:any*/);\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tmerges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\t/*:: if(!cc) cc = 0; if(!rr) rr = 0; */\n\t\t\t\t\tfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[cmd]) cursheet[cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = (opts.dense ? [] : {});\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == null) { SSF_load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName/*:DefinedName*/ = ({\n\t\t\t\tName: _NamedRange.Name,\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t}/*:any*/);\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\n\t\t\t/*:: if(Workbook.Names) */Workbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcomment = ({a:tmp.Author}/*:any*/);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tcase 'null' /*case 'Null'*/: break;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\n\t\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\t\tWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].header = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].footer = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Top)) cursheet['!margins'].top = +pagemargins.Top;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Left)) cursheet['!margins'].left = +pagemargins.Left;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Right)) cursheet['!margins'].right = +pagemargins.Right;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Bottom)) cursheet['!margins'].bottom = +pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'printerrors' /*case 'PrintErrors'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].above = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].left = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = dup(table_fmt);\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\treturn out;\n}\n\nfunction parse_xlml(data/*:RawBytes|string*/, opts)/*:Workbook*/ {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64_decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n\t/*:: throw new Error(\"unsupported type \" + opts.type); */\n}\n\n/* TODO */\nfunction write_props_xlml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml(/*::wb, opts*/)/*:string*/ {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts)/*:string*/ {\n\t/* Styles */\n\tvar styles/*:Array*/ = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload/*:Array*/ = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(table_fmt[xf.numFmtId])}));\n\n\t\tvar o = /*::(*/{\"ss:ID\": \"s\" + (21+id)}/*:: :any)*/;\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb/*::, opts*/)/*:string*/ {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tvar o/*:Array*/ = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments/*:Array*/)/*:string*/ {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R/*:number*/, row)/*:string*/ {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws['!ref']) return \"\";\n\tvar range/*:Range*/ = safe_decode_range(ws['!ref']);\n\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\tvar o/*:Array*/ = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"
    \" + t + \"
    \");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts)/*:string*/ {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d/*:Array*/ = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj/*:CFBEntry*/) {\n\tvar v = {};\n\tvar o = obj.content;\n\t/*:: if(o == null) return; */\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m/*:number*/ = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue 0x003c\n\t- 2.4.59 ContinueBigName 0x043c\n\t- 2.4.60 ContinueFrt 0x0812\n\t- 2.4.61 ContinueFrt11 0x0875\n\t- 2.4.62 ContinueFrt12 0x087f\n*/\nvar CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ];\nfunction slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {\n\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */:\n\t\tbreak;\n\tcase 0x0085 /* BoundSheet8 */:\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt];\n\tvar start = 0;\n\twhile(next != null && CONTINUE_RT.indexOf(nextrt) > -1) {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(nextrt == 0x0812 /* ContinueFrt */) start += 4;\n\t\telse if(nextrt == 0x0875 || nextrt == 0x087f) {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs)/*:any*/);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record 0x\" + RecordType.toString(16) + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF_general(p.v);\n\t\t}\n\t\telse p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t)/*:Cell*/ {\n\treturn ({v:val, ixfe:ixfe, t:t}/*:any*/);\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {\n\tvar wb = ({opts:{}}/*:any*/);\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out/*:Worksheet*/ = ((options.dense ? [] : {})/*:any*/);\n\tvar Directory = {};\n\tvar range/*:Range*/ = ({}/*:any*/);\n\tvar last_formula = null;\n\tvar sst/*:SST*/ = ([]/*:any*/);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc/*:Cell*/, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar temp_val/*:Cell*/;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette/*:Array<[number, number, number]>*/ = [];\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {};\n\tvar get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line/*:any*/, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({}/*:any*/);\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t}/*:any*/);\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges/*:Array*/ = [];\n\tvar objects = [];\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\tvar supbooks = ([]/*:any*/); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_RT = 0;\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl/*:?DefinedName*/;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_RT === 0x000a /* EOF */) break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;\n\t\t\t}\n\t\t\tlast_RT = RecordType;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val/*:any*/ = ({}/*:any*/);\n\t\t\tif(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;\n\t\t\telse val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;\n\t\t\t/*:: val = (val:any); */\n\t\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue;\n\t\t\tswitch(RecordType) {\n\t\t\t\tcase 0x0022 /* Date1904 */:\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\twb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 0x002f /* FilePass */:\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x005c /* WriteAccess */: opts.lastuser = val; break;\n\t\t\t\tcase 0x0042 /* CodePage */:\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x013d /* RRTabId */: opts.rrtabid = val; break;\n\t\t\t\tcase 0x0019 /* WinProtect */: opts.winlocked = val; break;\n\t\t\t\tcase 0x01b7 /* RefreshAll */: wb.opts[\"RefreshAll\"] = val; break;\n\t\t\t\tcase 0x000c /* CalcCount */: wb.opts[\"CalcCount\"] = val; break;\n\t\t\t\tcase 0x0010 /* CalcDelta */: wb.opts[\"CalcDelta\"] = val; break;\n\t\t\t\tcase 0x0011 /* CalcIter */: wb.opts[\"CalcIter\"] = val; break;\n\t\t\t\tcase 0x000d /* CalcMode */: wb.opts[\"CalcMode\"] = val; break;\n\t\t\t\tcase 0x000e /* CalcPrecision */: wb.opts[\"CalcPrecision\"] = val; break;\n\t\t\t\tcase 0x005f /* CalcSaveRecalc */: wb.opts[\"CalcSaveRecalc\"] = val; break;\n\t\t\t\tcase 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;\n\t\t\t\tcase 0x0081 /* WsBool */:\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 0x00e0 /* XF */:\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 0x01ae /* SupBook */:\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0023: case 0x0223 /* ExternName */:\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0018: case 0x0218 /* Lbl */:\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t}/*:DefinedName*/);\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0016 /* ExternCount */: opts.ExternCount = val; break;\n\t\t\t\tcase 0x0017 /* ExternSheet */:\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 0x0894 /* NameCmt */:\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0012 /* Protect */: out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 0x0085 /* BoundSheet8 */: {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 0x000a /* EOF */: {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n\t\t\t\t\t\t/*::[*/0x0009/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0209/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0409/*::]*/:4\n\t\t\t\t\t}[RecordType] || {\n\t\t\t\t\t\t/*::[*/0x0200/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0300/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0400/*::]*/:4,\n\t\t\t\t\t\t/*::[*/0x0500/*::]*/:5,\n\t\t\t\t\t\t/*::[*/0x0600/*::]*/:8,\n\t\t\t\t\t\t/*::[*/0x0002/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0007/*::]*/:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\n\t\t\t\t\tif(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\t\t\t\tcase 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0005: case 0x0205 /* BoolErr */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x027e /* RK */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00bd /* MulRk */: {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0006: case 0x0206: case 0x0406 /* Formula */: {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x0007: case 0x0207 /* String */: {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 0x0021: case 0x0221 /* Array */: {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x04bc /* ShrFmla */: {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fd /* LabelSst */:\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0201 /* Blank */: if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00be /* MulBlank */: if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00d6 /* RString */:\n\t\t\t\tcase 0x0204 /* Label */: case 0x0004 /* BIFF2STR */:\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 0x0000: case 0x0200 /* Dimensions */: {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fc /* SST */: {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x041e /* Format */: { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF_load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF_load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 0x001e /* BIFF2FORMAT */: {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF_load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x00e5 /* MergeCells */: merges = merges.concat(val); break;\n\n\t\t\t\tcase 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;\n\t\t\t\tcase 0x007f /* ImData */: opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 0x01b8 /* HLink */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0800 /* HLinkTooltip */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x001c /* Note */: {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\t\t\t\tcase 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;\n\t\t\t\tcase 0x007d /* ColInfo */: {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0208 /* Row */: {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0026 /* LeftMargin */:\n\t\t\t\tcase 0x0027 /* RightMargin */:\n\t\t\t\tcase 0x0028 /* TopMargin */:\n\t\t\t\tcase 0x0029 /* BottomMargin */:\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][({0x26: \"left\", 0x27:\"right\", 0x28:\"top\", 0x29:\"bottom\"})[RecordType]] = val;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x00a1 /* Setup */: // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x023e /* Window2 */: // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0092 /* Palette */: palette = val; break;\n\t\t\t\tcase 0x0896 /* Theme */: themes = val; break;\n\t\t\t\tcase 0x008c /* Country */: country = val; break;\n\t\t\t\tcase 0x01ba /* CodeName */: {\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\tif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t}\n\t\t} else {\n\t\t\tif(!R) console.error(\"Missing Info for XLS Record 0x\" + RecordType.toString(16));\n\t\t\tblob.l += length;\n\t\t}\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = dup(table_fmt);\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb/*:CFBContainer*/, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '/!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '/!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tvar DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, \"n\");\n\tvar SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, \"n\");\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj/*:?CFBEntry*/, WB/*:?any*/;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64_decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb}/*:any*/);\n}\nvar /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */;\n\nvar _data/*:?any*/;\nif(CompObj) /*::CompObjP = */parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/);\nelse/*:: if(cfb instanceof CFBContainer) */ {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t/*::[*/0x0000/*::]*/: { /* n:\"BrtRowHdr\", */ f:parse_BrtRowHdr },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BrtCellBlank\", */ f:parse_BrtCellBlank },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BrtCellRk\", */ f:parse_BrtCellRk },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BrtCellError\", */ f:parse_BrtCellError },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BrtCellBool\", */ f:parse_BrtCellBool },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BrtCellReal\", */ f:parse_BrtCellReal },\n\t/*::[*/0x0006/*::]*/: { /* n:\"BrtCellSt\", */ f:parse_BrtCellSt },\n\t/*::[*/0x0007/*::]*/: { /* n:\"BrtCellIsst\", */ f:parse_BrtCellIsst },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BrtFmlaString\", */ f:parse_BrtFmlaString },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BrtFmlaNum\", */ f:parse_BrtFmlaNum },\n\t/*::[*/0x000A/*::]*/: { /* n:\"BrtFmlaBool\", */ f:parse_BrtFmlaBool },\n\t/*::[*/0x000B/*::]*/: { /* n:\"BrtFmlaError\", */ f:parse_BrtFmlaError },\n\t/*::[*/0x000C/*::]*/: { /* n:\"BrtShortBlank\", */ f:parse_BrtShortBlank },\n\t/*::[*/0x000D/*::]*/: { /* n:\"BrtShortRk\", */ f:parse_BrtShortRk },\n\t/*::[*/0x000E/*::]*/: { /* n:\"BrtShortError\", */ f:parse_BrtShortError },\n\t/*::[*/0x000F/*::]*/: { /* n:\"BrtShortBool\", */ f:parse_BrtShortBool },\n\t/*::[*/0x0010/*::]*/: { /* n:\"BrtShortReal\", */ f:parse_BrtShortReal },\n\t/*::[*/0x0011/*::]*/: { /* n:\"BrtShortSt\", */ f:parse_BrtShortSt },\n\t/*::[*/0x0012/*::]*/: { /* n:\"BrtShortIsst\", */ f:parse_BrtShortIsst },\n\t/*::[*/0x0013/*::]*/: { /* n:\"BrtSSTItem\", */ f:parse_RichStr },\n\t/*::[*/0x0014/*::]*/: { /* n:\"BrtPCDIMissing\" */ },\n\t/*::[*/0x0015/*::]*/: { /* n:\"BrtPCDINumber\" */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"BrtPCDIBoolean\" */ },\n\t/*::[*/0x0017/*::]*/: { /* n:\"BrtPCDIError\" */ },\n\t/*::[*/0x0018/*::]*/: { /* n:\"BrtPCDIString\" */ },\n\t/*::[*/0x0019/*::]*/: { /* n:\"BrtPCDIDatetime\" */ },\n\t/*::[*/0x001A/*::]*/: { /* n:\"BrtPCDIIndex\" */ },\n\t/*::[*/0x001B/*::]*/: { /* n:\"BrtPCDIAMissing\" */ },\n\t/*::[*/0x001C/*::]*/: { /* n:\"BrtPCDIANumber\" */ },\n\t/*::[*/0x001D/*::]*/: { /* n:\"BrtPCDIABoolean\" */ },\n\t/*::[*/0x001E/*::]*/: { /* n:\"BrtPCDIAError\" */ },\n\t/*::[*/0x001F/*::]*/: { /* n:\"BrtPCDIAString\" */ },\n\t/*::[*/0x0020/*::]*/: { /* n:\"BrtPCDIADatetime\" */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"BrtPCRRecord\" */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"BrtPCRRecordDt\" */ },\n\t/*::[*/0x0023/*::]*/: { /* n:\"BrtFRTBegin\", */ T:1 },\n\t/*::[*/0x0024/*::]*/: { /* n:\"BrtFRTEnd\", */ T:-1 },\n\t/*::[*/0x0025/*::]*/: { /* n:\"BrtACBegin\", */ T:1 },\n\t/*::[*/0x0026/*::]*/: { /* n:\"BrtACEnd\", */ T:-1 },\n\t/*::[*/0x0027/*::]*/: { /* n:\"BrtName\", */ f:parse_BrtName },\n\t/*::[*/0x0028/*::]*/: { /* n:\"BrtIndexRowBlock\" */ },\n\t/*::[*/0x002A/*::]*/: { /* n:\"BrtIndexBlock\" */ },\n\t/*::[*/0x002B/*::]*/: { /* n:\"BrtFont\", */ f:parse_BrtFont },\n\t/*::[*/0x002C/*::]*/: { /* n:\"BrtFmt\", */ f:parse_BrtFmt },\n\t/*::[*/0x002D/*::]*/: { /* n:\"BrtFill\", */ f:parse_BrtFill },\n\t/*::[*/0x002E/*::]*/: { /* n:\"BrtBorder\", */ f:parse_BrtBorder },\n\t/*::[*/0x002F/*::]*/: { /* n:\"BrtXF\", */ f:parse_BrtXF },\n\t/*::[*/0x0030/*::]*/: { /* n:\"BrtStyle\" */ },\n\t/*::[*/0x0031/*::]*/: { /* n:\"BrtCellMeta\", */ f:parse_Int32LE },\n\t/*::[*/0x0032/*::]*/: { /* n:\"BrtValueMeta\" */ },\n\t/*::[*/0x0033/*::]*/: { /* n:\"BrtMdb\" */ f:parse_BrtMdb },\n\t/*::[*/0x0034/*::]*/: { /* n:\"BrtBeginFmd\", */ T:1 },\n\t/*::[*/0x0035/*::]*/: { /* n:\"BrtEndFmd\", */ T:-1 },\n\t/*::[*/0x0036/*::]*/: { /* n:\"BrtBeginMdx\", */ T:1 },\n\t/*::[*/0x0037/*::]*/: { /* n:\"BrtEndMdx\", */ T:-1 },\n\t/*::[*/0x0038/*::]*/: { /* n:\"BrtBeginMdxTuple\", */ T:1 },\n\t/*::[*/0x0039/*::]*/: { /* n:\"BrtEndMdxTuple\", */ T:-1 },\n\t/*::[*/0x003A/*::]*/: { /* n:\"BrtMdxMbrIstr\" */ },\n\t/*::[*/0x003B/*::]*/: { /* n:\"BrtStr\" */ },\n\t/*::[*/0x003C/*::]*/: { /* n:\"BrtColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x003E/*::]*/: { /* n:\"BrtCellRString\", */ f:parse_BrtCellRString },\n\t/*::[*/0x003F/*::]*/: { /* n:\"BrtCalcChainItem$\", */ f:parse_BrtCalcChainItem$ },\n\t/*::[*/0x0040/*::]*/: { /* n:\"BrtDVal\", */ f:parse_BrtDVal },\n\t/*::[*/0x0041/*::]*/: { /* n:\"BrtSxvcellNum\" */ },\n\t/*::[*/0x0042/*::]*/: { /* n:\"BrtSxvcellStr\" */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BrtSxvcellBool\" */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BrtSxvcellErr\" */ },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BrtSxvcellDate\" */ },\n\t/*::[*/0x0046/*::]*/: { /* n:\"BrtSxvcellNil\" */ },\n\t/*::[*/0x0080/*::]*/: { /* n:\"BrtFileVersion\" */ },\n\t/*::[*/0x0081/*::]*/: { /* n:\"BrtBeginSheet\", */ T:1 },\n\t/*::[*/0x0082/*::]*/: { /* n:\"BrtEndSheet\", */ T:-1 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"BrtBeginBook\", */ T:1, f:parsenoop, p:0 },\n\t/*::[*/0x0084/*::]*/: { /* n:\"BrtEndBook\", */ T:-1 },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BrtBeginWsViews\", */ T:1 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"BrtEndWsViews\", */ T:-1 },\n\t/*::[*/0x0087/*::]*/: { /* n:\"BrtBeginBookViews\", */ T:1 },\n\t/*::[*/0x0088/*::]*/: { /* n:\"BrtEndBookViews\", */ T:-1 },\n\t/*::[*/0x0089/*::]*/: { /* n:\"BrtBeginWsView\", */ T:1, f:parse_BrtBeginWsView },\n\t/*::[*/0x008A/*::]*/: { /* n:\"BrtEndWsView\", */ T:-1 },\n\t/*::[*/0x008B/*::]*/: { /* n:\"BrtBeginCsViews\", */ T:1 },\n\t/*::[*/0x008C/*::]*/: { /* n:\"BrtEndCsViews\", */ T:-1 },\n\t/*::[*/0x008D/*::]*/: { /* n:\"BrtBeginCsView\", */ T:1 },\n\t/*::[*/0x008E/*::]*/: { /* n:\"BrtEndCsView\", */ T:-1 },\n\t/*::[*/0x008F/*::]*/: { /* n:\"BrtBeginBundleShs\", */ T:1 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"BrtEndBundleShs\", */ T:-1 },\n\t/*::[*/0x0091/*::]*/: { /* n:\"BrtBeginSheetData\", */ T:1 },\n\t/*::[*/0x0092/*::]*/: { /* n:\"BrtEndSheetData\", */ T:-1 },\n\t/*::[*/0x0093/*::]*/: { /* n:\"BrtWsProp\", */ f:parse_BrtWsProp },\n\t/*::[*/0x0094/*::]*/: { /* n:\"BrtWsDim\", */ f:parse_BrtWsDim, p:16 },\n\t/*::[*/0x0097/*::]*/: { /* n:\"BrtPane\", */ f:parse_BrtPane },\n\t/*::[*/0x0098/*::]*/: { /* n:\"BrtSel\" */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"BrtWbProp\", */ f:parse_BrtWbProp },\n\t/*::[*/0x009A/*::]*/: { /* n:\"BrtWbFactoid\" */ },\n\t/*::[*/0x009B/*::]*/: { /* n:\"BrtFileRecover\" */ },\n\t/*::[*/0x009C/*::]*/: { /* n:\"BrtBundleSh\", */ f:parse_BrtBundleSh },\n\t/*::[*/0x009D/*::]*/: { /* n:\"BrtCalcProp\" */ },\n\t/*::[*/0x009E/*::]*/: { /* n:\"BrtBookView\" */ },\n\t/*::[*/0x009F/*::]*/: { /* n:\"BrtBeginSst\", */ T:1, f:parse_BrtBeginSst },\n\t/*::[*/0x00A0/*::]*/: { /* n:\"BrtEndSst\", */ T:-1 },\n\t/*::[*/0x00A1/*::]*/: { /* n:\"BrtBeginAFilter\", */ T:1, f:parse_UncheckedRfX },\n\t/*::[*/0x00A2/*::]*/: { /* n:\"BrtEndAFilter\", */ T:-1 },\n\t/*::[*/0x00A3/*::]*/: { /* n:\"BrtBeginFilterColumn\", */ T:1 },\n\t/*::[*/0x00A4/*::]*/: { /* n:\"BrtEndFilterColumn\", */ T:-1 },\n\t/*::[*/0x00A5/*::]*/: { /* n:\"BrtBeginFilters\", */ T:1 },\n\t/*::[*/0x00A6/*::]*/: { /* n:\"BrtEndFilters\", */ T:-1 },\n\t/*::[*/0x00A7/*::]*/: { /* n:\"BrtFilter\" */ },\n\t/*::[*/0x00A8/*::]*/: { /* n:\"BrtColorFilter\" */ },\n\t/*::[*/0x00A9/*::]*/: { /* n:\"BrtIconFilter\" */ },\n\t/*::[*/0x00AA/*::]*/: { /* n:\"BrtTop10Filter\" */ },\n\t/*::[*/0x00AB/*::]*/: { /* n:\"BrtDynamicFilter\" */ },\n\t/*::[*/0x00AC/*::]*/: { /* n:\"BrtBeginCustomFilters\", */ T:1 },\n\t/*::[*/0x00AD/*::]*/: { /* n:\"BrtEndCustomFilters\", */ T:-1 },\n\t/*::[*/0x00AE/*::]*/: { /* n:\"BrtCustomFilter\" */ },\n\t/*::[*/0x00AF/*::]*/: { /* n:\"BrtAFilterDateGroupItem\" */ },\n\t/*::[*/0x00B0/*::]*/: { /* n:\"BrtMergeCell\", */ f:parse_BrtMergeCell },\n\t/*::[*/0x00B1/*::]*/: { /* n:\"BrtBeginMergeCells\", */ T:1 },\n\t/*::[*/0x00B2/*::]*/: { /* n:\"BrtEndMergeCells\", */ T:-1 },\n\t/*::[*/0x00B3/*::]*/: { /* n:\"BrtBeginPivotCacheDef\", */ T:1 },\n\t/*::[*/0x00B4/*::]*/: { /* n:\"BrtEndPivotCacheDef\", */ T:-1 },\n\t/*::[*/0x00B5/*::]*/: { /* n:\"BrtBeginPCDFields\", */ T:1 },\n\t/*::[*/0x00B6/*::]*/: { /* n:\"BrtEndPCDFields\", */ T:-1 },\n\t/*::[*/0x00B7/*::]*/: { /* n:\"BrtBeginPCDField\", */ T:1 },\n\t/*::[*/0x00B8/*::]*/: { /* n:\"BrtEndPCDField\", */ T:-1 },\n\t/*::[*/0x00B9/*::]*/: { /* n:\"BrtBeginPCDSource\", */ T:1 },\n\t/*::[*/0x00BA/*::]*/: { /* n:\"BrtEndPCDSource\", */ T:-1 },\n\t/*::[*/0x00BB/*::]*/: { /* n:\"BrtBeginPCDSRange\", */ T:1 },\n\t/*::[*/0x00BC/*::]*/: { /* n:\"BrtEndPCDSRange\", */ T:-1 },\n\t/*::[*/0x00BD/*::]*/: { /* n:\"BrtBeginPCDFAtbl\", */ T:1 },\n\t/*::[*/0x00BE/*::]*/: { /* n:\"BrtEndPCDFAtbl\", */ T:-1 },\n\t/*::[*/0x00BF/*::]*/: { /* n:\"BrtBeginPCDIRun\", */ T:1 },\n\t/*::[*/0x00C0/*::]*/: { /* n:\"BrtEndPCDIRun\", */ T:-1 },\n\t/*::[*/0x00C1/*::]*/: { /* n:\"BrtBeginPivotCacheRecords\", */ T:1 },\n\t/*::[*/0x00C2/*::]*/: { /* n:\"BrtEndPivotCacheRecords\", */ T:-1 },\n\t/*::[*/0x00C3/*::]*/: { /* n:\"BrtBeginPCDHierarchies\", */ T:1 },\n\t/*::[*/0x00C4/*::]*/: { /* n:\"BrtEndPCDHierarchies\", */ T:-1 },\n\t/*::[*/0x00C5/*::]*/: { /* n:\"BrtBeginPCDHierarchy\", */ T:1 },\n\t/*::[*/0x00C6/*::]*/: { /* n:\"BrtEndPCDHierarchy\", */ T:-1 },\n\t/*::[*/0x00C7/*::]*/: { /* n:\"BrtBeginPCDHFieldsUsage\", */ T:1 },\n\t/*::[*/0x00C8/*::]*/: { /* n:\"BrtEndPCDHFieldsUsage\", */ T:-1 },\n\t/*::[*/0x00C9/*::]*/: { /* n:\"BrtBeginExtConnection\", */ T:1 },\n\t/*::[*/0x00CA/*::]*/: { /* n:\"BrtEndExtConnection\", */ T:-1 },\n\t/*::[*/0x00CB/*::]*/: { /* n:\"BrtBeginECDbProps\", */ T:1 },\n\t/*::[*/0x00CC/*::]*/: { /* n:\"BrtEndECDbProps\", */ T:-1 },\n\t/*::[*/0x00CD/*::]*/: { /* n:\"BrtBeginECOlapProps\", */ T:1 },\n\t/*::[*/0x00CE/*::]*/: { /* n:\"BrtEndECOlapProps\", */ T:-1 },\n\t/*::[*/0x00CF/*::]*/: { /* n:\"BrtBeginPCDSConsol\", */ T:1 },\n\t/*::[*/0x00D0/*::]*/: { /* n:\"BrtEndPCDSConsol\", */ T:-1 },\n\t/*::[*/0x00D1/*::]*/: { /* n:\"BrtBeginPCDSCPages\", */ T:1 },\n\t/*::[*/0x00D2/*::]*/: { /* n:\"BrtEndPCDSCPages\", */ T:-1 },\n\t/*::[*/0x00D3/*::]*/: { /* n:\"BrtBeginPCDSCPage\", */ T:1 },\n\t/*::[*/0x00D4/*::]*/: { /* n:\"BrtEndPCDSCPage\", */ T:-1 },\n\t/*::[*/0x00D5/*::]*/: { /* n:\"BrtBeginPCDSCPItem\", */ T:1 },\n\t/*::[*/0x00D6/*::]*/: { /* n:\"BrtEndPCDSCPItem\", */ T:-1 },\n\t/*::[*/0x00D7/*::]*/: { /* n:\"BrtBeginPCDSCSets\", */ T:1 },\n\t/*::[*/0x00D8/*::]*/: { /* n:\"BrtEndPCDSCSets\", */ T:-1 },\n\t/*::[*/0x00D9/*::]*/: { /* n:\"BrtBeginPCDSCSet\", */ T:1 },\n\t/*::[*/0x00DA/*::]*/: { /* n:\"BrtEndPCDSCSet\", */ T:-1 },\n\t/*::[*/0x00DB/*::]*/: { /* n:\"BrtBeginPCDFGroup\", */ T:1 },\n\t/*::[*/0x00DC/*::]*/: { /* n:\"BrtEndPCDFGroup\", */ T:-1 },\n\t/*::[*/0x00DD/*::]*/: { /* n:\"BrtBeginPCDFGItems\", */ T:1 },\n\t/*::[*/0x00DE/*::]*/: { /* n:\"BrtEndPCDFGItems\", */ T:-1 },\n\t/*::[*/0x00DF/*::]*/: { /* n:\"BrtBeginPCDFGRange\", */ T:1 },\n\t/*::[*/0x00E0/*::]*/: { /* n:\"BrtEndPCDFGRange\", */ T:-1 },\n\t/*::[*/0x00E1/*::]*/: { /* n:\"BrtBeginPCDFGDiscrete\", */ T:1 },\n\t/*::[*/0x00E2/*::]*/: { /* n:\"BrtEndPCDFGDiscrete\", */ T:-1 },\n\t/*::[*/0x00E3/*::]*/: { /* n:\"BrtBeginPCDSDTupleCache\", */ T:1 },\n\t/*::[*/0x00E4/*::]*/: { /* n:\"BrtEndPCDSDTupleCache\", */ T:-1 },\n\t/*::[*/0x00E5/*::]*/: { /* n:\"BrtBeginPCDSDTCEntries\", */ T:1 },\n\t/*::[*/0x00E6/*::]*/: { /* n:\"BrtEndPCDSDTCEntries\", */ T:-1 },\n\t/*::[*/0x00E7/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembers\", */ T:1 },\n\t/*::[*/0x00E8/*::]*/: { /* n:\"BrtEndPCDSDTCEMembers\", */ T:-1 },\n\t/*::[*/0x00E9/*::]*/: { /* n:\"BrtBeginPCDSDTCEMember\", */ T:1 },\n\t/*::[*/0x00EA/*::]*/: { /* n:\"BrtEndPCDSDTCEMember\", */ T:-1 },\n\t/*::[*/0x00EB/*::]*/: { /* n:\"BrtBeginPCDSDTCQueries\", */ T:1 },\n\t/*::[*/0x00EC/*::]*/: { /* n:\"BrtEndPCDSDTCQueries\", */ T:-1 },\n\t/*::[*/0x00ED/*::]*/: { /* n:\"BrtBeginPCDSDTCQuery\", */ T:1 },\n\t/*::[*/0x00EE/*::]*/: { /* n:\"BrtEndPCDSDTCQuery\", */ T:-1 },\n\t/*::[*/0x00EF/*::]*/: { /* n:\"BrtBeginPCDSDTCSets\", */ T:1 },\n\t/*::[*/0x00F0/*::]*/: { /* n:\"BrtEndPCDSDTCSets\", */ T:-1 },\n\t/*::[*/0x00F1/*::]*/: { /* n:\"BrtBeginPCDSDTCSet\", */ T:1 },\n\t/*::[*/0x00F2/*::]*/: { /* n:\"BrtEndPCDSDTCSet\", */ T:-1 },\n\t/*::[*/0x00F3/*::]*/: { /* n:\"BrtBeginPCDCalcItems\", */ T:1 },\n\t/*::[*/0x00F4/*::]*/: { /* n:\"BrtEndPCDCalcItems\", */ T:-1 },\n\t/*::[*/0x00F5/*::]*/: { /* n:\"BrtBeginPCDCalcItem\", */ T:1 },\n\t/*::[*/0x00F6/*::]*/: { /* n:\"BrtEndPCDCalcItem\", */ T:-1 },\n\t/*::[*/0x00F7/*::]*/: { /* n:\"BrtBeginPRule\", */ T:1 },\n\t/*::[*/0x00F8/*::]*/: { /* n:\"BrtEndPRule\", */ T:-1 },\n\t/*::[*/0x00F9/*::]*/: { /* n:\"BrtBeginPRFilters\", */ T:1 },\n\t/*::[*/0x00FA/*::]*/: { /* n:\"BrtEndPRFilters\", */ T:-1 },\n\t/*::[*/0x00FB/*::]*/: { /* n:\"BrtBeginPRFilter\", */ T:1 },\n\t/*::[*/0x00FC/*::]*/: { /* n:\"BrtEndPRFilter\", */ T:-1 },\n\t/*::[*/0x00FD/*::]*/: { /* n:\"BrtBeginPNames\", */ T:1 },\n\t/*::[*/0x00FE/*::]*/: { /* n:\"BrtEndPNames\", */ T:-1 },\n\t/*::[*/0x00FF/*::]*/: { /* n:\"BrtBeginPName\", */ T:1 },\n\t/*::[*/0x0100/*::]*/: { /* n:\"BrtEndPName\", */ T:-1 },\n\t/*::[*/0x0101/*::]*/: { /* n:\"BrtBeginPNPairs\", */ T:1 },\n\t/*::[*/0x0102/*::]*/: { /* n:\"BrtEndPNPairs\", */ T:-1 },\n\t/*::[*/0x0103/*::]*/: { /* n:\"BrtBeginPNPair\", */ T:1 },\n\t/*::[*/0x0104/*::]*/: { /* n:\"BrtEndPNPair\", */ T:-1 },\n\t/*::[*/0x0105/*::]*/: { /* n:\"BrtBeginECWebProps\", */ T:1 },\n\t/*::[*/0x0106/*::]*/: { /* n:\"BrtEndECWebProps\", */ T:-1 },\n\t/*::[*/0x0107/*::]*/: { /* n:\"BrtBeginEcWpTables\", */ T:1 },\n\t/*::[*/0x0108/*::]*/: { /* n:\"BrtEndECWPTables\", */ T:-1 },\n\t/*::[*/0x0109/*::]*/: { /* n:\"BrtBeginECParams\", */ T:1 },\n\t/*::[*/0x010A/*::]*/: { /* n:\"BrtEndECParams\", */ T:-1 },\n\t/*::[*/0x010B/*::]*/: { /* n:\"BrtBeginECParam\", */ T:1 },\n\t/*::[*/0x010C/*::]*/: { /* n:\"BrtEndECParam\", */ T:-1 },\n\t/*::[*/0x010D/*::]*/: { /* n:\"BrtBeginPCDKPIs\", */ T:1 },\n\t/*::[*/0x010E/*::]*/: { /* n:\"BrtEndPCDKPIs\", */ T:-1 },\n\t/*::[*/0x010F/*::]*/: { /* n:\"BrtBeginPCDKPI\", */ T:1 },\n\t/*::[*/0x0110/*::]*/: { /* n:\"BrtEndPCDKPI\", */ T:-1 },\n\t/*::[*/0x0111/*::]*/: { /* n:\"BrtBeginDims\", */ T:1 },\n\t/*::[*/0x0112/*::]*/: { /* n:\"BrtEndDims\", */ T:-1 },\n\t/*::[*/0x0113/*::]*/: { /* n:\"BrtBeginDim\", */ T:1 },\n\t/*::[*/0x0114/*::]*/: { /* n:\"BrtEndDim\", */ T:-1 },\n\t/*::[*/0x0115/*::]*/: { /* n:\"BrtIndexPartEnd\" */ },\n\t/*::[*/0x0116/*::]*/: { /* n:\"BrtBeginStyleSheet\", */ T:1 },\n\t/*::[*/0x0117/*::]*/: { /* n:\"BrtEndStyleSheet\", */ T:-1 },\n\t/*::[*/0x0118/*::]*/: { /* n:\"BrtBeginSXView\", */ T:1 },\n\t/*::[*/0x0119/*::]*/: { /* n:\"BrtEndSXVI\", */ T:-1 },\n\t/*::[*/0x011A/*::]*/: { /* n:\"BrtBeginSXVI\", */ T:1 },\n\t/*::[*/0x011B/*::]*/: { /* n:\"BrtBeginSXVIs\", */ T:1 },\n\t/*::[*/0x011C/*::]*/: { /* n:\"BrtEndSXVIs\", */ T:-1 },\n\t/*::[*/0x011D/*::]*/: { /* n:\"BrtBeginSXVD\", */ T:1 },\n\t/*::[*/0x011E/*::]*/: { /* n:\"BrtEndSXVD\", */ T:-1 },\n\t/*::[*/0x011F/*::]*/: { /* n:\"BrtBeginSXVDs\", */ T:1 },\n\t/*::[*/0x0120/*::]*/: { /* n:\"BrtEndSXVDs\", */ T:-1 },\n\t/*::[*/0x0121/*::]*/: { /* n:\"BrtBeginSXPI\", */ T:1 },\n\t/*::[*/0x0122/*::]*/: { /* n:\"BrtEndSXPI\", */ T:-1 },\n\t/*::[*/0x0123/*::]*/: { /* n:\"BrtBeginSXPIs\", */ T:1 },\n\t/*::[*/0x0124/*::]*/: { /* n:\"BrtEndSXPIs\", */ T:-1 },\n\t/*::[*/0x0125/*::]*/: { /* n:\"BrtBeginSXDI\", */ T:1 },\n\t/*::[*/0x0126/*::]*/: { /* n:\"BrtEndSXDI\", */ T:-1 },\n\t/*::[*/0x0127/*::]*/: { /* n:\"BrtBeginSXDIs\", */ T:1 },\n\t/*::[*/0x0128/*::]*/: { /* n:\"BrtEndSXDIs\", */ T:-1 },\n\t/*::[*/0x0129/*::]*/: { /* n:\"BrtBeginSXLI\", */ T:1 },\n\t/*::[*/0x012A/*::]*/: { /* n:\"BrtEndSXLI\", */ T:-1 },\n\t/*::[*/0x012B/*::]*/: { /* n:\"BrtBeginSXLIRws\", */ T:1 },\n\t/*::[*/0x012C/*::]*/: { /* n:\"BrtEndSXLIRws\", */ T:-1 },\n\t/*::[*/0x012D/*::]*/: { /* n:\"BrtBeginSXLICols\", */ T:1 },\n\t/*::[*/0x012E/*::]*/: { /* n:\"BrtEndSXLICols\", */ T:-1 },\n\t/*::[*/0x012F/*::]*/: { /* n:\"BrtBeginSXFormat\", */ T:1 },\n\t/*::[*/0x0130/*::]*/: { /* n:\"BrtEndSXFormat\", */ T:-1 },\n\t/*::[*/0x0131/*::]*/: { /* n:\"BrtBeginSXFormats\", */ T:1 },\n\t/*::[*/0x0132/*::]*/: { /* n:\"BrtEndSxFormats\", */ T:-1 },\n\t/*::[*/0x0133/*::]*/: { /* n:\"BrtBeginSxSelect\", */ T:1 },\n\t/*::[*/0x0134/*::]*/: { /* n:\"BrtEndSxSelect\", */ T:-1 },\n\t/*::[*/0x0135/*::]*/: { /* n:\"BrtBeginISXVDRws\", */ T:1 },\n\t/*::[*/0x0136/*::]*/: { /* n:\"BrtEndISXVDRws\", */ T:-1 },\n\t/*::[*/0x0137/*::]*/: { /* n:\"BrtBeginISXVDCols\", */ T:1 },\n\t/*::[*/0x0138/*::]*/: { /* n:\"BrtEndISXVDCols\", */ T:-1 },\n\t/*::[*/0x0139/*::]*/: { /* n:\"BrtEndSXLocation\", */ T:-1 },\n\t/*::[*/0x013A/*::]*/: { /* n:\"BrtBeginSXLocation\", */ T:1 },\n\t/*::[*/0x013B/*::]*/: { /* n:\"BrtEndSXView\", */ T:-1 },\n\t/*::[*/0x013C/*::]*/: { /* n:\"BrtBeginSXTHs\", */ T:1 },\n\t/*::[*/0x013D/*::]*/: { /* n:\"BrtEndSXTHs\", */ T:-1 },\n\t/*::[*/0x013E/*::]*/: { /* n:\"BrtBeginSXTH\", */ T:1 },\n\t/*::[*/0x013F/*::]*/: { /* n:\"BrtEndSXTH\", */ T:-1 },\n\t/*::[*/0x0140/*::]*/: { /* n:\"BrtBeginISXTHRws\", */ T:1 },\n\t/*::[*/0x0141/*::]*/: { /* n:\"BrtEndISXTHRws\", */ T:-1 },\n\t/*::[*/0x0142/*::]*/: { /* n:\"BrtBeginISXTHCols\", */ T:1 },\n\t/*::[*/0x0143/*::]*/: { /* n:\"BrtEndISXTHCols\", */ T:-1 },\n\t/*::[*/0x0144/*::]*/: { /* n:\"BrtBeginSXTDMPS\", */ T:1 },\n\t/*::[*/0x0145/*::]*/: { /* n:\"BrtEndSXTDMPs\", */ T:-1 },\n\t/*::[*/0x0146/*::]*/: { /* n:\"BrtBeginSXTDMP\", */ T:1 },\n\t/*::[*/0x0147/*::]*/: { /* n:\"BrtEndSXTDMP\", */ T:-1 },\n\t/*::[*/0x0148/*::]*/: { /* n:\"BrtBeginSXTHItems\", */ T:1 },\n\t/*::[*/0x0149/*::]*/: { /* n:\"BrtEndSXTHItems\", */ T:-1 },\n\t/*::[*/0x014A/*::]*/: { /* n:\"BrtBeginSXTHItem\", */ T:1 },\n\t/*::[*/0x014B/*::]*/: { /* n:\"BrtEndSXTHItem\", */ T:-1 },\n\t/*::[*/0x014C/*::]*/: { /* n:\"BrtBeginMetadata\", */ T:1 },\n\t/*::[*/0x014D/*::]*/: { /* n:\"BrtEndMetadata\", */ T:-1 },\n\t/*::[*/0x014E/*::]*/: { /* n:\"BrtBeginEsmdtinfo\", */ T:1 },\n\t/*::[*/0x014F/*::]*/: { /* n:\"BrtMdtinfo\", */ f:parse_BrtMdtinfo },\n\t/*::[*/0x0150/*::]*/: { /* n:\"BrtEndEsmdtinfo\", */ T:-1 },\n\t/*::[*/0x0151/*::]*/: { /* n:\"BrtBeginEsmdb\", */ f:parse_BrtBeginEsmdb, T:1 },\n\t/*::[*/0x0152/*::]*/: { /* n:\"BrtEndEsmdb\", */ T:-1 },\n\t/*::[*/0x0153/*::]*/: { /* n:\"BrtBeginEsfmd\", */ T:1 },\n\t/*::[*/0x0154/*::]*/: { /* n:\"BrtEndEsfmd\", */ T:-1 },\n\t/*::[*/0x0155/*::]*/: { /* n:\"BrtBeginSingleCells\", */ T:1 },\n\t/*::[*/0x0156/*::]*/: { /* n:\"BrtEndSingleCells\", */ T:-1 },\n\t/*::[*/0x0157/*::]*/: { /* n:\"BrtBeginList\", */ T:1 },\n\t/*::[*/0x0158/*::]*/: { /* n:\"BrtEndList\", */ T:-1 },\n\t/*::[*/0x0159/*::]*/: { /* n:\"BrtBeginListCols\", */ T:1 },\n\t/*::[*/0x015A/*::]*/: { /* n:\"BrtEndListCols\", */ T:-1 },\n\t/*::[*/0x015B/*::]*/: { /* n:\"BrtBeginListCol\", */ T:1 },\n\t/*::[*/0x015C/*::]*/: { /* n:\"BrtEndListCol\", */ T:-1 },\n\t/*::[*/0x015D/*::]*/: { /* n:\"BrtBeginListXmlCPr\", */ T:1 },\n\t/*::[*/0x015E/*::]*/: { /* n:\"BrtEndListXmlCPr\", */ T:-1 },\n\t/*::[*/0x015F/*::]*/: { /* n:\"BrtListCCFmla\" */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"BrtListTrFmla\" */ },\n\t/*::[*/0x0161/*::]*/: { /* n:\"BrtBeginExternals\", */ T:1 },\n\t/*::[*/0x0162/*::]*/: { /* n:\"BrtEndExternals\", */ T:-1 },\n\t/*::[*/0x0163/*::]*/: { /* n:\"BrtSupBookSrc\", */ f:parse_RelID},\n\t/*::[*/0x0165/*::]*/: { /* n:\"BrtSupSelf\" */ },\n\t/*::[*/0x0166/*::]*/: { /* n:\"BrtSupSame\" */ },\n\t/*::[*/0x0167/*::]*/: { /* n:\"BrtSupTabs\" */ },\n\t/*::[*/0x0168/*::]*/: { /* n:\"BrtBeginSupBook\", */ T:1 },\n\t/*::[*/0x0169/*::]*/: { /* n:\"BrtPlaceholderName\" */ },\n\t/*::[*/0x016A/*::]*/: { /* n:\"BrtExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x016B/*::]*/: { /* n:\"BrtExternTableStart\" */ },\n\t/*::[*/0x016C/*::]*/: { /* n:\"BrtExternTableEnd\" */ },\n\t/*::[*/0x016E/*::]*/: { /* n:\"BrtExternRowHdr\" */ },\n\t/*::[*/0x016F/*::]*/: { /* n:\"BrtExternCellBlank\" */ },\n\t/*::[*/0x0170/*::]*/: { /* n:\"BrtExternCellReal\" */ },\n\t/*::[*/0x0171/*::]*/: { /* n:\"BrtExternCellBool\" */ },\n\t/*::[*/0x0172/*::]*/: { /* n:\"BrtExternCellError\" */ },\n\t/*::[*/0x0173/*::]*/: { /* n:\"BrtExternCellString\" */ },\n\t/*::[*/0x0174/*::]*/: { /* n:\"BrtBeginEsmdx\", */ T:1 },\n\t/*::[*/0x0175/*::]*/: { /* n:\"BrtEndEsmdx\", */ T:-1 },\n\t/*::[*/0x0176/*::]*/: { /* n:\"BrtBeginMdxSet\", */ T:1 },\n\t/*::[*/0x0177/*::]*/: { /* n:\"BrtEndMdxSet\", */ T:-1 },\n\t/*::[*/0x0178/*::]*/: { /* n:\"BrtBeginMdxMbrProp\", */ T:1 },\n\t/*::[*/0x0179/*::]*/: { /* n:\"BrtEndMdxMbrProp\", */ T:-1 },\n\t/*::[*/0x017A/*::]*/: { /* n:\"BrtBeginMdxKPI\", */ T:1 },\n\t/*::[*/0x017B/*::]*/: { /* n:\"BrtEndMdxKPI\", */ T:-1 },\n\t/*::[*/0x017C/*::]*/: { /* n:\"BrtBeginEsstr\", */ T:1 },\n\t/*::[*/0x017D/*::]*/: { /* n:\"BrtEndEsstr\", */ T:-1 },\n\t/*::[*/0x017E/*::]*/: { /* n:\"BrtBeginPRFItem\", */ T:1 },\n\t/*::[*/0x017F/*::]*/: { /* n:\"BrtEndPRFItem\", */ T:-1 },\n\t/*::[*/0x0180/*::]*/: { /* n:\"BrtBeginPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0181/*::]*/: { /* n:\"BrtEndPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0182/*::]*/: { /* n:\"BrtBeginPivotCacheID\", */ T:1 },\n\t/*::[*/0x0183/*::]*/: { /* n:\"BrtEndPivotCacheID\", */ T:-1 },\n\t/*::[*/0x0184/*::]*/: { /* n:\"BrtBeginISXVIs\", */ T:1 },\n\t/*::[*/0x0185/*::]*/: { /* n:\"BrtEndISXVIs\", */ T:-1 },\n\t/*::[*/0x0186/*::]*/: { /* n:\"BrtBeginColInfos\", */ T:1 },\n\t/*::[*/0x0187/*::]*/: { /* n:\"BrtEndColInfos\", */ T:-1 },\n\t/*::[*/0x0188/*::]*/: { /* n:\"BrtBeginRwBrk\", */ T:1 },\n\t/*::[*/0x0189/*::]*/: { /* n:\"BrtEndRwBrk\", */ T:-1 },\n\t/*::[*/0x018A/*::]*/: { /* n:\"BrtBeginColBrk\", */ T:1 },\n\t/*::[*/0x018B/*::]*/: { /* n:\"BrtEndColBrk\", */ T:-1 },\n\t/*::[*/0x018C/*::]*/: { /* n:\"BrtBrk\" */ },\n\t/*::[*/0x018D/*::]*/: { /* n:\"BrtUserBookView\" */ },\n\t/*::[*/0x018E/*::]*/: { /* n:\"BrtInfo\" */ },\n\t/*::[*/0x018F/*::]*/: { /* n:\"BrtCUsr\" */ },\n\t/*::[*/0x0190/*::]*/: { /* n:\"BrtUsr\" */ },\n\t/*::[*/0x0191/*::]*/: { /* n:\"BrtBeginUsers\", */ T:1 },\n\t/*::[*/0x0193/*::]*/: { /* n:\"BrtEOF\" */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"BrtUCR\" */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"BrtRRInsDel\" */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"BrtRREndInsDel\" */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BrtRRMove\" */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"BrtRREndMove\" */ },\n\t/*::[*/0x0199/*::]*/: { /* n:\"BrtRRChgCell\" */ },\n\t/*::[*/0x019A/*::]*/: { /* n:\"BrtRREndChgCell\" */ },\n\t/*::[*/0x019B/*::]*/: { /* n:\"BrtRRHeader\" */ },\n\t/*::[*/0x019C/*::]*/: { /* n:\"BrtRRUserView\" */ },\n\t/*::[*/0x019D/*::]*/: { /* n:\"BrtRRRenSheet\" */ },\n\t/*::[*/0x019E/*::]*/: { /* n:\"BrtRRInsertSh\" */ },\n\t/*::[*/0x019F/*::]*/: { /* n:\"BrtRRDefName\" */ },\n\t/*::[*/0x01A0/*::]*/: { /* n:\"BrtRRNote\" */ },\n\t/*::[*/0x01A1/*::]*/: { /* n:\"BrtRRConflict\" */ },\n\t/*::[*/0x01A2/*::]*/: { /* n:\"BrtRRTQSIF\" */ },\n\t/*::[*/0x01A3/*::]*/: { /* n:\"BrtRRFormat\" */ },\n\t/*::[*/0x01A4/*::]*/: { /* n:\"BrtRREndFormat\" */ },\n\t/*::[*/0x01A5/*::]*/: { /* n:\"BrtRRAutoFmt\" */ },\n\t/*::[*/0x01A6/*::]*/: { /* n:\"BrtBeginUserShViews\", */ T:1 },\n\t/*::[*/0x01A7/*::]*/: { /* n:\"BrtBeginUserShView\", */ T:1 },\n\t/*::[*/0x01A8/*::]*/: { /* n:\"BrtEndUserShView\", */ T:-1 },\n\t/*::[*/0x01A9/*::]*/: { /* n:\"BrtEndUserShViews\", */ T:-1 },\n\t/*::[*/0x01AA/*::]*/: { /* n:\"BrtArrFmla\", */ f:parse_BrtArrFmla },\n\t/*::[*/0x01AB/*::]*/: { /* n:\"BrtShrFmla\", */ f:parse_BrtShrFmla },\n\t/*::[*/0x01AC/*::]*/: { /* n:\"BrtTable\" */ },\n\t/*::[*/0x01AD/*::]*/: { /* n:\"BrtBeginExtConnections\", */ T:1 },\n\t/*::[*/0x01AE/*::]*/: { /* n:\"BrtEndExtConnections\", */ T:-1 },\n\t/*::[*/0x01AF/*::]*/: { /* n:\"BrtBeginPCDCalcMems\", */ T:1 },\n\t/*::[*/0x01B0/*::]*/: { /* n:\"BrtEndPCDCalcMems\", */ T:-1 },\n\t/*::[*/0x01B1/*::]*/: { /* n:\"BrtBeginPCDCalcMem\", */ T:1 },\n\t/*::[*/0x01B2/*::]*/: { /* n:\"BrtEndPCDCalcMem\", */ T:-1 },\n\t/*::[*/0x01B3/*::]*/: { /* n:\"BrtBeginPCDHGLevels\", */ T:1 },\n\t/*::[*/0x01B4/*::]*/: { /* n:\"BrtEndPCDHGLevels\", */ T:-1 },\n\t/*::[*/0x01B5/*::]*/: { /* n:\"BrtBeginPCDHGLevel\", */ T:1 },\n\t/*::[*/0x01B6/*::]*/: { /* n:\"BrtEndPCDHGLevel\", */ T:-1 },\n\t/*::[*/0x01B7/*::]*/: { /* n:\"BrtBeginPCDHGLGroups\", */ T:1 },\n\t/*::[*/0x01B8/*::]*/: { /* n:\"BrtEndPCDHGLGroups\", */ T:-1 },\n\t/*::[*/0x01B9/*::]*/: { /* n:\"BrtBeginPCDHGLGroup\", */ T:1 },\n\t/*::[*/0x01BA/*::]*/: { /* n:\"BrtEndPCDHGLGroup\", */ T:-1 },\n\t/*::[*/0x01BB/*::]*/: { /* n:\"BrtBeginPCDHGLGMembers\", */ T:1 },\n\t/*::[*/0x01BC/*::]*/: { /* n:\"BrtEndPCDHGLGMembers\", */ T:-1 },\n\t/*::[*/0x01BD/*::]*/: { /* n:\"BrtBeginPCDHGLGMember\", */ T:1 },\n\t/*::[*/0x01BE/*::]*/: { /* n:\"BrtEndPCDHGLGMember\", */ T:-1 },\n\t/*::[*/0x01BF/*::]*/: { /* n:\"BrtBeginQSI\", */ T:1 },\n\t/*::[*/0x01C0/*::]*/: { /* n:\"BrtEndQSI\", */ T:-1 },\n\t/*::[*/0x01C1/*::]*/: { /* n:\"BrtBeginQSIR\", */ T:1 },\n\t/*::[*/0x01C2/*::]*/: { /* n:\"BrtEndQSIR\", */ T:-1 },\n\t/*::[*/0x01C3/*::]*/: { /* n:\"BrtBeginDeletedNames\", */ T:1 },\n\t/*::[*/0x01C4/*::]*/: { /* n:\"BrtEndDeletedNames\", */ T:-1 },\n\t/*::[*/0x01C5/*::]*/: { /* n:\"BrtBeginDeletedName\", */ T:1 },\n\t/*::[*/0x01C6/*::]*/: { /* n:\"BrtEndDeletedName\", */ T:-1 },\n\t/*::[*/0x01C7/*::]*/: { /* n:\"BrtBeginQSIFs\", */ T:1 },\n\t/*::[*/0x01C8/*::]*/: { /* n:\"BrtEndQSIFs\", */ T:-1 },\n\t/*::[*/0x01C9/*::]*/: { /* n:\"BrtBeginQSIF\", */ T:1 },\n\t/*::[*/0x01CA/*::]*/: { /* n:\"BrtEndQSIF\", */ T:-1 },\n\t/*::[*/0x01CB/*::]*/: { /* n:\"BrtBeginAutoSortScope\", */ T:1 },\n\t/*::[*/0x01CC/*::]*/: { /* n:\"BrtEndAutoSortScope\", */ T:-1 },\n\t/*::[*/0x01CD/*::]*/: { /* n:\"BrtBeginConditionalFormatting\", */ T:1 },\n\t/*::[*/0x01CE/*::]*/: { /* n:\"BrtEndConditionalFormatting\", */ T:-1 },\n\t/*::[*/0x01CF/*::]*/: { /* n:\"BrtBeginCFRule\", */ T:1 },\n\t/*::[*/0x01D0/*::]*/: { /* n:\"BrtEndCFRule\", */ T:-1 },\n\t/*::[*/0x01D1/*::]*/: { /* n:\"BrtBeginIconSet\", */ T:1 },\n\t/*::[*/0x01D2/*::]*/: { /* n:\"BrtEndIconSet\", */ T:-1 },\n\t/*::[*/0x01D3/*::]*/: { /* n:\"BrtBeginDatabar\", */ T:1 },\n\t/*::[*/0x01D4/*::]*/: { /* n:\"BrtEndDatabar\", */ T:-1 },\n\t/*::[*/0x01D5/*::]*/: { /* n:\"BrtBeginColorScale\", */ T:1 },\n\t/*::[*/0x01D6/*::]*/: { /* n:\"BrtEndColorScale\", */ T:-1 },\n\t/*::[*/0x01D7/*::]*/: { /* n:\"BrtCFVO\" */ },\n\t/*::[*/0x01D8/*::]*/: { /* n:\"BrtExternValueMeta\" */ },\n\t/*::[*/0x01D9/*::]*/: { /* n:\"BrtBeginColorPalette\", */ T:1 },\n\t/*::[*/0x01DA/*::]*/: { /* n:\"BrtEndColorPalette\", */ T:-1 },\n\t/*::[*/0x01DB/*::]*/: { /* n:\"BrtIndexedColor\" */ },\n\t/*::[*/0x01DC/*::]*/: { /* n:\"BrtMargins\", */ f:parse_BrtMargins },\n\t/*::[*/0x01DD/*::]*/: { /* n:\"BrtPrintOptions\" */ },\n\t/*::[*/0x01DE/*::]*/: { /* n:\"BrtPageSetup\" */ },\n\t/*::[*/0x01DF/*::]*/: { /* n:\"BrtBeginHeaderFooter\", */ T:1 },\n\t/*::[*/0x01E0/*::]*/: { /* n:\"BrtEndHeaderFooter\", */ T:-1 },\n\t/*::[*/0x01E1/*::]*/: { /* n:\"BrtBeginSXCrtFormat\", */ T:1 },\n\t/*::[*/0x01E2/*::]*/: { /* n:\"BrtEndSXCrtFormat\", */ T:-1 },\n\t/*::[*/0x01E3/*::]*/: { /* n:\"BrtBeginSXCrtFormats\", */ T:1 },\n\t/*::[*/0x01E4/*::]*/: { /* n:\"BrtEndSXCrtFormats\", */ T:-1 },\n\t/*::[*/0x01E5/*::]*/: { /* n:\"BrtWsFmtInfo\", */ f:parse_BrtWsFmtInfo },\n\t/*::[*/0x01E6/*::]*/: { /* n:\"BrtBeginMgs\", */ T:1 },\n\t/*::[*/0x01E7/*::]*/: { /* n:\"BrtEndMGs\", */ T:-1 },\n\t/*::[*/0x01E8/*::]*/: { /* n:\"BrtBeginMGMaps\", */ T:1 },\n\t/*::[*/0x01E9/*::]*/: { /* n:\"BrtEndMGMaps\", */ T:-1 },\n\t/*::[*/0x01EA/*::]*/: { /* n:\"BrtBeginMG\", */ T:1 },\n\t/*::[*/0x01EB/*::]*/: { /* n:\"BrtEndMG\", */ T:-1 },\n\t/*::[*/0x01EC/*::]*/: { /* n:\"BrtBeginMap\", */ T:1 },\n\t/*::[*/0x01ED/*::]*/: { /* n:\"BrtEndMap\", */ T:-1 },\n\t/*::[*/0x01EE/*::]*/: { /* n:\"BrtHLink\", */ f:parse_BrtHLink },\n\t/*::[*/0x01EF/*::]*/: { /* n:\"BrtBeginDCon\", */ T:1 },\n\t/*::[*/0x01F0/*::]*/: { /* n:\"BrtEndDCon\", */ T:-1 },\n\t/*::[*/0x01F1/*::]*/: { /* n:\"BrtBeginDRefs\", */ T:1 },\n\t/*::[*/0x01F2/*::]*/: { /* n:\"BrtEndDRefs\", */ T:-1 },\n\t/*::[*/0x01F3/*::]*/: { /* n:\"BrtDRef\" */ },\n\t/*::[*/0x01F4/*::]*/: { /* n:\"BrtBeginScenMan\", */ T:1 },\n\t/*::[*/0x01F5/*::]*/: { /* n:\"BrtEndScenMan\", */ T:-1 },\n\t/*::[*/0x01F6/*::]*/: { /* n:\"BrtBeginSct\", */ T:1 },\n\t/*::[*/0x01F7/*::]*/: { /* n:\"BrtEndSct\", */ T:-1 },\n\t/*::[*/0x01F8/*::]*/: { /* n:\"BrtSlc\" */ },\n\t/*::[*/0x01F9/*::]*/: { /* n:\"BrtBeginDXFs\", */ T:1 },\n\t/*::[*/0x01FA/*::]*/: { /* n:\"BrtEndDXFs\", */ T:-1 },\n\t/*::[*/0x01FB/*::]*/: { /* n:\"BrtDXF\" */ },\n\t/*::[*/0x01FC/*::]*/: { /* n:\"BrtBeginTableStyles\", */ T:1 },\n\t/*::[*/0x01FD/*::]*/: { /* n:\"BrtEndTableStyles\", */ T:-1 },\n\t/*::[*/0x01FE/*::]*/: { /* n:\"BrtBeginTableStyle\", */ T:1 },\n\t/*::[*/0x01FF/*::]*/: { /* n:\"BrtEndTableStyle\", */ T:-1 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"BrtTableStyleElement\" */ },\n\t/*::[*/0x0201/*::]*/: { /* n:\"BrtTableStyleClient\" */ },\n\t/*::[*/0x0202/*::]*/: { /* n:\"BrtBeginVolDeps\", */ T:1 },\n\t/*::[*/0x0203/*::]*/: { /* n:\"BrtEndVolDeps\", */ T:-1 },\n\t/*::[*/0x0204/*::]*/: { /* n:\"BrtBeginVolType\", */ T:1 },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BrtEndVolType\", */ T:-1 },\n\t/*::[*/0x0206/*::]*/: { /* n:\"BrtBeginVolMain\", */ T:1 },\n\t/*::[*/0x0207/*::]*/: { /* n:\"BrtEndVolMain\", */ T:-1 },\n\t/*::[*/0x0208/*::]*/: { /* n:\"BrtBeginVolTopic\", */ T:1 },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BrtEndVolTopic\", */ T:-1 },\n\t/*::[*/0x020A/*::]*/: { /* n:\"BrtVolSubtopic\" */ },\n\t/*::[*/0x020B/*::]*/: { /* n:\"BrtVolRef\" */ },\n\t/*::[*/0x020C/*::]*/: { /* n:\"BrtVolNum\" */ },\n\t/*::[*/0x020D/*::]*/: { /* n:\"BrtVolErr\" */ },\n\t/*::[*/0x020E/*::]*/: { /* n:\"BrtVolStr\" */ },\n\t/*::[*/0x020F/*::]*/: { /* n:\"BrtVolBool\" */ },\n\t/*::[*/0x0210/*::]*/: { /* n:\"BrtBeginCalcChain$\", */ T:1 },\n\t/*::[*/0x0211/*::]*/: { /* n:\"BrtEndCalcChain$\", */ T:-1 },\n\t/*::[*/0x0212/*::]*/: { /* n:\"BrtBeginSortState\", */ T:1 },\n\t/*::[*/0x0213/*::]*/: { /* n:\"BrtEndSortState\", */ T:-1 },\n\t/*::[*/0x0214/*::]*/: { /* n:\"BrtBeginSortCond\", */ T:1 },\n\t/*::[*/0x0215/*::]*/: { /* n:\"BrtEndSortCond\", */ T:-1 },\n\t/*::[*/0x0216/*::]*/: { /* n:\"BrtBookProtection\" */ },\n\t/*::[*/0x0217/*::]*/: { /* n:\"BrtSheetProtection\" */ },\n\t/*::[*/0x0218/*::]*/: { /* n:\"BrtRangeProtection\" */ },\n\t/*::[*/0x0219/*::]*/: { /* n:\"BrtPhoneticInfo\" */ },\n\t/*::[*/0x021A/*::]*/: { /* n:\"BrtBeginECTxtWiz\", */ T:1 },\n\t/*::[*/0x021B/*::]*/: { /* n:\"BrtEndECTxtWiz\", */ T:-1 },\n\t/*::[*/0x021C/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst\", */ T:1 },\n\t/*::[*/0x021D/*::]*/: { /* n:\"BrtEndECTWFldInfoLst\", */ T:-1 },\n\t/*::[*/0x021E/*::]*/: { /* n:\"BrtBeginECTwFldInfo\", */ T:1 },\n\t/*::[*/0x0224/*::]*/: { /* n:\"BrtFileSharing\" */ },\n\t/*::[*/0x0225/*::]*/: { /* n:\"BrtOleSize\" */ },\n\t/*::[*/0x0226/*::]*/: { /* n:\"BrtDrawing\", */ f:parse_RelID },\n\t/*::[*/0x0227/*::]*/: { /* n:\"BrtLegacyDrawing\" */ },\n\t/*::[*/0x0228/*::]*/: { /* n:\"BrtLegacyDrawingHF\" */ },\n\t/*::[*/0x0229/*::]*/: { /* n:\"BrtWebOpt\" */ },\n\t/*::[*/0x022A/*::]*/: { /* n:\"BrtBeginWebPubItems\", */ T:1 },\n\t/*::[*/0x022B/*::]*/: { /* n:\"BrtEndWebPubItems\", */ T:-1 },\n\t/*::[*/0x022C/*::]*/: { /* n:\"BrtBeginWebPubItem\", */ T:1 },\n\t/*::[*/0x022D/*::]*/: { /* n:\"BrtEndWebPubItem\", */ T:-1 },\n\t/*::[*/0x022E/*::]*/: { /* n:\"BrtBeginSXCondFmt\", */ T:1 },\n\t/*::[*/0x022F/*::]*/: { /* n:\"BrtEndSXCondFmt\", */ T:-1 },\n\t/*::[*/0x0230/*::]*/: { /* n:\"BrtBeginSXCondFmts\", */ T:1 },\n\t/*::[*/0x0231/*::]*/: { /* n:\"BrtEndSXCondFmts\", */ T:-1 },\n\t/*::[*/0x0232/*::]*/: { /* n:\"BrtBkHim\" */ },\n\t/*::[*/0x0234/*::]*/: { /* n:\"BrtColor\" */ },\n\t/*::[*/0x0235/*::]*/: { /* n:\"BrtBeginIndexedColors\", */ T:1 },\n\t/*::[*/0x0236/*::]*/: { /* n:\"BrtEndIndexedColors\", */ T:-1 },\n\t/*::[*/0x0239/*::]*/: { /* n:\"BrtBeginMRUColors\", */ T:1 },\n\t/*::[*/0x023A/*::]*/: { /* n:\"BrtEndMRUColors\", */ T:-1 },\n\t/*::[*/0x023C/*::]*/: { /* n:\"BrtMRUColor\" */ },\n\t/*::[*/0x023D/*::]*/: { /* n:\"BrtBeginDVals\", */ T:1 },\n\t/*::[*/0x023E/*::]*/: { /* n:\"BrtEndDVals\", */ T:-1 },\n\t/*::[*/0x0241/*::]*/: { /* n:\"BrtSupNameStart\" */ },\n\t/*::[*/0x0242/*::]*/: { /* n:\"BrtSupNameValueStart\" */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BrtSupNameValueEnd\" */ },\n\t/*::[*/0x0244/*::]*/: { /* n:\"BrtSupNameNum\" */ },\n\t/*::[*/0x0245/*::]*/: { /* n:\"BrtSupNameErr\" */ },\n\t/*::[*/0x0246/*::]*/: { /* n:\"BrtSupNameSt\" */ },\n\t/*::[*/0x0247/*::]*/: { /* n:\"BrtSupNameNil\" */ },\n\t/*::[*/0x0248/*::]*/: { /* n:\"BrtSupNameBool\" */ },\n\t/*::[*/0x0249/*::]*/: { /* n:\"BrtSupNameFmla\" */ },\n\t/*::[*/0x024A/*::]*/: { /* n:\"BrtSupNameBits\" */ },\n\t/*::[*/0x024B/*::]*/: { /* n:\"BrtSupNameEnd\" */ },\n\t/*::[*/0x024C/*::]*/: { /* n:\"BrtEndSupBook\", */ T:-1 },\n\t/*::[*/0x024D/*::]*/: { /* n:\"BrtCellSmartTagProperty\" */ },\n\t/*::[*/0x024E/*::]*/: { /* n:\"BrtBeginCellSmartTag\", */ T:1 },\n\t/*::[*/0x024F/*::]*/: { /* n:\"BrtEndCellSmartTag\", */ T:-1 },\n\t/*::[*/0x0250/*::]*/: { /* n:\"BrtBeginCellSmartTags\", */ T:1 },\n\t/*::[*/0x0251/*::]*/: { /* n:\"BrtEndCellSmartTags\", */ T:-1 },\n\t/*::[*/0x0252/*::]*/: { /* n:\"BrtBeginSmartTags\", */ T:1 },\n\t/*::[*/0x0253/*::]*/: { /* n:\"BrtEndSmartTags\", */ T:-1 },\n\t/*::[*/0x0254/*::]*/: { /* n:\"BrtSmartTagType\" */ },\n\t/*::[*/0x0255/*::]*/: { /* n:\"BrtBeginSmartTagTypes\", */ T:1 },\n\t/*::[*/0x0256/*::]*/: { /* n:\"BrtEndSmartTagTypes\", */ T:-1 },\n\t/*::[*/0x0257/*::]*/: { /* n:\"BrtBeginSXFilters\", */ T:1 },\n\t/*::[*/0x0258/*::]*/: { /* n:\"BrtEndSXFilters\", */ T:-1 },\n\t/*::[*/0x0259/*::]*/: { /* n:\"BrtBeginSXFILTER\", */ T:1 },\n\t/*::[*/0x025A/*::]*/: { /* n:\"BrtEndSXFilter\", */ T:-1 },\n\t/*::[*/0x025B/*::]*/: { /* n:\"BrtBeginFills\", */ T:1 },\n\t/*::[*/0x025C/*::]*/: { /* n:\"BrtEndFills\", */ T:-1 },\n\t/*::[*/0x025D/*::]*/: { /* n:\"BrtBeginCellWatches\", */ T:1 },\n\t/*::[*/0x025E/*::]*/: { /* n:\"BrtEndCellWatches\", */ T:-1 },\n\t/*::[*/0x025F/*::]*/: { /* n:\"BrtCellWatch\" */ },\n\t/*::[*/0x0260/*::]*/: { /* n:\"BrtBeginCRErrs\", */ T:1 },\n\t/*::[*/0x0261/*::]*/: { /* n:\"BrtEndCRErrs\", */ T:-1 },\n\t/*::[*/0x0262/*::]*/: { /* n:\"BrtCrashRecErr\" */ },\n\t/*::[*/0x0263/*::]*/: { /* n:\"BrtBeginFonts\", */ T:1 },\n\t/*::[*/0x0264/*::]*/: { /* n:\"BrtEndFonts\", */ T:-1 },\n\t/*::[*/0x0265/*::]*/: { /* n:\"BrtBeginBorders\", */ T:1 },\n\t/*::[*/0x0266/*::]*/: { /* n:\"BrtEndBorders\", */ T:-1 },\n\t/*::[*/0x0267/*::]*/: { /* n:\"BrtBeginFmts\", */ T:1 },\n\t/*::[*/0x0268/*::]*/: { /* n:\"BrtEndFmts\", */ T:-1 },\n\t/*::[*/0x0269/*::]*/: { /* n:\"BrtBeginCellXFs\", */ T:1 },\n\t/*::[*/0x026A/*::]*/: { /* n:\"BrtEndCellXFs\", */ T:-1 },\n\t/*::[*/0x026B/*::]*/: { /* n:\"BrtBeginStyles\", */ T:1 },\n\t/*::[*/0x026C/*::]*/: { /* n:\"BrtEndStyles\", */ T:-1 },\n\t/*::[*/0x0271/*::]*/: { /* n:\"BrtBigName\" */ },\n\t/*::[*/0x0272/*::]*/: { /* n:\"BrtBeginCellStyleXFs\", */ T:1 },\n\t/*::[*/0x0273/*::]*/: { /* n:\"BrtEndCellStyleXFs\", */ T:-1 },\n\t/*::[*/0x0274/*::]*/: { /* n:\"BrtBeginComments\", */ T:1 },\n\t/*::[*/0x0275/*::]*/: { /* n:\"BrtEndComments\", */ T:-1 },\n\t/*::[*/0x0276/*::]*/: { /* n:\"BrtBeginCommentAuthors\", */ T:1 },\n\t/*::[*/0x0277/*::]*/: { /* n:\"BrtEndCommentAuthors\", */ T:-1 },\n\t/*::[*/0x0278/*::]*/: { /* n:\"BrtCommentAuthor\", */ f:parse_BrtCommentAuthor },\n\t/*::[*/0x0279/*::]*/: { /* n:\"BrtBeginCommentList\", */ T:1 },\n\t/*::[*/0x027A/*::]*/: { /* n:\"BrtEndCommentList\", */ T:-1 },\n\t/*::[*/0x027B/*::]*/: { /* n:\"BrtBeginComment\", */ T:1, f:parse_BrtBeginComment},\n\t/*::[*/0x027C/*::]*/: { /* n:\"BrtEndComment\", */ T:-1 },\n\t/*::[*/0x027D/*::]*/: { /* n:\"BrtCommentText\", */ f:parse_BrtCommentText },\n\t/*::[*/0x027E/*::]*/: { /* n:\"BrtBeginOleObjects\", */ T:1 },\n\t/*::[*/0x027F/*::]*/: { /* n:\"BrtOleObject\" */ },\n\t/*::[*/0x0280/*::]*/: { /* n:\"BrtEndOleObjects\", */ T:-1 },\n\t/*::[*/0x0281/*::]*/: { /* n:\"BrtBeginSxrules\", */ T:1 },\n\t/*::[*/0x0282/*::]*/: { /* n:\"BrtEndSxRules\", */ T:-1 },\n\t/*::[*/0x0283/*::]*/: { /* n:\"BrtBeginActiveXControls\", */ T:1 },\n\t/*::[*/0x0284/*::]*/: { /* n:\"BrtActiveX\" */ },\n\t/*::[*/0x0285/*::]*/: { /* n:\"BrtEndActiveXControls\", */ T:-1 },\n\t/*::[*/0x0286/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembersSortBy\", */ T:1 },\n\t/*::[*/0x0288/*::]*/: { /* n:\"BrtBeginCellIgnoreECs\", */ T:1 },\n\t/*::[*/0x0289/*::]*/: { /* n:\"BrtCellIgnoreEC\" */ },\n\t/*::[*/0x028A/*::]*/: { /* n:\"BrtEndCellIgnoreECs\", */ T:-1 },\n\t/*::[*/0x028B/*::]*/: { /* n:\"BrtCsProp\", */ f:parse_BrtCsProp },\n\t/*::[*/0x028C/*::]*/: { /* n:\"BrtCsPageSetup\" */ },\n\t/*::[*/0x028D/*::]*/: { /* n:\"BrtBeginUserCsViews\", */ T:1 },\n\t/*::[*/0x028E/*::]*/: { /* n:\"BrtEndUserCsViews\", */ T:-1 },\n\t/*::[*/0x028F/*::]*/: { /* n:\"BrtBeginUserCsView\", */ T:1 },\n\t/*::[*/0x0290/*::]*/: { /* n:\"BrtEndUserCsView\", */ T:-1 },\n\t/*::[*/0x0291/*::]*/: { /* n:\"BrtBeginPcdSFCIEntries\", */ T:1 },\n\t/*::[*/0x0292/*::]*/: { /* n:\"BrtEndPCDSFCIEntries\", */ T:-1 },\n\t/*::[*/0x0293/*::]*/: { /* n:\"BrtPCDSFCIEntry\" */ },\n\t/*::[*/0x0294/*::]*/: { /* n:\"BrtBeginListParts\", */ T:1 },\n\t/*::[*/0x0295/*::]*/: { /* n:\"BrtListPart\" */ },\n\t/*::[*/0x0296/*::]*/: { /* n:\"BrtEndListParts\", */ T:-1 },\n\t/*::[*/0x0297/*::]*/: { /* n:\"BrtSheetCalcProp\" */ },\n\t/*::[*/0x0298/*::]*/: { /* n:\"BrtBeginFnGroup\", */ T:1 },\n\t/*::[*/0x0299/*::]*/: { /* n:\"BrtFnGroup\" */ },\n\t/*::[*/0x029A/*::]*/: { /* n:\"BrtEndFnGroup\", */ T:-1 },\n\t/*::[*/0x029B/*::]*/: { /* n:\"BrtSupAddin\" */ },\n\t/*::[*/0x029C/*::]*/: { /* n:\"BrtSXTDMPOrder\" */ },\n\t/*::[*/0x029D/*::]*/: { /* n:\"BrtCsProtection\" */ },\n\t/*::[*/0x029F/*::]*/: { /* n:\"BrtBeginWsSortMap\", */ T:1 },\n\t/*::[*/0x02A0/*::]*/: { /* n:\"BrtEndWsSortMap\", */ T:-1 },\n\t/*::[*/0x02A1/*::]*/: { /* n:\"BrtBeginRRSort\", */ T:1 },\n\t/*::[*/0x02A2/*::]*/: { /* n:\"BrtEndRRSort\", */ T:-1 },\n\t/*::[*/0x02A3/*::]*/: { /* n:\"BrtRRSortItem\" */ },\n\t/*::[*/0x02A4/*::]*/: { /* n:\"BrtFileSharingIso\" */ },\n\t/*::[*/0x02A5/*::]*/: { /* n:\"BrtBookProtectionIso\" */ },\n\t/*::[*/0x02A6/*::]*/: { /* n:\"BrtSheetProtectionIso\" */ },\n\t/*::[*/0x02A7/*::]*/: { /* n:\"BrtCsProtectionIso\" */ },\n\t/*::[*/0x02A8/*::]*/: { /* n:\"BrtRangeProtectionIso\" */ },\n\t/*::[*/0x02A9/*::]*/: { /* n:\"BrtDValList\" */ },\n\t/*::[*/0x0400/*::]*/: { /* n:\"BrtRwDescent\" */ },\n\t/*::[*/0x0401/*::]*/: { /* n:\"BrtKnownFonts\" */ },\n\t/*::[*/0x0402/*::]*/: { /* n:\"BrtBeginSXTupleSet\", */ T:1 },\n\t/*::[*/0x0403/*::]*/: { /* n:\"BrtEndSXTupleSet\", */ T:-1 },\n\t/*::[*/0x0404/*::]*/: { /* n:\"BrtBeginSXTupleSetHeader\", */ T:1 },\n\t/*::[*/0x0405/*::]*/: { /* n:\"BrtEndSXTupleSetHeader\", */ T:-1 },\n\t/*::[*/0x0406/*::]*/: { /* n:\"BrtSXTupleSetHeaderItem\" */ },\n\t/*::[*/0x0407/*::]*/: { /* n:\"BrtBeginSXTupleSetData\", */ T:1 },\n\t/*::[*/0x0408/*::]*/: { /* n:\"BrtEndSXTupleSetData\", */ T:-1 },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BrtBeginSXTupleSetRow\", */ T:1 },\n\t/*::[*/0x040A/*::]*/: { /* n:\"BrtEndSXTupleSetRow\", */ T:-1 },\n\t/*::[*/0x040B/*::]*/: { /* n:\"BrtSXTupleSetRowItem\" */ },\n\t/*::[*/0x040C/*::]*/: { /* n:\"BrtNameExt\" */ },\n\t/*::[*/0x040D/*::]*/: { /* n:\"BrtPCDH14\" */ },\n\t/*::[*/0x040E/*::]*/: { /* n:\"BrtBeginPCDCalcMem14\", */ T:1 },\n\t/*::[*/0x040F/*::]*/: { /* n:\"BrtEndPCDCalcMem14\", */ T:-1 },\n\t/*::[*/0x0410/*::]*/: { /* n:\"BrtSXTH14\" */ },\n\t/*::[*/0x0411/*::]*/: { /* n:\"BrtBeginSparklineGroup\", */ T:1 },\n\t/*::[*/0x0412/*::]*/: { /* n:\"BrtEndSparklineGroup\", */ T:-1 },\n\t/*::[*/0x0413/*::]*/: { /* n:\"BrtSparkline\" */ },\n\t/*::[*/0x0414/*::]*/: { /* n:\"BrtSXDI14\" */ },\n\t/*::[*/0x0415/*::]*/: { /* n:\"BrtWsFmtInfoEx14\" */ },\n\t/*::[*/0x0416/*::]*/: { /* n:\"BrtBeginConditionalFormatting14\", */ T:1 },\n\t/*::[*/0x0417/*::]*/: { /* n:\"BrtEndConditionalFormatting14\", */ T:-1 },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BrtBeginCFRule14\", */ T:1 },\n\t/*::[*/0x0419/*::]*/: { /* n:\"BrtEndCFRule14\", */ T:-1 },\n\t/*::[*/0x041A/*::]*/: { /* n:\"BrtCFVO14\" */ },\n\t/*::[*/0x041B/*::]*/: { /* n:\"BrtBeginDatabar14\", */ T:1 },\n\t/*::[*/0x041C/*::]*/: { /* n:\"BrtBeginIconSet14\", */ T:1 },\n\t/*::[*/0x041D/*::]*/: { /* n:\"BrtDVal14\", */ f: parse_BrtDVal14 },\n\t/*::[*/0x041E/*::]*/: { /* n:\"BrtBeginDVals14\", */ T:1 },\n\t/*::[*/0x041F/*::]*/: { /* n:\"BrtColor14\" */ },\n\t/*::[*/0x0420/*::]*/: { /* n:\"BrtBeginSparklines\", */ T:1 },\n\t/*::[*/0x0421/*::]*/: { /* n:\"BrtEndSparklines\", */ T:-1 },\n\t/*::[*/0x0422/*::]*/: { /* n:\"BrtBeginSparklineGroups\", */ T:1 },\n\t/*::[*/0x0423/*::]*/: { /* n:\"BrtEndSparklineGroups\", */ T:-1 },\n\t/*::[*/0x0425/*::]*/: { /* n:\"BrtSXVD14\" */ },\n\t/*::[*/0x0426/*::]*/: { /* n:\"BrtBeginSXView14\", */ T:1 },\n\t/*::[*/0x0427/*::]*/: { /* n:\"BrtEndSXView14\", */ T:-1 },\n\t/*::[*/0x0428/*::]*/: { /* n:\"BrtBeginSXView16\", */ T:1 },\n\t/*::[*/0x0429/*::]*/: { /* n:\"BrtEndSXView16\", */ T:-1 },\n\t/*::[*/0x042A/*::]*/: { /* n:\"BrtBeginPCD14\", */ T:1 },\n\t/*::[*/0x042B/*::]*/: { /* n:\"BrtEndPCD14\", */ T:-1 },\n\t/*::[*/0x042C/*::]*/: { /* n:\"BrtBeginExtConn14\", */ T:1 },\n\t/*::[*/0x042D/*::]*/: { /* n:\"BrtEndExtConn14\", */ T:-1 },\n\t/*::[*/0x042E/*::]*/: { /* n:\"BrtBeginSlicerCacheIDs\", */ T:1 },\n\t/*::[*/0x042F/*::]*/: { /* n:\"BrtEndSlicerCacheIDs\", */ T:-1 },\n\t/*::[*/0x0430/*::]*/: { /* n:\"BrtBeginSlicerCacheID\", */ T:1 },\n\t/*::[*/0x0431/*::]*/: { /* n:\"BrtEndSlicerCacheID\", */ T:-1 },\n\t/*::[*/0x0433/*::]*/: { /* n:\"BrtBeginSlicerCache\", */ T:1 },\n\t/*::[*/0x0434/*::]*/: { /* n:\"BrtEndSlicerCache\", */ T:-1 },\n\t/*::[*/0x0435/*::]*/: { /* n:\"BrtBeginSlicerCacheDef\", */ T:1 },\n\t/*::[*/0x0436/*::]*/: { /* n:\"BrtEndSlicerCacheDef\", */ T:-1 },\n\t/*::[*/0x0437/*::]*/: { /* n:\"BrtBeginSlicersEx\", */ T:1 },\n\t/*::[*/0x0438/*::]*/: { /* n:\"BrtEndSlicersEx\", */ T:-1 },\n\t/*::[*/0x0439/*::]*/: { /* n:\"BrtBeginSlicerEx\", */ T:1 },\n\t/*::[*/0x043A/*::]*/: { /* n:\"BrtEndSlicerEx\", */ T:-1 },\n\t/*::[*/0x043B/*::]*/: { /* n:\"BrtBeginSlicer\", */ T:1 },\n\t/*::[*/0x043C/*::]*/: { /* n:\"BrtEndSlicer\", */ T:-1 },\n\t/*::[*/0x043D/*::]*/: { /* n:\"BrtSlicerCachePivotTables\" */ },\n\t/*::[*/0x043E/*::]*/: { /* n:\"BrtBeginSlicerCacheOlapImpl\", */ T:1 },\n\t/*::[*/0x043F/*::]*/: { /* n:\"BrtEndSlicerCacheOlapImpl\", */ T:-1 },\n\t/*::[*/0x0440/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelsData\", */ T:1 },\n\t/*::[*/0x0441/*::]*/: { /* n:\"BrtEndSlicerCacheLevelsData\", */ T:-1 },\n\t/*::[*/0x0442/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelData\", */ T:1 },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BrtEndSlicerCacheLevelData\", */ T:-1 },\n\t/*::[*/0x0444/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRanges\", */ T:1 },\n\t/*::[*/0x0445/*::]*/: { /* n:\"BrtEndSlicerCacheSiRanges\", */ T:-1 },\n\t/*::[*/0x0446/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRange\", */ T:1 },\n\t/*::[*/0x0447/*::]*/: { /* n:\"BrtEndSlicerCacheSiRange\", */ T:-1 },\n\t/*::[*/0x0448/*::]*/: { /* n:\"BrtSlicerCacheOlapItem\" */ },\n\t/*::[*/0x0449/*::]*/: { /* n:\"BrtBeginSlicerCacheSelections\", */ T:1 },\n\t/*::[*/0x044A/*::]*/: { /* n:\"BrtSlicerCacheSelection\" */ },\n\t/*::[*/0x044B/*::]*/: { /* n:\"BrtEndSlicerCacheSelections\", */ T:-1 },\n\t/*::[*/0x044C/*::]*/: { /* n:\"BrtBeginSlicerCacheNative\", */ T:1 },\n\t/*::[*/0x044D/*::]*/: { /* n:\"BrtEndSlicerCacheNative\", */ T:-1 },\n\t/*::[*/0x044E/*::]*/: { /* n:\"BrtSlicerCacheNativeItem\" */ },\n\t/*::[*/0x044F/*::]*/: { /* n:\"BrtRangeProtection14\" */ },\n\t/*::[*/0x0450/*::]*/: { /* n:\"BrtRangeProtectionIso14\" */ },\n\t/*::[*/0x0451/*::]*/: { /* n:\"BrtCellIgnoreEC14\" */ },\n\t/*::[*/0x0457/*::]*/: { /* n:\"BrtList14\" */ },\n\t/*::[*/0x0458/*::]*/: { /* n:\"BrtCFIcon\" */ },\n\t/*::[*/0x0459/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x045A/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x045B/*::]*/: { /* n:\"BrtBeginSlicers\", */ T:1 },\n\t/*::[*/0x045C/*::]*/: { /* n:\"BrtEndSlicers\", */ T:-1 },\n\t/*::[*/0x045D/*::]*/: { /* n:\"BrtWbProp14\" */ },\n\t/*::[*/0x045E/*::]*/: { /* n:\"BrtBeginSXEdit\", */ T:1 },\n\t/*::[*/0x045F/*::]*/: { /* n:\"BrtEndSXEdit\", */ T:-1 },\n\t/*::[*/0x0460/*::]*/: { /* n:\"BrtBeginSXEdits\", */ T:1 },\n\t/*::[*/0x0461/*::]*/: { /* n:\"BrtEndSXEdits\", */ T:-1 },\n\t/*::[*/0x0462/*::]*/: { /* n:\"BrtBeginSXChange\", */ T:1 },\n\t/*::[*/0x0463/*::]*/: { /* n:\"BrtEndSXChange\", */ T:-1 },\n\t/*::[*/0x0464/*::]*/: { /* n:\"BrtBeginSXChanges\", */ T:1 },\n\t/*::[*/0x0465/*::]*/: { /* n:\"BrtEndSXChanges\", */ T:-1 },\n\t/*::[*/0x0466/*::]*/: { /* n:\"BrtSXTupleItems\" */ },\n\t/*::[*/0x0468/*::]*/: { /* n:\"BrtBeginSlicerStyle\", */ T:1 },\n\t/*::[*/0x0469/*::]*/: { /* n:\"BrtEndSlicerStyle\", */ T:-1 },\n\t/*::[*/0x046A/*::]*/: { /* n:\"BrtSlicerStyleElement\" */ },\n\t/*::[*/0x046B/*::]*/: { /* n:\"BrtBeginStyleSheetExt14\", */ T:1 },\n\t/*::[*/0x046C/*::]*/: { /* n:\"BrtEndStyleSheetExt14\", */ T:-1 },\n\t/*::[*/0x046D/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheID\", */ T:1 },\n\t/*::[*/0x046E/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheID\", */ T:-1 },\n\t/*::[*/0x046F/*::]*/: { /* n:\"BrtBeginConditionalFormattings\", */ T:1 },\n\t/*::[*/0x0470/*::]*/: { /* n:\"BrtEndConditionalFormattings\", */ T:-1 },\n\t/*::[*/0x0471/*::]*/: { /* n:\"BrtBeginPCDCalcMemExt\", */ T:1 },\n\t/*::[*/0x0472/*::]*/: { /* n:\"BrtEndPCDCalcMemExt\", */ T:-1 },\n\t/*::[*/0x0473/*::]*/: { /* n:\"BrtBeginPCDCalcMemsExt\", */ T:1 },\n\t/*::[*/0x0474/*::]*/: { /* n:\"BrtEndPCDCalcMemsExt\", */ T:-1 },\n\t/*::[*/0x0475/*::]*/: { /* n:\"BrtPCDField14\" */ },\n\t/*::[*/0x0476/*::]*/: { /* n:\"BrtBeginSlicerStyles\", */ T:1 },\n\t/*::[*/0x0477/*::]*/: { /* n:\"BrtEndSlicerStyles\", */ T:-1 },\n\t/*::[*/0x0478/*::]*/: { /* n:\"BrtBeginSlicerStyleElements\", */ T:1 },\n\t/*::[*/0x0479/*::]*/: { /* n:\"BrtEndSlicerStyleElements\", */ T:-1 },\n\t/*::[*/0x047A/*::]*/: { /* n:\"BrtCFRuleExt\" */ },\n\t/*::[*/0x047B/*::]*/: { /* n:\"BrtBeginSXCondFmt14\", */ T:1 },\n\t/*::[*/0x047C/*::]*/: { /* n:\"BrtEndSXCondFmt14\", */ T:-1 },\n\t/*::[*/0x047D/*::]*/: { /* n:\"BrtBeginSXCondFmts14\", */ T:1 },\n\t/*::[*/0x047E/*::]*/: { /* n:\"BrtEndSXCondFmts14\", */ T:-1 },\n\t/*::[*/0x0480/*::]*/: { /* n:\"BrtBeginSortCond14\", */ T:1 },\n\t/*::[*/0x0481/*::]*/: { /* n:\"BrtEndSortCond14\", */ T:-1 },\n\t/*::[*/0x0482/*::]*/: { /* n:\"BrtEndDVals14\", */ T:-1 },\n\t/*::[*/0x0483/*::]*/: { /* n:\"BrtEndIconSet14\", */ T:-1 },\n\t/*::[*/0x0484/*::]*/: { /* n:\"BrtEndDatabar14\", */ T:-1 },\n\t/*::[*/0x0485/*::]*/: { /* n:\"BrtBeginColorScale14\", */ T:1 },\n\t/*::[*/0x0486/*::]*/: { /* n:\"BrtEndColorScale14\", */ T:-1 },\n\t/*::[*/0x0487/*::]*/: { /* n:\"BrtBeginSxrules14\", */ T:1 },\n\t/*::[*/0x0488/*::]*/: { /* n:\"BrtEndSxrules14\", */ T:-1 },\n\t/*::[*/0x0489/*::]*/: { /* n:\"BrtBeginPRule14\", */ T:1 },\n\t/*::[*/0x048A/*::]*/: { /* n:\"BrtEndPRule14\", */ T:-1 },\n\t/*::[*/0x048B/*::]*/: { /* n:\"BrtBeginPRFilters14\", */ T:1 },\n\t/*::[*/0x048C/*::]*/: { /* n:\"BrtEndPRFilters14\", */ T:-1 },\n\t/*::[*/0x048D/*::]*/: { /* n:\"BrtBeginPRFilter14\", */ T:1 },\n\t/*::[*/0x048E/*::]*/: { /* n:\"BrtEndPRFilter14\", */ T:-1 },\n\t/*::[*/0x048F/*::]*/: { /* n:\"BrtBeginPRFItem14\", */ T:1 },\n\t/*::[*/0x0490/*::]*/: { /* n:\"BrtEndPRFItem14\", */ T:-1 },\n\t/*::[*/0x0491/*::]*/: { /* n:\"BrtBeginCellIgnoreECs14\", */ T:1 },\n\t/*::[*/0x0492/*::]*/: { /* n:\"BrtEndCellIgnoreECs14\", */ T:-1 },\n\t/*::[*/0x0493/*::]*/: { /* n:\"BrtDxf14\" */ },\n\t/*::[*/0x0494/*::]*/: { /* n:\"BrtBeginDxF14s\", */ T:1 },\n\t/*::[*/0x0495/*::]*/: { /* n:\"BrtEndDxf14s\", */ T:-1 },\n\t/*::[*/0x0499/*::]*/: { /* n:\"BrtFilter14\" */ },\n\t/*::[*/0x049A/*::]*/: { /* n:\"BrtBeginCustomFilters14\", */ T:1 },\n\t/*::[*/0x049C/*::]*/: { /* n:\"BrtCustomFilter14\" */ },\n\t/*::[*/0x049D/*::]*/: { /* n:\"BrtIconFilter14\" */ },\n\t/*::[*/0x049E/*::]*/: { /* n:\"BrtPivotCacheConnectionName\" */ },\n\t/*::[*/0x0800/*::]*/: { /* n:\"BrtBeginDecoupledPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0801/*::]*/: { /* n:\"BrtEndDecoupledPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0802/*::]*/: { /* n:\"BrtDecoupledPivotCacheID\" */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"BrtBeginPivotTableRefs\", */ T:1 },\n\t/*::[*/0x0804/*::]*/: { /* n:\"BrtEndPivotTableRefs\", */ T:-1 },\n\t/*::[*/0x0805/*::]*/: { /* n:\"BrtPivotTableRef\" */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"BrtSlicerCacheBookPivotTables\" */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"BrtBeginSxvcells\", */ T:1 },\n\t/*::[*/0x0808/*::]*/: { /* n:\"BrtEndSxvcells\", */ T:-1 },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BrtBeginSxRow\", */ T:1 },\n\t/*::[*/0x080A/*::]*/: { /* n:\"BrtEndSxRow\", */ T:-1 },\n\t/*::[*/0x080C/*::]*/: { /* n:\"BrtPcdCalcMem15\" */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"BrtQsi15\" */ },\n\t/*::[*/0x0814/*::]*/: { /* n:\"BrtBeginWebExtensions\", */ T:1 },\n\t/*::[*/0x0815/*::]*/: { /* n:\"BrtEndWebExtensions\", */ T:-1 },\n\t/*::[*/0x0816/*::]*/: { /* n:\"BrtWebExtension\" */ },\n\t/*::[*/0x0817/*::]*/: { /* n:\"BrtAbsPath15\" */ },\n\t/*::[*/0x0818/*::]*/: { /* n:\"BrtBeginPivotTableUISettings\", */ T:1 },\n\t/*::[*/0x0819/*::]*/: { /* n:\"BrtEndPivotTableUISettings\", */ T:-1 },\n\t/*::[*/0x081B/*::]*/: { /* n:\"BrtTableSlicerCacheIDs\" */ },\n\t/*::[*/0x081C/*::]*/: { /* n:\"BrtTableSlicerCacheID\" */ },\n\t/*::[*/0x081D/*::]*/: { /* n:\"BrtBeginTableSlicerCache\", */ T:1 },\n\t/*::[*/0x081E/*::]*/: { /* n:\"BrtEndTableSlicerCache\", */ T:-1 },\n\t/*::[*/0x081F/*::]*/: { /* n:\"BrtSxFilter15\" */ },\n\t/*::[*/0x0820/*::]*/: { /* n:\"BrtBeginTimelineCachePivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0821/*::]*/: { /* n:\"BrtEndTimelineCachePivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0822/*::]*/: { /* n:\"BrtTimelineCachePivotCacheID\" */ },\n\t/*::[*/0x0823/*::]*/: { /* n:\"BrtBeginTimelineCacheIDs\", */ T:1 },\n\t/*::[*/0x0824/*::]*/: { /* n:\"BrtEndTimelineCacheIDs\", */ T:-1 },\n\t/*::[*/0x0825/*::]*/: { /* n:\"BrtBeginTimelineCacheID\", */ T:1 },\n\t/*::[*/0x0826/*::]*/: { /* n:\"BrtEndTimelineCacheID\", */ T:-1 },\n\t/*::[*/0x0827/*::]*/: { /* n:\"BrtBeginTimelinesEx\", */ T:1 },\n\t/*::[*/0x0828/*::]*/: { /* n:\"BrtEndTimelinesEx\", */ T:-1 },\n\t/*::[*/0x0829/*::]*/: { /* n:\"BrtBeginTimelineEx\", */ T:1 },\n\t/*::[*/0x082A/*::]*/: { /* n:\"BrtEndTimelineEx\", */ T:-1 },\n\t/*::[*/0x082B/*::]*/: { /* n:\"BrtWorkBookPr15\" */ },\n\t/*::[*/0x082C/*::]*/: { /* n:\"BrtPCDH15\" */ },\n\t/*::[*/0x082D/*::]*/: { /* n:\"BrtBeginTimelineStyle\", */ T:1 },\n\t/*::[*/0x082E/*::]*/: { /* n:\"BrtEndTimelineStyle\", */ T:-1 },\n\t/*::[*/0x082F/*::]*/: { /* n:\"BrtTimelineStyleElement\" */ },\n\t/*::[*/0x0830/*::]*/: { /* n:\"BrtBeginTimelineStylesheetExt15\", */ T:1 },\n\t/*::[*/0x0831/*::]*/: { /* n:\"BrtEndTimelineStylesheetExt15\", */ T:-1 },\n\t/*::[*/0x0832/*::]*/: { /* n:\"BrtBeginTimelineStyles\", */ T:1 },\n\t/*::[*/0x0833/*::]*/: { /* n:\"BrtEndTimelineStyles\", */ T:-1 },\n\t/*::[*/0x0834/*::]*/: { /* n:\"BrtBeginTimelineStyleElements\", */ T:1 },\n\t/*::[*/0x0835/*::]*/: { /* n:\"BrtEndTimelineStyleElements\", */ T:-1 },\n\t/*::[*/0x0836/*::]*/: { /* n:\"BrtDxf15\" */ },\n\t/*::[*/0x0837/*::]*/: { /* n:\"BrtBeginDxfs15\", */ T:1 },\n\t/*::[*/0x0838/*::]*/: { /* n:\"BrtEndDxfs15\", */ T:-1 },\n\t/*::[*/0x0839/*::]*/: { /* n:\"BrtSlicerCacheHideItemsWithNoData\" */ },\n\t/*::[*/0x083A/*::]*/: { /* n:\"BrtBeginItemUniqueNames\", */ T:1 },\n\t/*::[*/0x083B/*::]*/: { /* n:\"BrtEndItemUniqueNames\", */ T:-1 },\n\t/*::[*/0x083C/*::]*/: { /* n:\"BrtItemUniqueName\" */ },\n\t/*::[*/0x083D/*::]*/: { /* n:\"BrtBeginExtConn15\", */ T:1 },\n\t/*::[*/0x083E/*::]*/: { /* n:\"BrtEndExtConn15\", */ T:-1 },\n\t/*::[*/0x083F/*::]*/: { /* n:\"BrtBeginOledbPr15\", */ T:1 },\n\t/*::[*/0x0840/*::]*/: { /* n:\"BrtEndOledbPr15\", */ T:-1 },\n\t/*::[*/0x0841/*::]*/: { /* n:\"BrtBeginDataFeedPr15\", */ T:1 },\n\t/*::[*/0x0842/*::]*/: { /* n:\"BrtEndDataFeedPr15\", */ T:-1 },\n\t/*::[*/0x0843/*::]*/: { /* n:\"BrtTextPr15\" */ },\n\t/*::[*/0x0844/*::]*/: { /* n:\"BrtRangePr15\" */ },\n\t/*::[*/0x0845/*::]*/: { /* n:\"BrtDbCommand15\" */ },\n\t/*::[*/0x0846/*::]*/: { /* n:\"BrtBeginDbTables15\", */ T:1 },\n\t/*::[*/0x0847/*::]*/: { /* n:\"BrtEndDbTables15\", */ T:-1 },\n\t/*::[*/0x0848/*::]*/: { /* n:\"BrtDbTable15\" */ },\n\t/*::[*/0x0849/*::]*/: { /* n:\"BrtBeginDataModel\", */ T:1 },\n\t/*::[*/0x084A/*::]*/: { /* n:\"BrtEndDataModel\", */ T:-1 },\n\t/*::[*/0x084B/*::]*/: { /* n:\"BrtBeginModelTables\", */ T:1 },\n\t/*::[*/0x084C/*::]*/: { /* n:\"BrtEndModelTables\", */ T:-1 },\n\t/*::[*/0x084D/*::]*/: { /* n:\"BrtModelTable\" */ },\n\t/*::[*/0x084E/*::]*/: { /* n:\"BrtBeginModelRelationships\", */ T:1 },\n\t/*::[*/0x084F/*::]*/: { /* n:\"BrtEndModelRelationships\", */ T:-1 },\n\t/*::[*/0x0850/*::]*/: { /* n:\"BrtModelRelationship\" */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"BrtBeginECTxtWiz15\", */ T:1 },\n\t/*::[*/0x0852/*::]*/: { /* n:\"BrtEndECTxtWiz15\", */ T:-1 },\n\t/*::[*/0x0853/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst15\", */ T:1 },\n\t/*::[*/0x0854/*::]*/: { /* n:\"BrtEndECTWFldInfoLst15\", */ T:-1 },\n\t/*::[*/0x0855/*::]*/: { /* n:\"BrtBeginECTWFldInfo15\", */ T:1 },\n\t/*::[*/0x0856/*::]*/: { /* n:\"BrtFieldListActiveItem\" */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"BrtPivotCacheIdVersion\" */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"BrtSXDI15\" */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"BrtBeginModelTimeGroupings\", */ T:1 },\n\t/*::[*/0x085A/*::]*/: { /* n:\"BrtEndModelTimeGroupings\", */ T:-1 },\n\t/*::[*/0x085B/*::]*/: { /* n:\"BrtBeginModelTimeGrouping\", */ T:1 },\n\t/*::[*/0x085C/*::]*/: { /* n:\"BrtEndModelTimeGrouping\", */ T:-1 },\n\t/*::[*/0x085D/*::]*/: { /* n:\"BrtModelTimeGroupingCalcCol\" */ },\n\t/*::[*/0x0C00/*::]*/: { /* n:\"BrtUid\" */ },\n\t/*::[*/0x0C01/*::]*/: { /* n:\"BrtRevisionPtr\" */ },\n\t/*::[*/0x1000/*::]*/: { /* n:\"BrtBeginDynamicArrayPr\", */ T:1 },\n\t/*::[*/0x1001/*::]*/: { /* n:\"BrtEndDynamicArrayPr\", */ T:-1 },\n\t/*::[*/0x138A/*::]*/: { /* n:\"BrtBeginRichValueBlock\", */ T:1 },\n\t/*::[*/0x138B/*::]*/: { /* n:\"BrtEndRichValueBlock\", */ T:-1 },\n\t/*::[*/0x13D9/*::]*/: { /* n:\"BrtBeginRichFilters\", */ T:1 },\n\t/*::[*/0x13DA/*::]*/: { /* n:\"BrtEndRichFilters\", */ T:-1 },\n\t/*::[*/0x13DB/*::]*/: { /* n:\"BrtRichFilter\" */ },\n\t/*::[*/0x13DC/*::]*/: { /* n:\"BrtBeginRichFilterColumn\", */ T:1 },\n\t/*::[*/0x13DD/*::]*/: { /* n:\"BrtEndRichFilterColumn\", */ T:-1 },\n\t/*::[*/0x13DE/*::]*/: { /* n:\"BrtBeginCustomRichFilters\", */ T:1 },\n\t/*::[*/0x13DF/*::]*/: { /* n:\"BrtEndCustomRichFilters\", */ T:-1 },\n\t/*::[*/0x13E0/*::]*/: { /* n:\"BrtCustomRichFilter\" */ },\n\t/*::[*/0x13E1/*::]*/: { /* n:\"BrtTop10RichFilter\" */ },\n\t/*::[*/0x13E2/*::]*/: { /* n:\"BrtDynamicRichFilter\" */ },\n\t/*::[*/0x13E4/*::]*/: { /* n:\"BrtBeginRichSortCondition\", */ T:1 },\n\t/*::[*/0x13E5/*::]*/: { /* n:\"BrtEndRichSortCondition\", */ T:-1 },\n\t/*::[*/0x13E6/*::]*/: { /* n:\"BrtRichFilterDateGroupItem\" */ },\n\t/*::[*/0x13E7/*::]*/: { /* n:\"BrtBeginCalcFeatures\", */ T:1 },\n\t/*::[*/0x13E8/*::]*/: { /* n:\"BrtEndCalcFeatures\", */ T:-1 },\n\t/*::[*/0x13E9/*::]*/: { /* n:\"BrtCalcFeature\" */ },\n\t/*::[*/0x13EB/*::]*/: { /* n:\"BrtExternalLinksPr\" */ },\n\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n};\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n\t/*::[*/0x0006/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x000a/*::]*/: { /* n:\"EOF\", */ f:parsenoop2 },\n\t/*::[*/0x000c/*::]*/: { /* n:\"CalcCount\", */ f:parseuint16 }, //\n\t/*::[*/0x000d/*::]*/: { /* n:\"CalcMode\", */ f:parseuint16 }, //\n\t/*::[*/0x000e/*::]*/: { /* n:\"CalcPrecision\", */ f:parsebool }, //\n\t/*::[*/0x000f/*::]*/: { /* n:\"CalcRefMode\", */ f:parsebool }, //\n\t/*::[*/0x0010/*::]*/: { /* n:\"CalcDelta\", */ f:parse_Xnum }, //\n\t/*::[*/0x0011/*::]*/: { /* n:\"CalcIter\", */ f:parsebool }, //\n\t/*::[*/0x0012/*::]*/: { /* n:\"Protect\", */ f:parsebool },\n\t/*::[*/0x0013/*::]*/: { /* n:\"Password\", */ f:parseuint16 },\n\t/*::[*/0x0014/*::]*/: { /* n:\"Header\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0015/*::]*/: { /* n:\"Footer\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0017/*::]*/: { /* n:\"ExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x0018/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0019/*::]*/: { /* n:\"WinProtect\", */ f:parsebool },\n\t/*::[*/0x001a/*::]*/: { /* n:\"VerticalPageBreaks\", */ },\n\t/*::[*/0x001b/*::]*/: { /* n:\"HorizontalPageBreaks\", */ },\n\t/*::[*/0x001c/*::]*/: { /* n:\"Note\", */ f:parse_Note },\n\t/*::[*/0x001d/*::]*/: { /* n:\"Selection\", */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"Date1904\", */ f:parsebool },\n\t/*::[*/0x0023/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0026/*::]*/: { /* n:\"LeftMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0027/*::]*/: { /* n:\"RightMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0028/*::]*/: { /* n:\"TopMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0029/*::]*/: { /* n:\"BottomMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x002a/*::]*/: { /* n:\"PrintRowCol\", */ f:parsebool },\n\t/*::[*/0x002b/*::]*/: { /* n:\"PrintGrid\", */ f:parsebool },\n\t/*::[*/0x002f/*::]*/: { /* n:\"FilePass\", */ f:parse_FilePass },\n\t/*::[*/0x0031/*::]*/: { /* n:\"Font\", */ f:parse_Font },\n\t/*::[*/0x0033/*::]*/: { /* n:\"PrintSize\", */ f:parseuint16 },\n\t/*::[*/0x003c/*::]*/: { /* n:\"Continue\", */ },\n\t/*::[*/0x003d/*::]*/: { /* n:\"Window1\", */ f:parse_Window1 },\n\t/*::[*/0x0040/*::]*/: { /* n:\"Backup\", */ f:parsebool },\n\t/*::[*/0x0041/*::]*/: { /* n:\"Pane\", */ f:parse_Pane },\n\t/*::[*/0x0042/*::]*/: { /* n:\"CodePage\", */ f:parseuint16 },\n\t/*::[*/0x004d/*::]*/: { /* n:\"Pls\", */ },\n\t/*::[*/0x0050/*::]*/: { /* n:\"DCon\", */ },\n\t/*::[*/0x0051/*::]*/: { /* n:\"DConRef\", */ },\n\t/*::[*/0x0052/*::]*/: { /* n:\"DConName\", */ },\n\t/*::[*/0x0055/*::]*/: { /* n:\"DefColWidth\", */ f:parseuint16 },\n\t/*::[*/0x0059/*::]*/: { /* n:\"XCT\", */ },\n\t/*::[*/0x005a/*::]*/: { /* n:\"CRN\", */ },\n\t/*::[*/0x005b/*::]*/: { /* n:\"FileSharing\", */ },\n\t/*::[*/0x005c/*::]*/: { /* n:\"WriteAccess\", */ f:parse_WriteAccess },\n\t/*::[*/0x005d/*::]*/: { /* n:\"Obj\", */ f:parse_Obj },\n\t/*::[*/0x005e/*::]*/: { /* n:\"Uncalced\", */ },\n\t/*::[*/0x005f/*::]*/: { /* n:\"CalcSaveRecalc\", */ f:parsebool }, //\n\t/*::[*/0x0060/*::]*/: { /* n:\"Template\", */ },\n\t/*::[*/0x0061/*::]*/: { /* n:\"Intl\", */ },\n\t/*::[*/0x0063/*::]*/: { /* n:\"ObjProtect\", */ f:parsebool },\n\t/*::[*/0x007d/*::]*/: { /* n:\"ColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x0080/*::]*/: { /* n:\"Guts\", */ f:parse_Guts },\n\t/*::[*/0x0081/*::]*/: { /* n:\"WsBool\", */ f:parse_WsBool },\n\t/*::[*/0x0082/*::]*/: { /* n:\"GridSet\", */ f:parseuint16 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"HCenter\", */ f:parsebool },\n\t/*::[*/0x0084/*::]*/: { /* n:\"VCenter\", */ f:parsebool },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BoundSheet8\", */ f:parse_BoundSheet8 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"WriteProtect\", */ },\n\t/*::[*/0x008c/*::]*/: { /* n:\"Country\", */ f:parse_Country },\n\t/*::[*/0x008d/*::]*/: { /* n:\"HideObj\", */ f:parseuint16 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"Sort\", */ },\n\t/*::[*/0x0092/*::]*/: { /* n:\"Palette\", */ f:parse_Palette },\n\t/*::[*/0x0097/*::]*/: { /* n:\"Sync\", */ },\n\t/*::[*/0x0098/*::]*/: { /* n:\"LPr\", */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"DxGCol\", */ },\n\t/*::[*/0x009a/*::]*/: { /* n:\"FnGroupName\", */ },\n\t/*::[*/0x009b/*::]*/: { /* n:\"FilterMode\", */ },\n\t/*::[*/0x009c/*::]*/: { /* n:\"BuiltInFnGroupCount\", */ f:parseuint16 },\n\t/*::[*/0x009d/*::]*/: { /* n:\"AutoFilterInfo\", */ },\n\t/*::[*/0x009e/*::]*/: { /* n:\"AutoFilter\", */ },\n\t/*::[*/0x00a0/*::]*/: { /* n:\"Scl\", */ f:parse_Scl },\n\t/*::[*/0x00a1/*::]*/: { /* n:\"Setup\", */ f:parse_Setup },\n\t/*::[*/0x00ae/*::]*/: { /* n:\"ScenMan\", */ },\n\t/*::[*/0x00af/*::]*/: { /* n:\"SCENARIO\", */ },\n\t/*::[*/0x00b0/*::]*/: { /* n:\"SxView\", */ },\n\t/*::[*/0x00b1/*::]*/: { /* n:\"Sxvd\", */ },\n\t/*::[*/0x00b2/*::]*/: { /* n:\"SXVI\", */ },\n\t/*::[*/0x00b4/*::]*/: { /* n:\"SxIvd\", */ },\n\t/*::[*/0x00b5/*::]*/: { /* n:\"SXLI\", */ },\n\t/*::[*/0x00b6/*::]*/: { /* n:\"SXPI\", */ },\n\t/*::[*/0x00b8/*::]*/: { /* n:\"DocRoute\", */ },\n\t/*::[*/0x00b9/*::]*/: { /* n:\"RecipName\", */ },\n\t/*::[*/0x00bd/*::]*/: { /* n:\"MulRk\", */ f:parse_MulRk },\n\t/*::[*/0x00be/*::]*/: { /* n:\"MulBlank\", */ f:parse_MulBlank },\n\t/*::[*/0x00c1/*::]*/: { /* n:\"Mms\", */ f:parsenoop2 },\n\t/*::[*/0x00c5/*::]*/: { /* n:\"SXDI\", */ },\n\t/*::[*/0x00c6/*::]*/: { /* n:\"SXDB\", */ },\n\t/*::[*/0x00c7/*::]*/: { /* n:\"SXFDB\", */ },\n\t/*::[*/0x00c8/*::]*/: { /* n:\"SXDBB\", */ },\n\t/*::[*/0x00c9/*::]*/: { /* n:\"SXNum\", */ },\n\t/*::[*/0x00ca/*::]*/: { /* n:\"SxBool\", */ f:parsebool },\n\t/*::[*/0x00cb/*::]*/: { /* n:\"SxErr\", */ },\n\t/*::[*/0x00cc/*::]*/: { /* n:\"SXInt\", */ },\n\t/*::[*/0x00cd/*::]*/: { /* n:\"SXString\", */ },\n\t/*::[*/0x00ce/*::]*/: { /* n:\"SXDtr\", */ },\n\t/*::[*/0x00cf/*::]*/: { /* n:\"SxNil\", */ },\n\t/*::[*/0x00d0/*::]*/: { /* n:\"SXTbl\", */ },\n\t/*::[*/0x00d1/*::]*/: { /* n:\"SXTBRGIITM\", */ },\n\t/*::[*/0x00d2/*::]*/: { /* n:\"SxTbpg\", */ },\n\t/*::[*/0x00d3/*::]*/: { /* n:\"ObProj\", */ },\n\t/*::[*/0x00d5/*::]*/: { /* n:\"SXStreamID\", */ },\n\t/*::[*/0x00d7/*::]*/: { /* n:\"DBCell\", */ },\n\t/*::[*/0x00d8/*::]*/: { /* n:\"SXRng\", */ },\n\t/*::[*/0x00d9/*::]*/: { /* n:\"SxIsxoper\", */ },\n\t/*::[*/0x00da/*::]*/: { /* n:\"BookBool\", */ f:parseuint16 },\n\t/*::[*/0x00dc/*::]*/: { /* n:\"DbOrParamQry\", */ },\n\t/*::[*/0x00dd/*::]*/: { /* n:\"ScenarioProtect\", */ f:parsebool },\n\t/*::[*/0x00de/*::]*/: { /* n:\"OleObjectSize\", */ },\n\t/*::[*/0x00e0/*::]*/: { /* n:\"XF\", */ f:parse_XF },\n\t/*::[*/0x00e1/*::]*/: { /* n:\"InterfaceHdr\", */ f:parse_InterfaceHdr },\n\t/*::[*/0x00e2/*::]*/: { /* n:\"InterfaceEnd\", */ f:parsenoop2 },\n\t/*::[*/0x00e3/*::]*/: { /* n:\"SXVS\", */ },\n\t/*::[*/0x00e5/*::]*/: { /* n:\"MergeCells\", */ f:parse_MergeCells },\n\t/*::[*/0x00e9/*::]*/: { /* n:\"BkHim\", */ },\n\t/*::[*/0x00eb/*::]*/: { /* n:\"MsoDrawingGroup\", */ },\n\t/*::[*/0x00ec/*::]*/: { /* n:\"MsoDrawing\", */ },\n\t/*::[*/0x00ed/*::]*/: { /* n:\"MsoDrawingSelection\", */ },\n\t/*::[*/0x00ef/*::]*/: { /* n:\"PhoneticInfo\", */ },\n\t/*::[*/0x00f0/*::]*/: { /* n:\"SxRule\", */ },\n\t/*::[*/0x00f1/*::]*/: { /* n:\"SXEx\", */ },\n\t/*::[*/0x00f2/*::]*/: { /* n:\"SxFilt\", */ },\n\t/*::[*/0x00f4/*::]*/: { /* n:\"SxDXF\", */ },\n\t/*::[*/0x00f5/*::]*/: { /* n:\"SxItm\", */ },\n\t/*::[*/0x00f6/*::]*/: { /* n:\"SxName\", */ },\n\t/*::[*/0x00f7/*::]*/: { /* n:\"SxSelect\", */ },\n\t/*::[*/0x00f8/*::]*/: { /* n:\"SXPair\", */ },\n\t/*::[*/0x00f9/*::]*/: { /* n:\"SxFmla\", */ },\n\t/*::[*/0x00fb/*::]*/: { /* n:\"SxFormat\", */ },\n\t/*::[*/0x00fc/*::]*/: { /* n:\"SST\", */ f:parse_SST },\n\t/*::[*/0x00fd/*::]*/: { /* n:\"LabelSst\", */ f:parse_LabelSst },\n\t/*::[*/0x00ff/*::]*/: { /* n:\"ExtSST\", */ f:parse_ExtSST },\n\t/*::[*/0x0100/*::]*/: { /* n:\"SXVDEx\", */ },\n\t/*::[*/0x0103/*::]*/: { /* n:\"SXFormula\", */ },\n\t/*::[*/0x0122/*::]*/: { /* n:\"SXDBEx\", */ },\n\t/*::[*/0x0137/*::]*/: { /* n:\"RRDInsDel\", */ },\n\t/*::[*/0x0138/*::]*/: { /* n:\"RRDHead\", */ },\n\t/*::[*/0x013b/*::]*/: { /* n:\"RRDChgCell\", */ },\n\t/*::[*/0x013d/*::]*/: { /* n:\"RRTabId\", */ f:parseuint16a },\n\t/*::[*/0x013e/*::]*/: { /* n:\"RRDRenSheet\", */ },\n\t/*::[*/0x013f/*::]*/: { /* n:\"RRSort\", */ },\n\t/*::[*/0x0140/*::]*/: { /* n:\"RRDMove\", */ },\n\t/*::[*/0x014a/*::]*/: { /* n:\"RRFormat\", */ },\n\t/*::[*/0x014b/*::]*/: { /* n:\"RRAutoFmt\", */ },\n\t/*::[*/0x014d/*::]*/: { /* n:\"RRInsertSh\", */ },\n\t/*::[*/0x014e/*::]*/: { /* n:\"RRDMoveBegin\", */ },\n\t/*::[*/0x014f/*::]*/: { /* n:\"RRDMoveEnd\", */ },\n\t/*::[*/0x0150/*::]*/: { /* n:\"RRDInsDelBegin\", */ },\n\t/*::[*/0x0151/*::]*/: { /* n:\"RRDInsDelEnd\", */ },\n\t/*::[*/0x0152/*::]*/: { /* n:\"RRDConflict\", */ },\n\t/*::[*/0x0153/*::]*/: { /* n:\"RRDDefName\", */ },\n\t/*::[*/0x0154/*::]*/: { /* n:\"RRDRstEtxp\", */ },\n\t/*::[*/0x015f/*::]*/: { /* n:\"LRng\", */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"UsesELFs\", */ f:parsebool },\n\t/*::[*/0x0161/*::]*/: { /* n:\"DSF\", */ f:parsenoop2 },\n\t/*::[*/0x0191/*::]*/: { /* n:\"CUsr\", */ },\n\t/*::[*/0x0192/*::]*/: { /* n:\"CbUsr\", */ },\n\t/*::[*/0x0193/*::]*/: { /* n:\"UsrInfo\", */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"UsrExcl\", */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"FileLock\", */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"RRDInfo\", */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BCUsrs\", */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"UsrChk\", */ },\n\t/*::[*/0x01a9/*::]*/: { /* n:\"UserBView\", */ },\n\t/*::[*/0x01aa/*::]*/: { /* n:\"UserSViewBegin\", */ },\n\t/*::[*/0x01ab/*::]*/: { /* n:\"UserSViewEnd\", */ },\n\t/*::[*/0x01ac/*::]*/: { /* n:\"RRDUserView\", */ },\n\t/*::[*/0x01ad/*::]*/: { /* n:\"Qsi\", */ },\n\t/*::[*/0x01ae/*::]*/: { /* n:\"SupBook\", */ f:parse_SupBook },\n\t/*::[*/0x01af/*::]*/: { /* n:\"Prot4Rev\", */ f:parsebool },\n\t/*::[*/0x01b0/*::]*/: { /* n:\"CondFmt\", */ },\n\t/*::[*/0x01b1/*::]*/: { /* n:\"CF\", */ },\n\t/*::[*/0x01b2/*::]*/: { /* n:\"DVal\", */ },\n\t/*::[*/0x01b5/*::]*/: { /* n:\"DConBin\", */ },\n\t/*::[*/0x01b6/*::]*/: { /* n:\"TxO\", */ f:parse_TxO },\n\t/*::[*/0x01b7/*::]*/: { /* n:\"RefreshAll\", */ f:parsebool }, //\n\t/*::[*/0x01b8/*::]*/: { /* n:\"HLink\", */ f:parse_HLink },\n\t/*::[*/0x01b9/*::]*/: { /* n:\"Lel\", */ },\n\t/*::[*/0x01ba/*::]*/: { /* n:\"CodeName\", */ f:parse_XLUnicodeString },\n\t/*::[*/0x01bb/*::]*/: { /* n:\"SXFDBType\", */ },\n\t/*::[*/0x01bc/*::]*/: { /* n:\"Prot4RevPass\", */ f:parseuint16 },\n\t/*::[*/0x01bd/*::]*/: { /* n:\"ObNoMacros\", */ },\n\t/*::[*/0x01be/*::]*/: { /* n:\"Dv\", */ },\n\t/*::[*/0x01c0/*::]*/: { /* n:\"Excel9File\", */ f:parsenoop2 },\n\t/*::[*/0x01c1/*::]*/: { /* n:\"RecalcId\", */ f:parse_RecalcId, r:2},\n\t/*::[*/0x01c2/*::]*/: { /* n:\"EntExU2\", */ f:parsenoop2 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0201/*::]*/: { /* n:\"Blank\", */ f:parse_Blank },\n\t/*::[*/0x0203/*::]*/: { /* n:\"Number\", */ f:parse_Number },\n\t/*::[*/0x0204/*::]*/: { /* n:\"Label\", */ f:parse_Label },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0207/*::]*/: { /* n:\"String\", */ f:parse_String },\n\t/*::[*/0x0208/*::]*/: { /* n:\"Row\", */ f:parse_Row },\n\t/*::[*/0x020b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0221/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0225/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t/*::[*/0x0236/*::]*/: { /* n:\"Table\", */ },\n\t/*::[*/0x023e/*::]*/: { /* n:\"Window2\", */ f:parse_Window2 },\n\t/*::[*/0x027e/*::]*/: { /* n:\"RK\", */ f:parse_RK },\n\t/*::[*/0x0293/*::]*/: { /* n:\"Style\", */ },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BigName\", */ },\n\t/*::[*/0x041e/*::]*/: { /* n:\"Format\", */ f:parse_Format },\n\t/*::[*/0x043c/*::]*/: { /* n:\"ContinueBigName\", */ },\n\t/*::[*/0x04bc/*::]*/: { /* n:\"ShrFmla\", */ f:parse_ShrFmla },\n\t/*::[*/0x0800/*::]*/: { /* n:\"HLinkTooltip\", */ f:parse_HLinkTooltip },\n\t/*::[*/0x0801/*::]*/: { /* n:\"WebPub\", */ },\n\t/*::[*/0x0802/*::]*/: { /* n:\"QsiSXTag\", */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"DBQueryExt\", */ },\n\t/*::[*/0x0804/*::]*/: { /* n:\"ExtString\", */ },\n\t/*::[*/0x0805/*::]*/: { /* n:\"TxtQry\", */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"Qsir\", */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"Qsif\", */ },\n\t/*::[*/0x0808/*::]*/: { /* n:\"RRDTQSIF\", */ },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x080a/*::]*/: { /* n:\"OleDbConn\", */ },\n\t/*::[*/0x080b/*::]*/: { /* n:\"WOpt\", */ },\n\t/*::[*/0x080c/*::]*/: { /* n:\"SXViewEx\", */ },\n\t/*::[*/0x080d/*::]*/: { /* n:\"SXTH\", */ },\n\t/*::[*/0x080e/*::]*/: { /* n:\"SXPIEx\", */ },\n\t/*::[*/0x080f/*::]*/: { /* n:\"SXVDTEx\", */ },\n\t/*::[*/0x0810/*::]*/: { /* n:\"SXViewEx9\", */ },\n\t/*::[*/0x0812/*::]*/: { /* n:\"ContinueFrt\", */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"RealTimeData\", */ },\n\t/*::[*/0x0850/*::]*/: { /* n:\"ChartFrtInfo\", */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"FrtWrapper\", */ },\n\t/*::[*/0x0852/*::]*/: { /* n:\"StartBlock\", */ },\n\t/*::[*/0x0853/*::]*/: { /* n:\"EndBlock\", */ },\n\t/*::[*/0x0854/*::]*/: { /* n:\"StartObject\", */ },\n\t/*::[*/0x0855/*::]*/: { /* n:\"EndObject\", */ },\n\t/*::[*/0x0856/*::]*/: { /* n:\"CatLab\", */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"YMult\", */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"SXViewLink\", */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"PivotChartBits\", */ },\n\t/*::[*/0x085a/*::]*/: { /* n:\"FrtFontList\", */ },\n\t/*::[*/0x0862/*::]*/: { /* n:\"SheetExt\", */ },\n\t/*::[*/0x0863/*::]*/: { /* n:\"BookExt\", */ r:12},\n\t/*::[*/0x0864/*::]*/: { /* n:\"SXAddl\", */ },\n\t/*::[*/0x0865/*::]*/: { /* n:\"CrErr\", */ },\n\t/*::[*/0x0866/*::]*/: { /* n:\"HFPicture\", */ },\n\t/*::[*/0x0867/*::]*/: { /* n:\"FeatHdr\", */ f:parsenoop2 },\n\t/*::[*/0x0868/*::]*/: { /* n:\"Feat\", */ },\n\t/*::[*/0x086a/*::]*/: { /* n:\"DataLabExt\", */ },\n\t/*::[*/0x086b/*::]*/: { /* n:\"DataLabExtContents\", */ },\n\t/*::[*/0x086c/*::]*/: { /* n:\"CellWatch\", */ },\n\t/*::[*/0x0871/*::]*/: { /* n:\"FeatHdr11\", */ },\n\t/*::[*/0x0872/*::]*/: { /* n:\"Feature11\", */ },\n\t/*::[*/0x0874/*::]*/: { /* n:\"DropDownObjIds\", */ },\n\t/*::[*/0x0875/*::]*/: { /* n:\"ContinueFrt11\", */ },\n\t/*::[*/0x0876/*::]*/: { /* n:\"DConn\", */ },\n\t/*::[*/0x0877/*::]*/: { /* n:\"List12\", */ },\n\t/*::[*/0x0878/*::]*/: { /* n:\"Feature12\", */ },\n\t/*::[*/0x0879/*::]*/: { /* n:\"CondFmt12\", */ },\n\t/*::[*/0x087a/*::]*/: { /* n:\"CF12\", */ },\n\t/*::[*/0x087b/*::]*/: { /* n:\"CFEx\", */ },\n\t/*::[*/0x087c/*::]*/: { /* n:\"XFCRC\", */ f:parse_XFCRC, r:12 },\n\t/*::[*/0x087d/*::]*/: { /* n:\"XFExt\", */ f:parse_XFExt, r:12 },\n\t/*::[*/0x087e/*::]*/: { /* n:\"AutoFilter12\", */ },\n\t/*::[*/0x087f/*::]*/: { /* n:\"ContinueFrt12\", */ },\n\t/*::[*/0x0884/*::]*/: { /* n:\"MDTInfo\", */ },\n\t/*::[*/0x0885/*::]*/: { /* n:\"MDXStr\", */ },\n\t/*::[*/0x0886/*::]*/: { /* n:\"MDXTuple\", */ },\n\t/*::[*/0x0887/*::]*/: { /* n:\"MDXSet\", */ },\n\t/*::[*/0x0888/*::]*/: { /* n:\"MDXProp\", */ },\n\t/*::[*/0x0889/*::]*/: { /* n:\"MDXKPI\", */ },\n\t/*::[*/0x088a/*::]*/: { /* n:\"MDB\", */ },\n\t/*::[*/0x088b/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x088c/*::]*/: { /* n:\"Compat12\", */ f:parsebool, r:12 },\n\t/*::[*/0x088d/*::]*/: { /* n:\"DXF\", */ },\n\t/*::[*/0x088e/*::]*/: { /* n:\"TableStyles\", */ r:12 },\n\t/*::[*/0x088f/*::]*/: { /* n:\"TableStyle\", */ },\n\t/*::[*/0x0890/*::]*/: { /* n:\"TableStyleElement\", */ },\n\t/*::[*/0x0892/*::]*/: { /* n:\"StyleExt\", */ },\n\t/*::[*/0x0893/*::]*/: { /* n:\"NamePublish\", */ },\n\t/*::[*/0x0894/*::]*/: { /* n:\"NameCmt\", */ f:parse_NameCmt, r:12 },\n\t/*::[*/0x0895/*::]*/: { /* n:\"SortData\", */ },\n\t/*::[*/0x0896/*::]*/: { /* n:\"Theme\", */ f:parse_Theme, r:12 },\n\t/*::[*/0x0897/*::]*/: { /* n:\"GUIDTypeLib\", */ },\n\t/*::[*/0x0898/*::]*/: { /* n:\"FnGrp12\", */ },\n\t/*::[*/0x0899/*::]*/: { /* n:\"NameFnGrp12\", */ },\n\t/*::[*/0x089a/*::]*/: { /* n:\"MTRSettings\", */ f:parse_MTRSettings, r:12 },\n\t/*::[*/0x089b/*::]*/: { /* n:\"CompressPictures\", */ f:parsenoop2 },\n\t/*::[*/0x089c/*::]*/: { /* n:\"HeaderFooter\", */ },\n\t/*::[*/0x089d/*::]*/: { /* n:\"CrtLayout12\", */ },\n\t/*::[*/0x089e/*::]*/: { /* n:\"CrtMlFrt\", */ },\n\t/*::[*/0x089f/*::]*/: { /* n:\"CrtMlFrtContinue\", */ },\n\t/*::[*/0x08a3/*::]*/: { /* n:\"ForceFullCalculation\", */ f:parse_ForceFullCalculation },\n\t/*::[*/0x08a4/*::]*/: { /* n:\"ShapePropsStream\", */ },\n\t/*::[*/0x08a5/*::]*/: { /* n:\"TextPropsStream\", */ },\n\t/*::[*/0x08a6/*::]*/: { /* n:\"RichTextStream\", */ },\n\t/*::[*/0x08a7/*::]*/: { /* n:\"CrtLayout12A\", */ },\n\t/*::[*/0x1001/*::]*/: { /* n:\"Units\", */ },\n\t/*::[*/0x1002/*::]*/: { /* n:\"Chart\", */ },\n\t/*::[*/0x1003/*::]*/: { /* n:\"Series\", */ },\n\t/*::[*/0x1006/*::]*/: { /* n:\"DataFormat\", */ },\n\t/*::[*/0x1007/*::]*/: { /* n:\"LineFormat\", */ },\n\t/*::[*/0x1009/*::]*/: { /* n:\"MarkerFormat\", */ },\n\t/*::[*/0x100a/*::]*/: { /* n:\"AreaFormat\", */ },\n\t/*::[*/0x100b/*::]*/: { /* n:\"PieFormat\", */ },\n\t/*::[*/0x100c/*::]*/: { /* n:\"AttachedLabel\", */ },\n\t/*::[*/0x100d/*::]*/: { /* n:\"SeriesText\", */ },\n\t/*::[*/0x1014/*::]*/: { /* n:\"ChartFormat\", */ },\n\t/*::[*/0x1015/*::]*/: { /* n:\"Legend\", */ },\n\t/*::[*/0x1016/*::]*/: { /* n:\"SeriesList\", */ },\n\t/*::[*/0x1017/*::]*/: { /* n:\"Bar\", */ },\n\t/*::[*/0x1018/*::]*/: { /* n:\"Line\", */ },\n\t/*::[*/0x1019/*::]*/: { /* n:\"Pie\", */ },\n\t/*::[*/0x101a/*::]*/: { /* n:\"Area\", */ },\n\t/*::[*/0x101b/*::]*/: { /* n:\"Scatter\", */ },\n\t/*::[*/0x101c/*::]*/: { /* n:\"CrtLine\", */ },\n\t/*::[*/0x101d/*::]*/: { /* n:\"Axis\", */ },\n\t/*::[*/0x101e/*::]*/: { /* n:\"Tick\", */ },\n\t/*::[*/0x101f/*::]*/: { /* n:\"ValueRange\", */ },\n\t/*::[*/0x1020/*::]*/: { /* n:\"CatSerRange\", */ },\n\t/*::[*/0x1021/*::]*/: { /* n:\"AxisLine\", */ },\n\t/*::[*/0x1022/*::]*/: { /* n:\"CrtLink\", */ },\n\t/*::[*/0x1024/*::]*/: { /* n:\"DefaultText\", */ },\n\t/*::[*/0x1025/*::]*/: { /* n:\"Text\", */ },\n\t/*::[*/0x1026/*::]*/: { /* n:\"FontX\", */ f:parseuint16 },\n\t/*::[*/0x1027/*::]*/: { /* n:\"ObjectLink\", */ },\n\t/*::[*/0x1032/*::]*/: { /* n:\"Frame\", */ },\n\t/*::[*/0x1033/*::]*/: { /* n:\"Begin\", */ },\n\t/*::[*/0x1034/*::]*/: { /* n:\"End\", */ },\n\t/*::[*/0x1035/*::]*/: { /* n:\"PlotArea\", */ },\n\t/*::[*/0x103a/*::]*/: { /* n:\"Chart3d\", */ },\n\t/*::[*/0x103c/*::]*/: { /* n:\"PicF\", */ },\n\t/*::[*/0x103d/*::]*/: { /* n:\"DropBar\", */ },\n\t/*::[*/0x103e/*::]*/: { /* n:\"Radar\", */ },\n\t/*::[*/0x103f/*::]*/: { /* n:\"Surf\", */ },\n\t/*::[*/0x1040/*::]*/: { /* n:\"RadarArea\", */ },\n\t/*::[*/0x1041/*::]*/: { /* n:\"AxisParent\", */ },\n\t/*::[*/0x1043/*::]*/: { /* n:\"LegendException\", */ },\n\t/*::[*/0x1044/*::]*/: { /* n:\"ShtProps\", */ f:parse_ShtProps },\n\t/*::[*/0x1045/*::]*/: { /* n:\"SerToCrt\", */ },\n\t/*::[*/0x1046/*::]*/: { /* n:\"AxesUsed\", */ },\n\t/*::[*/0x1048/*::]*/: { /* n:\"SBaseRef\", */ },\n\t/*::[*/0x104a/*::]*/: { /* n:\"SerParent\", */ },\n\t/*::[*/0x104b/*::]*/: { /* n:\"SerAuxTrend\", */ },\n\t/*::[*/0x104e/*::]*/: { /* n:\"IFmtRecord\", */ },\n\t/*::[*/0x104f/*::]*/: { /* n:\"Pos\", */ },\n\t/*::[*/0x1050/*::]*/: { /* n:\"AlRuns\", */ },\n\t/*::[*/0x1051/*::]*/: { /* n:\"BRAI\", */ },\n\t/*::[*/0x105b/*::]*/: { /* n:\"SerAuxErrBar\", */ },\n\t/*::[*/0x105c/*::]*/: { /* n:\"ClrtClient\", */ f:parse_ClrtClient },\n\t/*::[*/0x105d/*::]*/: { /* n:\"SerFmt\", */ },\n\t/*::[*/0x105f/*::]*/: { /* n:\"Chart3DBarShape\", */ },\n\t/*::[*/0x1060/*::]*/: { /* n:\"Fbi\", */ },\n\t/*::[*/0x1061/*::]*/: { /* n:\"BopPop\", */ },\n\t/*::[*/0x1062/*::]*/: { /* n:\"AxcExt\", */ },\n\t/*::[*/0x1063/*::]*/: { /* n:\"Dat\", */ },\n\t/*::[*/0x1064/*::]*/: { /* n:\"PlotGrowth\", */ },\n\t/*::[*/0x1065/*::]*/: { /* n:\"SIIndex\", */ },\n\t/*::[*/0x1066/*::]*/: { /* n:\"GelFrame\", */ },\n\t/*::[*/0x1067/*::]*/: { /* n:\"BopPopCustom\", */ },\n\t/*::[*/0x1068/*::]*/: { /* n:\"Fbi2\", */ },\n\n\t/*::[*/0x0000/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BIFF2BLANK\", */ },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BIFF2INT\", */ f:parse_BIFF2INT },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BIFF2NUM\", */ f:parse_BIFF2NUM },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BIFF2STR\", */ f:parse_BIFF2STR },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0007/*::]*/: { /* n:\"String\", */ f:parse_BIFF2STRING },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BIFF2ROW\", */ },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x000b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"ExternCount\", */ f:parseuint16 },\n\t/*::[*/0x001e/*::]*/: { /* n:\"BIFF2FORMAT\", */ f:parse_BIFF2Format },\n\t/*::[*/0x001f/*::]*/: { /* n:\"BIFF2FMTCNT\", */ }, /* 16-bit cnt of BIFF2FORMAT records */\n\t/*::[*/0x0020/*::]*/: { /* n:\"BIFF2COLINFO\", */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0024/*::]*/: { /* n:\"COLWIDTH\", */ },\n\t/*::[*/0x0025/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t// 0x2c ??\n\t// 0x2d ??\n\t// 0x2e ??\n\t// 0x30 FONTCOUNT: number of fonts\n\t/*::[*/0x0032/*::]*/: { /* n:\"BIFF2FONTXTRA\", */ f:parse_BIFF2FONTXTRA },\n\t// 0x35: INFOOPTS\n\t// 0x36: TABLE (BIFF2 only)\n\t// 0x37: TABLE2 (BIFF2 only)\n\t// 0x38: WNDESK\n\t// 0x39 ??\n\t// 0x3a: BEGINPREF\n\t// 0x3b: ENDPREF\n\t/*::[*/0x003e/*::]*/: { /* n:\"BIFF2WINDOW2\", */ },\n\t// 0x3f ??\n\t// 0x46: SHOWSCROLL\n\t// 0x47: SHOWFORMULA\n\t// 0x48: STATUSBAR\n\t// 0x49: SHORTMENUS\n\t// 0x4A:\n\t// 0x4B:\n\t// 0x4C:\n\t// 0x4E:\n\t// 0x4F:\n\t// 0x58: TOOLBAR (BIFF3)\n\n\t/* - - - */\n\t/*::[*/0x0034/*::]*/: { /* n:\"DDEObjName\", */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BIFF2XF\", */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BIFF2XFINDEX\", */ f:parseuint16 },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BIFF2FONTCLR\", */ },\n\t/*::[*/0x0056/*::]*/: { /* n:\"BIFF4FMTCNT\", */ }, /* 16-bit cnt, similar to BIFF2 */\n\t/*::[*/0x007e/*::]*/: { /* n:\"RK\", */ }, /* Not necessarily same as 0x027e */\n\t/*::[*/0x007f/*::]*/: { /* n:\"ImData\", */ f:parse_ImData },\n\t/*::[*/0x0087/*::]*/: { /* n:\"Addin\", */ },\n\t/*::[*/0x0088/*::]*/: { /* n:\"Edg\", */ },\n\t/*::[*/0x0089/*::]*/: { /* n:\"Pub\", */ },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t// 0x8F\n\t/*::[*/0x0091/*::]*/: { /* n:\"Sub\", */ },\n\t// 0x93 STYLE\n\t/*::[*/0x0094/*::]*/: { /* n:\"LHRecord\", */ },\n\t/*::[*/0x0095/*::]*/: { /* n:\"LHNGraph\", */ },\n\t/*::[*/0x0096/*::]*/: { /* n:\"Sound\", */ },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n\t/*::[*/0x00a9/*::]*/: { /* n:\"CoordList\", */ },\n\t/*::[*/0x00ab/*::]*/: { /* n:\"GCW\", */ },\n\t/*::[*/0x00bc/*::]*/: { /* n:\"ShrFmla\", */ }, /* Not necessarily same as 0x04bc */\n\t/*::[*/0x00bf/*::]*/: { /* n:\"ToolbarHdr\", */ },\n\t/*::[*/0x00c0/*::]*/: { /* n:\"ToolbarEnd\", */ },\n\t/*::[*/0x00c2/*::]*/: { /* n:\"AddMenu\", */ },\n\t/*::[*/0x00c3/*::]*/: { /* n:\"DelMenu\", */ },\n\t/*::[*/0x00d6/*::]*/: { /* n:\"RString\", */ f:parse_RString },\n\t/*::[*/0x00df/*::]*/: { /* n:\"UDDesc\", */ },\n\t/*::[*/0x00ea/*::]*/: { /* n:\"TabIdConf\", */ },\n\t/*::[*/0x0162/*::]*/: { /* n:\"XL5Modify\", */ },\n\t/*::[*/0x01a5/*::]*/: { /* n:\"FileSharing2\", */ },\n\t/*::[*/0x0206/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0218/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0223/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0231/*::]*/: { /* n:\"Font\", */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BIFF3XF\", */ },\n\t/*::[*/0x0406/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BIFF4XF\", */ },\n\t/*::[*/0x086d/*::]*/: { /* n:\"FeatInfo\", */ },\n\t/*::[*/0x0873/*::]*/: { /* n:\"FeatInfo11\", */ },\n\t/*::[*/0x0881/*::]*/: { /* n:\"SXAddl12\", */ },\n\t/*::[*/0x08c0/*::]*/: { /* n:\"AutoWebPub\", */ },\n\t/*::[*/0x08c1/*::]*/: { /* n:\"ListObj\", */ },\n\t/*::[*/0x08c2/*::]*/: { /* n:\"ListField\", */ },\n\t/*::[*/0x08c3/*::]*/: { /* n:\"ListDV\", */ },\n\t/*::[*/0x08c4/*::]*/: { /* n:\"ListCondFmt\", */ },\n\t/*::[*/0x08c5/*::]*/: { /* n:\"ListCF\", */ },\n\t/*::[*/0x08c6/*::]*/: { /* n:\"FMQry\", */ },\n\t/*::[*/0x08c7/*::]*/: { /* n:\"FMSQry\", */ },\n\t/*::[*/0x08c8/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x08c9/*::]*/: { /* n:\"LnExt\", */ },\n\t/*::[*/0x08ca/*::]*/: { /* n:\"MkrExt\", */ },\n\t/*::[*/0x08cb/*::]*/: { /* n:\"CrtCoopt\", */ },\n\t/*::[*/0x08d6/*::]*/: { /* n:\"FRTArchId$\", */ r:12 },\n\n\t/*::[*/0x7262/*::]*/: {}\n};\n\nfunction write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar t/*:number*/ = type;\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = type;\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r/*:number*/, c/*:number*/) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||\"\").slice(0,255)));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref/*:string*/, rr = \"\", cols/*:Array*/ = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i*/ = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1));\n\twrite_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100));\n\twrite_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true));\n\twrite_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false));\n\twrite_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001));\n\twrite_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true));\n\twrite_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false));\n\twrite_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false));\n\twrite_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1));\n\twrite_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, 0x0083 /* HCenter */, writebool(false));\n\twrite_biff_rec(ba, 0x0084 /* VCenter */, writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"]);\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname/*:string*/ = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, 0x000a /* EOF */);\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) {\n\tvar A = buf_array();\n\tvar _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/);\n\tvar _sheets/*:Array*/ = (_WB.Sheets||[]);\n\tvar _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:\"ThisWorkbook\"*/}/*:: ):any)*/;\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, 0x0087 /* Addin */);\n\twrite_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2));\n\tif(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */);\n\tif(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */);\n\twrite_biff_rec(A, 0x00e2 /* InterfaceEnd */);\n\twrite_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01c0 /* Excel9File */);\n\twrite_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */);\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname/*:string*/ = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, 0x0019 /* WinProtect */, writebool(false));\n\twrite_biff_rec(A, 0x0012 /* Protect */, writebool(false));\n\twrite_biff_rec(A, 0x0013 /* Password */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false));\n\tif(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0));\n\twrite_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts));\n\twrite_biff_rec(A, 0x0040 /* Backup */, writebool(false));\n\twrite_biff_rec(A, 0x008d /* HideObj */, writeuint16(0));\n\twrite_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true));\n\tif(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false));\n\twrite_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, 0x008C, write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, 0x00FC, write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, 0x000A /* EOF */);\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/);\n\t\twrite_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn bconcat(out);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn bconcat(bufs);\n}\n\nfunction write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nfunction html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tstr = str.replace(//g, \"\");\n\tvar mtch/*:any*/ = str.match(/\");\n\tvar mtch2/*:any*/ = str.match(/<\\/table/i);\n\tvar i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;\n\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\tvar R = -1, C = 0, RS = 0, CS = 0;\n\tvar range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\tvar merges/*:Array*/ = [];\n\tfor(i = 0; i < rows.length; ++i) {\n\t\tvar row = rows[i].trim();\n\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\tif(hd == \"/i);\n\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\tvar cell = cells[j].trim();\n\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar _merge/*:Range*/ = merges[midx];\n\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t}\n\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar _t/*:string*/ = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t/* TODO: generate stub cells */\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tm = htmldecode(m);\n\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tvar o/*:Cell*/ = {t:'s', v:m};\n\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\to = ({t:'d', v:parseDate(m)}/*:any*/);\n\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\tC += CS;\n\t\t}\n\t}\n\tws['!ref'] = encode_range(range);\n\tif(merges.length) ws[\"!merges\"] = merges;\n\treturn ws;\n}\nfunction make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar M/*:Array*/ = (ws['!merges'] ||[]);\n\tvar oo/*:Array*/ = [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar RS = 0, CS = 0;\n\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t}\n\t\tif(RS < 0) continue;\n\t\tvar coord = encode_cell({r:R,c:C});\n\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t/* TODO: html entities */\n\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\tvar sp = ({}/*:any*/);\n\t\tif(RS > 1) sp.rowspan = RS;\n\t\tif(CS > 1) sp.colspan = CS;\n\t\tif(o.editable) w = '' + w + '';\n\t\telse if(cell) {\n\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\tif(cell.v != null) sp[\"data-v\"] = cell.v;\n\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t}\n\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\too.push(writextag('td', w, sp));\n\t}\n\tvar preamble = \"\";\n\treturn preamble + oo.join(\"\") + \"\";\n}\n\nvar HTML_BEGIN = 'SheetJS Table Export';\nvar HTML_END = '';\n\nfunction html_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\tvar mtch = str.match(/[\\s\\S]*?<\\/table>/gi);\n\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
    \");\n\tif(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\tvar wb = book_new();\n\tmtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\treturn wb;\n}\n\nfunction make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\treturn out.join(\"\") + '';\n}\n\nfunction sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ {\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tvar out/*:Array*/ = [header];\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tout.push(make_html_preamble(ws, r, o));\n\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\tout.push(\"
    \" + footer);\n\treturn out.join(\"\");\n}\n\nfunction sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\n\tvar rows/*:HTMLCollection*/ = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range/*:Range*/ = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges/*:Array*/ = [], midx = 0;\n\tvar rowinfo/*:Array*/ = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row/*:HTMLTableRowElement*/ = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts/*:HTMLCollection*/ = (row.children/*:any*/);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt/*:HTMLTableCellElement*/ = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m/*:Range*/ = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o/*:Cell*/ = {t:'s', v:v};\n\t\t\tvar _t/*:string*/ = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)}/*:any*/);\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\") o.l = ({ Target: l });\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ {\n\tvar display/*:string*/ = '';\n\tvar get_computed_style/*:?function*/ = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style && element.style.display;\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nfunction parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ {\n\t/* 6.1.2 White Space Characters */\n\tvar fixed = text\n\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t.replace(//g,\" \")\n\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t.replace(//g,\"\\n\");\n\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\treturn [v];\n}\n\nvar number_formats_ods = {\n\t/* ods name: [short ssf fmt, long ssf fmt] */\n\tday: [\"d\", \"dd\"],\n\tmonth: [\"m\", \"mm\"],\n\tyear: [\"y\", \"yy\"],\n\thours: [\"h\", \"hh\"],\n\tminutes: [\"m\", \"mm\"],\n\tseconds: [\"s\", \"ss\"],\n\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\tera: [\"e\", \"ee\"],\n\t/* there is no native representation of LO \"Q\" format */\n\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n};\n\n\nfunction parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state/*:Array*/ = [], tmp;\n\t\tvar tag/*:: = {}*/;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag/*:: = {name:\"\", '名称':\"\"}*/;\n\t\tvar rowtag/*:: = {'行号':\"\"}*/;\n\t\tvar Sheets = {}, SheetNames/*:Array*/ = [];\n\t\tvar ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar Rn, q/*:: :any = ({t:\"\", v:null, z:null, w:\"\",c:[],}:any)*/;\n\t\tvar ctag = ({value:\"\"}/*:any*/);\n\t\tvar textp = \"\", textpidx = 0, textptag/*:: = {}*/;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({}/*:any*/);\n\t\tvar _Ref/*:[string, string]*/ = [\"\", \"\"];\n\t\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({}/*:any*/);\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); }\n\t\t\t\t\t\t\tq.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {/*:: t:\"\", v:null, z:null, w:\"\",c:[]*/};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({}/*:any*/);\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) /*::(*/comment/*:: :any)*/.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/);\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso(/*::wb, opts*/) {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text/*:string*/)/*:string*/ {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb/*:Workbook*/, i/*:number*//*::, opts*/)/*:string*/ {\n\t\t/* Section 9 Tables */\n\t\tvar o/*:Array*/ = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o/*:Array*/, wb) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/office:document-meta/g, \"office:meta\"));\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\twrite_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb/*:any*/, opts/*:any*/) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest/*:Array >*/ = [];\n\tvar rdf/*:Array<[string, string]>*/ = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\n/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */\nfunction u8_to_dataview(array) {\n return new DataView(array.buffer, array.byteOffset, array.byteLength);\n}\nfunction u8str(u8) {\n return typeof TextDecoder != \"undefined\" ? new TextDecoder().decode(u8) : utf8read(a2s(u8));\n}\nfunction stru8(str) {\n return typeof TextEncoder != \"undefined\" ? new TextEncoder().encode(str) : s2a(utf8write(str));\n}\nfunction u8contains(body, search) {\n outer:\n for (var L = 0; L <= body.length - search.length; ++L) {\n for (var j = 0; j < search.length; ++j)\n if (body[L + j] != search[j])\n continue outer;\n return true;\n }\n return false;\n}\nfunction u8concat(u8a) {\n var len = u8a.reduce(function(acc, x) {\n return acc + x.length;\n }, 0);\n var out = new Uint8Array(len);\n var off = 0;\n u8a.forEach(function(u8) {\n out.set(u8, off);\n off += u8.length;\n });\n return out;\n}\nfunction popcnt(x) {\n x -= x >> 1 & 1431655765;\n x = (x & 858993459) + (x >> 2 & 858993459);\n return (x + (x >> 4) & 252645135) * 16843009 >>> 24;\n}\nfunction readDecimal128LE(buf, offset) {\n var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1;\n var mantissa = buf[offset + 14] & 1;\n for (var j = offset + 13; j >= offset; --j)\n mantissa = mantissa * 256 + buf[j];\n return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176);\n}\nfunction writeDecimal128LE(buf, offset, value) {\n var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 20;\n var mantissa = value / Math.pow(10, exp - 6176);\n buf[offset + 15] |= exp >> 7;\n buf[offset + 14] |= (exp & 127) << 1;\n for (var i = 0; mantissa >= 1; ++i, mantissa /= 256)\n buf[offset + i] = mantissa & 255;\n buf[offset + 15] |= value >= 0 ? 0 : 128;\n}\nfunction parse_varint49(buf, ptr) {\n var l = ptr ? ptr[0] : 0;\n var usz = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n usz |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 28);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 35);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 42);\n ++l;\n if (buf[l++] < 128)\n break varint;\n }\n if (ptr)\n ptr[0] = l;\n return usz;\n}\nfunction write_varint49(v) {\n var usz = new Uint8Array(7);\n usz[0] = v & 127;\n var L = 1;\n sz:\n if (v > 127) {\n usz[L - 1] |= 128;\n usz[L] = v >> 7 & 127;\n ++L;\n if (v <= 16383)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 14 & 127;\n ++L;\n if (v <= 2097151)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 21 & 127;\n ++L;\n if (v <= 268435455)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 256 >>> 21 & 127;\n ++L;\n if (v <= 34359738367)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 65536 >>> 21 & 127;\n ++L;\n if (v <= 4398046511103)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 16777216 >>> 21 & 127;\n ++L;\n }\n return usz.slice(0, L);\n}\nfunction varint_to_i32(buf) {\n var l = 0, i32 = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n i32 |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 28;\n }\n return i32;\n}\nfunction parse_shallow(buf) {\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var off = ptr[0];\n var num = parse_varint49(buf, ptr);\n var type = num & 7;\n num = Math.floor(num / 8);\n var len = 0;\n var res;\n if (num == 0)\n break;\n switch (type) {\n case 0:\n {\n var l = ptr[0];\n while (buf[ptr[0]++] >= 128)\n ;\n res = buf.slice(l, ptr[0]);\n }\n break;\n case 5:\n len = 4;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 1:\n len = 8;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 2:\n len = parse_varint49(buf, ptr);\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 3:\n case 4:\n default:\n throw new Error(\"PB Type \".concat(type, \" for Field \").concat(num, \" at offset \").concat(off));\n }\n var v = { data: res, type: type };\n if (out[num] == null)\n out[num] = [v];\n else\n out[num].push(v);\n }\n return out;\n}\nfunction write_shallow(proto) {\n var out = [];\n proto.forEach(function(field, idx) {\n field.forEach(function(item) {\n if (!item.data)\n return;\n out.push(write_varint49(idx * 8 + item.type));\n if (item.type == 2)\n out.push(write_varint49(item.data.length));\n out.push(item.data);\n });\n });\n return u8concat(out);\n}\nfunction mappa(data, cb) {\n return (data == null ? void 0 : data.map(function(d) {\n return cb(d.data);\n })) || [];\n}\nfunction parse_iwa_file(buf) {\n var _a;\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var len = parse_varint49(buf, ptr);\n var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n var res = {\n id: varint_to_i32(ai[1][0].data),\n messages: []\n };\n ai[2].forEach(function(b) {\n var mi = parse_shallow(b.data);\n var fl = varint_to_i32(mi[3][0].data);\n res.messages.push({\n meta: mi,\n data: buf.slice(ptr[0], ptr[0] + fl)\n });\n ptr[0] += fl;\n });\n if ((_a = ai[3]) == null ? void 0 : _a[0])\n res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0;\n out.push(res);\n }\n return out;\n}\nfunction write_iwa_file(ias) {\n var bufs = [];\n ias.forEach(function(ia) {\n var ai = [];\n ai[1] = [{ data: write_varint49(ia.id), type: 0 }];\n ai[2] = [];\n if (ia.merge != null)\n ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }];\n var midata = [];\n ia.messages.forEach(function(mi) {\n midata.push(mi.data);\n mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];\n ai[2].push({ data: write_shallow(mi.meta), type: 2 });\n });\n var aipayload = write_shallow(ai);\n bufs.push(write_varint49(aipayload.length));\n bufs.push(aipayload);\n midata.forEach(function(mid) {\n return bufs.push(mid);\n });\n });\n return u8concat(bufs);\n}\nfunction parse_snappy_chunk(type, buf) {\n if (type != 0)\n throw new Error(\"Unexpected Snappy chunk type \".concat(type));\n var ptr = [0];\n var usz = parse_varint49(buf, ptr);\n var chunks = [];\n while (ptr[0] < buf.length) {\n var tag = buf[ptr[0]] & 3;\n if (tag == 0) {\n var len = buf[ptr[0]++] >> 2;\n if (len < 60)\n ++len;\n else {\n var c = len - 59;\n len = buf[ptr[0]];\n if (c > 1)\n len |= buf[ptr[0] + 1] << 8;\n if (c > 2)\n len |= buf[ptr[0] + 2] << 16;\n if (c > 3)\n len |= buf[ptr[0] + 3] << 24;\n len >>>= 0;\n len++;\n ptr[0] += c;\n }\n chunks.push(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n continue;\n } else {\n var offset = 0, length = 0;\n if (tag == 1) {\n length = (buf[ptr[0]] >> 2 & 7) + 4;\n offset = (buf[ptr[0]++] & 224) << 3;\n offset |= buf[ptr[0]++];\n } else {\n length = (buf[ptr[0]++] >> 2) + 1;\n if (tag == 2) {\n offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8;\n ptr[0] += 2;\n } else {\n offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0;\n ptr[0] += 4;\n }\n }\n chunks = [u8concat(chunks)];\n if (offset == 0)\n throw new Error(\"Invalid offset 0\");\n if (offset > chunks[0].length)\n throw new Error(\"Invalid offset beyond length\");\n if (length >= offset) {\n chunks.push(chunks[0].slice(-offset));\n length -= offset;\n while (length >= chunks[chunks.length - 1].length) {\n chunks.push(chunks[chunks.length - 1]);\n length -= chunks[chunks.length - 1].length;\n }\n }\n chunks.push(chunks[0].slice(-offset, -offset + length));\n }\n }\n var o = u8concat(chunks);\n if (o.length != usz)\n throw new Error(\"Unexpected length: \".concat(o.length, \" != \").concat(usz));\n return o;\n}\nfunction decompress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var t = buf[l++];\n var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16;\n l += 3;\n out.push(parse_snappy_chunk(t, buf.slice(l, l + len)));\n l += len;\n }\n if (l !== buf.length)\n throw new Error(\"data is not a valid framed stream!\");\n return u8concat(out);\n}\nfunction compress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var c = Math.min(buf.length - l, 268435455);\n var frame = new Uint8Array(4);\n out.push(frame);\n var usz = write_varint49(c);\n var L = usz.length;\n out.push(usz);\n if (c <= 60) {\n L++;\n out.push(new Uint8Array([c - 1 << 2]));\n } else if (c <= 256) {\n L += 2;\n out.push(new Uint8Array([240, c - 1 & 255]));\n } else if (c <= 65536) {\n L += 3;\n out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255]));\n } else if (c <= 16777216) {\n L += 4;\n out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255]));\n } else if (c <= 4294967296) {\n L += 5;\n out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255]));\n }\n out.push(buf.slice(l, l + c));\n L += c;\n frame[0] = 0;\n frame[1] = L & 255;\n frame[2] = L >> 8 & 255;\n frame[3] = L >> 16 & 255;\n l += c;\n }\n return u8concat(out);\n}\nfunction parse_old_storage(buf, sst, rsst, v) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var data_offset = (v > 1 ? 12 : 8) + popcnt(flags & (v > 1 ? 3470 : 398)) * 4;\n var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 512) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n data_offset += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4;\n if (flags & 16) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 32) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 64) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n var ret;\n switch (buf[2]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: ieee };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else if (sidx > -1)\n ret = { t: \"s\", v: sst[sidx] };\n else if (!isNaN(ieee))\n ret = { t: \"n\", v: ieee };\n else\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction parse_new_storage(buf, sst, rsst) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(8, true);\n var data_offset = 12;\n var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 1) {\n d128 = readDecimal128LE(buf, data_offset);\n data_offset += 16;\n }\n if (flags & 2) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 4) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n if (flags & 8) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 16) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n var ret;\n switch (buf[1]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: d128 };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n break;\n case 10:\n ret = { t: \"n\", v: d128 };\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction write_new_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 5;\n switch (cell.t) {\n case \"n\":\n out[1] = 2;\n writeDecimal128LE(out, l, cell.v);\n flags |= 1;\n l += 16;\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 2;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[1] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 8;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(8, flags, true);\n return out.slice(0, l);\n}\nfunction write_old_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 3;\n switch (cell.t) {\n case \"n\":\n out[2] = 2;\n dv.setFloat64(l, cell.v, true);\n flags |= 32;\n l += 8;\n break;\n case \"b\":\n out[2] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 32;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[2] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 16;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(4, flags, true);\n return out.slice(0, l);\n}\nfunction parse_cell_storage(buf, sst, rsst) {\n switch (buf[0]) {\n case 0:\n case 1:\n case 2:\n case 3:\n return parse_old_storage(buf, sst, rsst, buf[0]);\n case 5:\n return parse_new_storage(buf, sst, rsst);\n default:\n throw new Error(\"Unsupported payload version \".concat(buf[0]));\n }\n}\nfunction parse_TSP_Reference(buf) {\n var pb = parse_shallow(buf);\n return parse_varint49(pb[1][0].data);\n}\nfunction write_TSP_Reference(idx) {\n var out = [];\n out[1] = [{ type: 0, data: write_varint49(idx) }];\n return write_shallow(out);\n}\nfunction parse_TST_TableDataList(M, root) {\n var pb = parse_shallow(root.data);\n var type = varint_to_i32(pb[1][0].data);\n var entries = pb[3];\n var data = [];\n (entries || []).forEach(function(entry) {\n var le = parse_shallow(entry.data);\n var key = varint_to_i32(le[1][0].data) >>> 0;\n switch (type) {\n case 1:\n data[key] = u8str(le[3][0].data);\n break;\n case 8:\n {\n var rt = M[parse_TSP_Reference(le[9][0].data)][0];\n var rtp = parse_shallow(rt.data);\n var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0];\n var mtype = varint_to_i32(rtpref.meta[1][0].data);\n if (mtype != 2001)\n throw new Error(\"2000 unexpected reference to \".concat(mtype));\n var tswpsa = parse_shallow(rtpref.data);\n data[key] = tswpsa[3].map(function(x) {\n return u8str(x.data);\n }).join(\"\");\n }\n break;\n }\n });\n return data;\n}\nfunction parse_TST_TileRowInfo(u8, type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(u8);\n var R = varint_to_i32(pb[1][0].data) >>> 0;\n var cnt = varint_to_i32(pb[2][0].data) >>> 0;\n var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false;\n var used_storage_u8, used_storage;\n if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) {\n used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data;\n used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data;\n } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) {\n used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data;\n used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data;\n } else\n throw \"NUMBERS Tile missing \".concat(type, \" cell storage\");\n var width = wide_offsets ? 4 : 1;\n var used_storage_offsets = u8_to_dataview(used_storage_u8);\n var offsets = [];\n for (var C = 0; C < used_storage_u8.length / 2; ++C) {\n var off = used_storage_offsets.getUint16(C * 2, true);\n if (off < 65535)\n offsets.push([C, off]);\n }\n if (offsets.length != cnt)\n throw \"Expected \".concat(cnt, \" cells, found \").concat(offsets.length);\n var cells = [];\n for (C = 0; C < offsets.length - 1; ++C)\n cells[offsets[C][0]] = used_storage.subarray(offsets[C][1] * width, offsets[C + 1][1] * width);\n if (offsets.length >= 1)\n cells[offsets[offsets.length - 1][0]] = used_storage.subarray(offsets[offsets.length - 1][1] * width);\n return { R: R, cells: cells };\n}\nfunction parse_TST_Tile(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var storage = ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) ? varint_to_i32(pb[7][0].data) >>> 0 > 0 ? 1 : 0 : -1;\n var ri = mappa(pb[5], function(u8) {\n return parse_TST_TileRowInfo(u8, storage);\n });\n return {\n nrows: varint_to_i32(pb[4][0].data) >>> 0,\n data: ri.reduce(function(acc, x) {\n if (!acc[x.R])\n acc[x.R] = [];\n x.cells.forEach(function(cell, C) {\n if (acc[x.R][C])\n throw new Error(\"Duplicate cell r=\".concat(x.R, \" c=\").concat(C));\n acc[x.R][C] = cell;\n });\n return acc;\n }, [])\n };\n}\nfunction parse_TST_TableModelArchive(M, root, ws) {\n var _a;\n var pb = parse_shallow(root.data);\n var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };\n range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1;\n if (range.e.r < 0)\n throw new Error(\"Invalid row varint \".concat(pb[6][0].data));\n range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1;\n if (range.e.c < 0)\n throw new Error(\"Invalid col varint \".concat(pb[7][0].data));\n ws[\"!ref\"] = encode_range(range);\n var store = parse_shallow(pb[4][0].data);\n var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]);\n var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : [];\n var tile = parse_shallow(store[3][0].data);\n var _R = 0;\n tile[1].forEach(function(t) {\n var tl = parse_shallow(t.data);\n var ref = M[parse_TSP_Reference(tl[2][0].data)][0];\n var mtype = varint_to_i32(ref.meta[1][0].data);\n if (mtype != 6002)\n throw new Error(\"6001 unexpected reference to \".concat(mtype));\n var _tile = parse_TST_Tile(M, ref);\n _tile.data.forEach(function(row, R) {\n row.forEach(function(buf, C) {\n var addr = encode_cell({ r: _R + R, c: C });\n var res = parse_cell_storage(buf, sst, rsst);\n if (res)\n ws[addr] = res;\n });\n });\n _R += _tile.nrows;\n });\n}\nfunction parse_TST_TableInfoArchive(M, root) {\n var pb = parse_shallow(root.data);\n var out = { \"!ref\": \"A1\" };\n var tableref = M[parse_TSP_Reference(pb[2][0].data)];\n var mtype = varint_to_i32(tableref[0].meta[1][0].data);\n if (mtype != 6001)\n throw new Error(\"6000 unexpected reference to \".concat(mtype));\n parse_TST_TableModelArchive(M, tableref[0], out);\n return out;\n}\nfunction parse_TN_SheetArchive(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var out = {\n name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : \"\",\n sheets: []\n };\n var shapeoffs = mappa(pb[2], parse_TSP_Reference);\n shapeoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 6e3)\n out.sheets.push(parse_TST_TableInfoArchive(M, m));\n });\n });\n return out;\n}\nfunction parse_TN_DocumentArchive(M, root) {\n var out = book_new();\n var pb = parse_shallow(root.data);\n var sheetoffs = mappa(pb[1], parse_TSP_Reference);\n sheetoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 2) {\n var root2 = parse_TN_SheetArchive(M, m);\n root2.sheets.forEach(function(sheet, idx) {\n book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + \"_\" + idx, true);\n });\n }\n });\n });\n if (out.SheetNames.length == 0)\n throw new Error(\"Empty NUMBERS file\");\n return out;\n}\nfunction parse_numbers_iwa(cfb) {\n var _a, _b, _c, _d;\n var M = {}, indices = [];\n cfb.FullPaths.forEach(function(p) {\n if (p.match(/\\.iwpv2/))\n throw new Error(\"Unsupported password protection\");\n });\n cfb.FileIndex.forEach(function(s) {\n if (!s.name.match(/\\.iwa$/))\n return;\n var o;\n try {\n o = decompress_iwa_file(s.content);\n } catch (e) {\n return console.log(\"?? \" + s.content.length + \" \" + (e.message || e));\n }\n var packets;\n try {\n packets = parse_iwa_file(o);\n } catch (e) {\n return console.log(\"## \" + (e.message || e));\n }\n packets.forEach(function(packet) {\n M[packet.id] = packet.messages;\n indices.push(packet.id);\n });\n });\n if (!indices.length)\n throw new Error(\"File has no messages\");\n var docroot = ((_d = (_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.meta) == null ? void 0 : _c[1]) == null ? void 0 : _d[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0];\n if (!docroot)\n indices.forEach(function(idx) {\n M[idx].forEach(function(iwam) {\n var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0;\n if (mtype == 1) {\n if (!docroot)\n docroot = iwam;\n else\n throw new Error(\"Document has multiple roots\");\n }\n });\n });\n if (!docroot)\n throw new Error(\"Cannot find Document root\");\n return parse_TN_DocumentArchive(M, docroot);\n}\nfunction write_tile_row(tri, data, SST) {\n var _a, _b, _c, _d;\n if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0]))\n throw \"Mutation only works on post-BNC storages!\";\n var wide_offsets = ((_d = (_c = tri[8]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && varint_to_i32(tri[8][0].data) > 0 || false;\n if (wide_offsets)\n throw \"Math only works with normal offsets\";\n var cnt = 0;\n var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = [];\n var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = [];\n for (var C = 0; C < data.length; ++C) {\n if (data[C] == null) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535);\n continue;\n }\n dv.setUint16(C * 2, last_offset, true);\n _dv.setUint16(C * 2, _last_offset, true);\n var celload, _celload;\n switch (typeof data[C]) {\n case \"string\":\n celload = write_new_storage({ t: \"s\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"s\", v: data[C] }, SST);\n break;\n case \"number\":\n celload = write_new_storage({ t: \"n\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"n\", v: data[C] }, SST);\n break;\n case \"boolean\":\n celload = write_new_storage({ t: \"b\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"b\", v: data[C] }, SST);\n break;\n default:\n throw new Error(\"Unsupported value \" + data[C]);\n }\n cell_storage.push(celload);\n last_offset += celload.length;\n _cell_storage.push(_celload);\n _last_offset += _celload.length;\n ++cnt;\n }\n tri[2][0].data = write_varint49(cnt);\n for (; C < tri[7][0].data.length / 2; ++C) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535, true);\n }\n tri[6][0].data = u8concat(cell_storage);\n tri[3][0].data = u8concat(_cell_storage);\n return cnt;\n}\nfunction write_numbers_iwa(wb, opts) {\n if (!opts || !opts.numbers)\n throw new Error(\"Must pass a `numbers` option -- check the README\");\n var ws = wb.Sheets[wb.SheetNames[0]];\n if (wb.SheetNames.length > 1)\n console.error(\"The Numbers writer currently writes only the first table\");\n var range = decode_range(ws[\"!ref\"]);\n range.s.r = range.s.c = 0;\n var trunc = false;\n if (range.e.c > 9) {\n trunc = true;\n range.e.c = 9;\n }\n if (range.e.r > 49) {\n trunc = true;\n range.e.r = 49;\n }\n if (trunc)\n console.error(\"The Numbers writer is currently limited to \".concat(encode_range(range)));\n var data = sheet_to_json(ws, { range: range, header: 1 });\n var SST = [\"~Sh33tJ5~\"];\n data.forEach(function(row) {\n return row.forEach(function(cell) {\n if (typeof cell == \"string\")\n SST.push(cell);\n });\n });\n var dependents = {};\n var indices = [];\n var cfb = CFB.read(opts.numbers, { type: \"base64\" });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (fi.type != 2)\n return;\n if (!fi.name.match(/\\.iwa/))\n return;\n var old_content = fi.content;\n var raw1 = decompress_iwa_file(old_content);\n var x2 = parse_iwa_file(raw1);\n x2.forEach(function(packet2) {\n indices.push(packet2.id);\n dependents[packet2.id] = { deps: [], location: fp, type: varint_to_i32(packet2.messages[0].meta[1][0].data) };\n });\n });\n indices.sort(function(x2, y2) {\n return x2 - y2;\n });\n var indices_varint = indices.filter(function(x2) {\n return x2 > 1;\n }).map(function(x2) {\n return [x2, write_varint49(x2)];\n });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (!fi.name.match(/\\.iwa/))\n return;\n var x2 = parse_iwa_file(decompress_iwa_file(fi.content));\n x2.forEach(function(ia) {\n ia.messages.forEach(function(m) {\n indices_varint.forEach(function(ivi) {\n if (ia.messages.some(function(mess) {\n return varint_to_i32(mess.meta[1][0].data) != 11006 && u8contains(mess.data, ivi[1]);\n })) {\n dependents[ivi[0]].deps.push(ia.id);\n }\n });\n });\n });\n });\n function get_unique_msgid() {\n for (var i = 927262; i < 2e6; ++i)\n if (!dependents[i])\n return i;\n throw new Error(\"Too many messages\");\n }\n var entry = CFB.find(cfb, dependents[1].location);\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var docroot;\n for (var xi = 0; xi < x.length; ++xi) {\n var packet = x[xi];\n if (packet.id == 1)\n docroot = packet;\n }\n var sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n var pb = parse_shallow(docroot.messages[0].data);\n {\n pb[6][0].data = write_varint49(range.e.r + 1);\n pb[7][0].data = write_varint49(range.e.c + 1);\n var cruidsref = parse_TSP_Reference(pb[46][0].data);\n var oldbucket = CFB.find(cfb, dependents[cruidsref].location);\n var _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n for (var j = 0; j < _x.length; ++j) {\n if (_x[j].id == cruidsref)\n break;\n }\n if (_x[j].id != cruidsref)\n throw \"Bad ColumnRowUIDMapArchive\";\n var cruids = parse_shallow(_x[j].messages[0].data);\n cruids[1] = [];\n cruids[2] = [], cruids[3] = [];\n for (var C = 0; C <= range.e.c; ++C) {\n var uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(C + 420690) }];\n cruids[1].push({ type: 2, data: write_shallow(uuid) });\n cruids[2].push({ type: 0, data: write_varint49(C) });\n cruids[3].push({ type: 0, data: write_varint49(C) });\n }\n cruids[4] = [];\n cruids[5] = [], cruids[6] = [];\n for (var R = 0; R <= range.e.r; ++R) {\n uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(R + 726270) }];\n cruids[4].push({ type: 2, data: write_shallow(uuid) });\n cruids[5].push({ type: 0, data: write_varint49(R) });\n cruids[6].push({ type: 0, data: write_varint49(R) });\n }\n _x[j].messages[0].data = write_shallow(cruids);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n delete pb[46];\n var store = parse_shallow(pb[4][0].data);\n {\n store[7][0].data = write_varint49(range.e.r + 1);\n var row_headers = parse_shallow(store[1][0].data);\n var row_header_ref = parse_TSP_Reference(row_headers[2][0].data);\n oldbucket = CFB.find(cfb, dependents[row_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != row_header_ref)\n throw \"Bad HeaderStorageBucket\";\n var base_bucket = parse_shallow(_x[0].messages[0].data);\n for (R = 0; R < data.length; ++R) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(R);\n _bucket[4][0].data = write_varint49(data[R].length);\n base_bucket[2][R] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var col_header_ref = parse_TSP_Reference(store[2][0].data);\n oldbucket = CFB.find(cfb, dependents[col_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != col_header_ref)\n throw \"Bad HeaderStorageBucket\";\n base_bucket = parse_shallow(_x[0].messages[0].data);\n for (C = 0; C <= range.e.c; ++C) {\n _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(C);\n _bucket[4][0].data = write_varint49(range.e.r + 1);\n base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var sstref = parse_TSP_Reference(store[4][0].data);\n (function() {\n var sentry = CFB.find(cfb, dependents[sstref].location);\n var sx = parse_iwa_file(decompress_iwa_file(sentry.content));\n var sstroot;\n for (var sxi = 0; sxi < sx.length; ++sxi) {\n var packet2 = sx[sxi];\n if (packet2.id == sstref)\n sstroot = packet2;\n }\n var sstdata = parse_shallow(sstroot.messages[0].data);\n {\n sstdata[3] = [];\n var newsst = [];\n SST.forEach(function(str, i) {\n newsst[1] = [{ type: 0, data: write_varint49(i) }];\n newsst[2] = [{ type: 0, data: write_varint49(1) }];\n newsst[3] = [{ type: 2, data: stru8(str) }];\n sstdata[3].push({ type: 2, data: write_shallow(newsst) });\n });\n }\n sstroot.messages[0].data = write_shallow(sstdata);\n var sy = write_iwa_file(sx);\n var raw32 = compress_iwa_file(sy);\n sentry.content = raw32;\n sentry.size = sentry.content.length;\n })();\n var tile = parse_shallow(store[3][0].data);\n {\n var t = tile[1][0];\n delete tile[2];\n var tl = parse_shallow(t.data);\n {\n var tileref = parse_TSP_Reference(tl[2][0].data);\n (function() {\n var tentry = CFB.find(cfb, dependents[tileref].location);\n var tx = parse_iwa_file(decompress_iwa_file(tentry.content));\n var tileroot;\n for (var sxi = 0; sxi < tx.length; ++sxi) {\n var packet2 = tx[sxi];\n if (packet2.id == tileref)\n tileroot = packet2;\n }\n var tiledata = parse_shallow(tileroot.messages[0].data);\n {\n delete tiledata[6];\n delete tile[7];\n var rowload = new Uint8Array(tiledata[5][0].data);\n tiledata[5] = [];\n var cnt = 0;\n for (var R2 = 0; R2 <= range.e.r; ++R2) {\n var tilerow = parse_shallow(rowload);\n cnt += write_tile_row(tilerow, data[R2], SST);\n tilerow[1][0].data = write_varint49(R2);\n tiledata[5].push({ data: write_shallow(tilerow), type: 2 });\n }\n tiledata[1] = [{ type: 0, data: write_varint49(range.e.c + 1) }];\n tiledata[2] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n tiledata[3] = [{ type: 0, data: write_varint49(cnt) }];\n tiledata[4] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n }\n tileroot.messages[0].data = write_shallow(tiledata);\n var ty = write_iwa_file(tx);\n var raw32 = compress_iwa_file(ty);\n tentry.content = raw32;\n tentry.size = tentry.content.length;\n })();\n }\n t.data = write_shallow(tl);\n }\n store[3][0].data = write_shallow(tile);\n }\n pb[4][0].data = write_shallow(store);\n }\n docroot.messages[0].data = write_shallow(pb);\n var y = write_iwa_file(x);\n var raw3 = compress_iwa_file(y);\n entry.content = raw3;\n entry.size = entry.content.length;\n return cfb;\n}\nfunction fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nfunction fix_read_opts(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\n\nfunction fix_write_opts(opts) {\nfix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\nfunction get_sheet_type(n/*:string*/)/*:string*/ {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments and threaded comments */\n\t\tvar tcomments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tvar dfile = \"\";\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tvar comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments, false);\n\t\t\t}\n\t\t\tif(sheetRels[sheet][n].Type == RELS.TCMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\ttcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts));\n\t\t\t}\n\t\t});\n\t\tif(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tmake_ssf();\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) {\n\t\tif(typeof Uint8Array == \"undefined\") throw new Error('NUMBERS file parsing requires Uint8Array support');\n\t\tif(typeof parse_numbers_iwa != \"undefined\") {\n\t\t\tif(zip.FileIndex) return parse_numbers_iwa(zip);\n\t\t\tvar _zip = CFB.utils.cfb_new();\n\t\t\tzipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); });\n\t\t\treturn parse_numbers_iwa(_zip);\n\t\t}\n\t\tthrow new Error('Unsupported NUMBERS file');\n\t}\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({}/*:any*/);\n\tvar styles = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({}/*:any*/);\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({}/*:any*/);\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, \"s5s\"));\n\n\tif((dir.metadata || []).length >= 1) {\n\t\t/* TODO: MDX and other types of metadata */\n\t\topts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts);\n\t}\n\n\tif((dir.people || []).length >= 1) {\n\t\topts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts);\n\t}\n\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: dup(table_fmt)\n\t}/*:any*/);\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\n/*:: declare var decrypt_agile:any; */\n\tif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\n/*:: declare var decrypt_std76:any; */\n\tif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(opts.bookType == \"numbers\") return write_numbers_iwa(wb, opts);\n\tif(opts.bookType == \"xlsb\") return write_zip_xlsxb(wb, opts);\n\treturn write_zip_xlsx(wb, opts);\n}\n\n/* XLSX and XLSB writing are very similar. Originally they were unified in one\n export function. This is horrible for tree shaking in the common case (most\n applications need to export files in one format) so this function supports\n both formats while write_zip_xlsx only handles XLSX */\nfunction write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta(f));\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".\" + wbext;\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".\" + wbext, RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_xml(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_xml(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_xml(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_xml(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_xml());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64_decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64_decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\to.type = \"binary\";\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64_decode(d);\n\td = $cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data/*:string*/)/*:string*/ {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\treset_cp();\n\tvar o = opts||{};\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\tif(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== \"undefined\" ? \"buffer\" : \"array\";\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = \"array\"; }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t}\n\tif(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\n/*:: declare var encrypt_agile:any; */\nfunction write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip_xlsx(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ {\n\tvar oopts = {};\n\tvar ftype = has_buf ? \"nodebuffer\" : (typeof Uint8Array !== \"undefined\" ? \"array\" : \"string\");\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = ftype;\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = ftype; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: /*::(*/{\"nodebuffer\": \"buffer\", \"string\": \"binary\"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts);\n\tif(typeof Deno !== \"undefined\") {\n\t\tif(typeof out == \"string\") {\n\t\t\tif(o.type == \"binary\" || o.type == \"base64\") return out;\n\t\t\tout = new Uint8Array(s2ab(out));\n\t\t}\n\t}\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(/*::(*/out/*:: :any)*/) : out;\n}\n\nfunction write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = opts||{};\n\tvar cfb/*:CFBContainer*/ = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse if(typeof TextEncoder !== \"undefined\") return new TextEncoder().encode(o);\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\treturn write_zip_typeXLSX(wb, o);\n}\n\nfunction writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\tvar idx = 0;\n\tif(o.sheet) {\n\t\tif(typeof o.sheet == \"number\") idx = o.sheet;\n\t\telse idx = wb.SheetNames.indexOf(o.sheet);\n\t\tif(!wb.SheetNames[idx]) throw new Error(\"Sheet not found: \" + o.sheet + \" : \" + (typeof o.sheet));\n\t}\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'numbers':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o/*:WriteFileOpts*/) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSyncXLSX(wb, o);\n}\n\n\nfunction writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\n/*::\ntype MJRObject = {\n\trow: any;\n\tisempty: boolean;\n};\n*/\nfunction make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, dense/*:boolean*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row/*:any*/ = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw && (val.t !== \"n\" || (val.t === \"n\" && o.rawNumbers !== false)) ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar out/*:Array*/ = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, o/*:Sheet2CSVOpts*/)/*:?string*/ {\n\tvar isempty = true;\n\tvar row/*:Array*/ = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar w = 0;\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tif(row || (o.blankrows !== false)) out.push((w++ ? RS : \"\") + row);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof $cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = $cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols/*:Array*/ = [], C;\n\tvar cmds/*:Array*/ = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws/*:Worksheet*/ = _ws || ({}/*:any*/);\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell/*:Cell*/;\n\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr/*:Array*/ = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R/*:number*/) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = ws_get_cell_stub(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || table_fmt[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nfunction book_new()/*:Workbook*/ {\n\treturn { SheetNames: [], Sheets: {} };\n}\n\n/* add a worksheet to the end of a given workbook */\nfunction book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ {\n\tvar i = 1;\n\tif(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tif(roll && wb.SheetNames.indexOf(name) >= 0) {\n\t\tvar m = name.match(/(^.*?)(\\d+)$/);\n\t\ti = m && +m[2] || 0;\n\t\tvar root = m && m[1] || name;\n\t\tfor(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;\n\t}\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n\treturn name;\n}\n\n/* set sheet visibility (visible/hidden/very hidden) */\nfunction book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) {\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Sheets) wb.Workbook.Sheets = [];\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tif(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {};\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n}\n\n/* set number format */\nfunction cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) {\n\tcell.z = fmt;\n\treturn cell;\n}\n\n/* set cell hyperlink */\nfunction cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target }/*:Hyperlink*/);\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n}\nfunction cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, \"#\" + range, tooltip); }\n\n/* add to cell comments */\nfunction cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n}\n\n/* set array formula and flush related cells */\nfunction sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) {\n\t\t\tcell.f = formula;\n\t\t\tif(dynamic) cell.D = true;\n\t\t}\n\t}\n\treturn ws;\n}\n\nvar utils/*:any*/ = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: sheet_to_html,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json,\n\tsheet_get_cell: ws_get_cell_stub,\n\tbook_new: book_new,\n\tbook_append_sheet: book_append_sheet,\n\tbook_set_sheet_visibility: book_set_sheet_visibility,\n\tcell_set_number_format: cell_set_number_format,\n\tcell_set_hyperlink: cell_set_hyperlink,\n\tcell_set_internal_link: cell_set_internal_link,\n\tcell_add_comment: cell_add_comment,\n\tsheet_set_array_formula: sheet_set_array_formula,\n\tconsts: {\n\t\tSHEET_VISIBLE: 0,\n\t\tSHEET_HIDDEN: 1,\n\t\tSHEET_VERY_HIDDEN: 2\n\t}\n};\n\nvar _Readable;\nfunction set_readable(R) { _Readable = R; }\n\nfunction write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable();\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row/*:?string*/ = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar R = r.s.r;\n\tvar BOM = false, w = 0;\n\tstream._read = function() {\n\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\twhile(R <= r.e.r) {\n\t\t\t++R;\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\tif(row != null) {\n\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\tif(row || (o.blankrows !== false)) return stream.push((w++ ? RS : \"\") + row);\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) {\n\tvar stream = _Readable();\n\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tstream.push(header);\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tstream.push(make_html_preamble(ws, r, o));\n\tvar R = r.s.r;\n\tvar end = false;\n\tstream._read = function() {\n\t\tif(R > r.e.r) {\n\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\treturn stream.push(null);\n\t\t}\n\t\twhile(R <= r.e.r) {\n\t\t\tstream.push(make_html_row(ws, r, R, o));\n\t\t\t++R;\n\t\t\tbreak;\n\t\t}\n\t};\n\treturn stream;\n}\n\nfunction write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable({objectMode:true});\n\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tR = r.s.r + offset;\n\tstream._read = function() {\n\t\twhile(R <= r.e.r) {\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t++R;\n\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\tstream.push(row.row);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nvar __stream = {\n\tto_json: write_json_stream,\n\tto_html: write_html_stream,\n\tto_csv: write_csv_stream,\n set_readable: set_readable\n};\nexport const version = XLSX.version;\nexport {\n\tparse_xlscfb,\n\tparse_zip,\n\treadSync as read,\n\treadFileSync as readFile,\n\treadFileSync,\n\twriteSync as write,\n\twriteFileSync as writeFile,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteSyncXLSX as writeXLSX,\n\twriteFileSyncXLSX as writeFileXLSX,\n\tutils,\n\t__stream as stream,\n\tSSF,\n\tCFB\n};\n","import e from\"react\";import t from\"file-saver\";import*as o from\"xlsx\";!function(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&\"undefined\"!=typeof document){var s=document.head||document.getElementsByTagName(\"head\")[0],n=document.createElement(\"style\");n.type=\"text/css\",\"top\"===o&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}(\".download-button{border:none;color:#fff;padding:15px 32px;text-align:center;text-decoration:none;display:inline-block;font-size:16px}\");const s=({data:t,title:o,fileName:s,btnClassName:a,btnColor:l=\"#4CAF50\",multipleSheets:d})=>e.createElement(\"div\",null,e.createElement(\"button\",{className:`${a} download-button`,onClick:()=>n(t,s,d),style:{background:l}},o||\"Download\")),n=(e,s,n)=>{const a={Sheets:{},SheetNames:[]};if(n)e.forEach((e=>{const{sheetName:t,details:s}=e,n=o.utils.json_to_sheet(s);a.Sheets[t]=n,a.SheetNames.push(t)}));else{const t=o.utils.json_to_sheet(e);a.Sheets.data=t,a.SheetNames.push(\"data\")}const l=o.write(a,{bookType:\"xlsx\",type:\"array\"}),d=new Blob([l],{type:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\"});t(d,s+\".xlsx\")};export{s as JsonToExcel,n as exportToExcel};\n","import { useRef } from \"react\";\r\nimport { Button, Modal, Table } from \"react-bootstrap\";\r\nimport generatePDF from \"react-to-pdf\";\r\nimport { exportToExcel } from 'react-json-to-excel';\r\n\r\nconst ModalReporte = (props) => {\r\n const {\r\n estado,\r\n onCloseModal,\r\n data,\r\n data2,\r\n date,\r\n date2,\r\n compraventa,\r\n formadepago,\r\n } = props;\r\n const _ = require(\"lodash\");\r\n const sum = _.sumBy(data, (rowsDatas) => Number(rowsDatas.totalFactura));\r\n const tableRef = useRef(null);\r\n const onDownload = () => {\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n for (let j = 0; j < data2.length; j++) {\r\n data.push({\r\n producto: data2[j].productox,\r\n });\r\n }\r\n \r\n }\r\n exportToExcel(data, 'downloadfilename')\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reporte Fecha: {date} al {date2}{\" \"}\r\n \r\n \r\n\r\n \r\n \r\n generatePDF(tableRef, { filename: `${date}.pdf` })}\r\n >\r\n Descargar PDF\r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n Rendición Fecha {date} al {date2}{\" \"}\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n Fecha\r\n \r\n \r\n N. Factura\r\n \r\n \r\n Razon Social\r\n \r\n \r\n Ruc\r\n \r\n \r\n Descripcion\r\n \r\n \r\n {formadepago}\r\n \r\n \r\n Compr.\r\n \r\n \r\n Tipo Factura\r\n \r\n \r\n Monto\r\n \r\n \r\n \r\n \r\n {data.map((item) => {\r\n for (let i = 0; i < data2.current.length; i++) {\r\n if (data2.current[i].idfactura == item.idFactura) {\r\n item.producto = data2.current[i].producto;\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total\r\n \r\n \r\n {sum}\r\n \r\n \r\n \r\n
    \r\n {item.fechafactura}\r\n \r\n \r\n {item.pf1}-{item.pf2}-{item.numerofactura}\r\n \r\n \r\n {item.razonsocial}\r\n \r\n {item.ruc}\r\n \r\n {item.producto}{\" \"}\r\n \r\n {item.formadepago}\r\n \r\n {item.numerodecomprobante}\r\n \r\n {item.tipoFactura}\r\n \r\n {item.totalFactura}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n

    \r\n Controlado por:\r\n ____________\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ModalReporte;\r\n","import React, { Fragment,useCallback,useEffect,useState,useMemo,useRef, useReducer} from \"react\";\r\n import { Row,Col, Card,Button,} from \"react-bootstrap\";\r\n import { useTable, useGlobalFilter, useFilters, usePagination } from 'react-table';\r\n import { COLUMNS } from './Columns';\r\n import { GlobalFilter } from './GlobalFilter';\r\n import './filtering.css';\r\n import { getDetalleFacturaId, getFacturasByQuery} from '../../Api/facturacion'\r\n import { DownloadTableExcel } from 'react-export-table-to-excel';\r\n import { TailSpin } from 'react-loader-spinner'\r\n import Swal from \"sweetalert2\";\r\nimport ModalReporte from \"./sis/ModalOpciones/ModalReporteDia\";\r\n const showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n onReturnValue: state.onReturnValue,\r\n TimbradoObject: state.TimbradoObject,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false };\r\n default :\r\n return { ...curShow, isShow: false };\r\n }\r\n};\r\n const Reporte = () => {\r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n TimbradoObject: null,\r\n onReturnValue: null,\r\n });\r\n const [loading, setLoading] = useState(true);\r\n const compraventa = \"\";\r\n const [filterData, setValue] = useState([]);\r\n const [data, setdata] = useState([]);\r\n const [data2, setdata2] = useState([]);\r\n const data3 = useRef();\r\n const columns = useMemo( () => COLUMNS, [] )\r\n const assigmentValue = useCallback(async () => {\r\n\r\n try {\r\n const producto = {\r\n fechaInicio: '1991-01-01',\r\n fechaFin: '1991-01-01',\r\n }\r\n \r\n const result = await getFacturasByQuery(producto);\r\n for (let i = 0; i < result.length; i++) {\r\n if (result[i].anulado.data == 0) {\r\n result[i].anulado.data = \"No Anulado\";\r\n } else {\r\n result[i].anulado.data = \"Anulado\";\r\n result[i].totalFactura=0\r\n }\r\n \r\n }\r\n \r\n setdata([...result])\r\n setValue({\r\n fechaInicio : '1991-01-01',\r\n fechaFin: '1991-01-01'\r\n }\r\n )\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n });\r\n useEffect(() => {\r\n assigmentValue();\r\n }, []);\r\n\r\n const [validated, setValidated] = useState(false);\r\n const handleSubmit = (event) => {\r\n const form = event.currentTarget;\r\n if (form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n setValidated(true);\r\n };\r\n const Filtrar = async () => {\r\n \r\n try {\r\n if (filterData.fechaFin==\"\")\r\n {\r\n filterData.fechaFin=\"1991-01-01\"\r\n }\r\n if ((filterData.fechaInicio==\"\"))\r\n {\r\n filterData.fechaInicio=\"1991-01-01\"\r\n }\r\n const result = await getFacturasByQuery(filterData);\r\n setdata([...result]);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n \r\n const onAgregarTimbrado = async() => {\r\n Swal.fire({\r\n title: 'Generando',\r\n html: 'Generando Reporte',// add html attribute if you want or remove\r\n allowOutsideClick: true,\r\n showCancelButton: true,\r\n showConfirmButton: false,\r\n \r\n });\r\n \r\n const producto = {\r\n fechaInicio:filterData.fecha,\r\n fechaFin: filterData.fecha2,\r\n }\r\n const result = await getFacturasByQuery(producto); \r\n \r\n \r\n let resulting = result.filter(item => item.anulado.data!=1)\r\n setdata2([...resulting])\r\n let productox=''\r\n let datas=[]\r\n for (let i = 0; i < resulting.length; i++) {\r\n const result2= await getDetalleFacturaId(resulting[i].idFactura)\r\n for (let i = 0; i < result2.length; i++) {\r\n productox=productox+result2[i].cantidad+\" \"+result2[i].producto+\" \"\r\n }\r\n datas.push({\r\n idfactura:result2[0].idFactura,\r\n producto:productox\r\n })\r\n productox=''\r\n } \r\n data3.current=datas\r\n Swal.close();\r\n dispatchReducer({\r\n type: \"SHOW\",\r\n });\r\n \r\n };\r\n const onCloseModal = () => {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n \r\n const tableInstance = useTable({\r\n columns,\r\n data,\t\r\n initialState : {pageSize: 200,pageIndex : 0}\r\n }, useFilters, useGlobalFilter, usePagination)\r\n \r\n const { \r\n getTableProps, \r\n getTableBodyProps, \r\n headerGroups, \r\n prepareRow,\r\n state,\r\n page,\r\n gotoPage,\r\n pageCount,\r\n pageOptions,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n setGlobalFilter,\r\n } = tableInstance\r\n \r\n \r\n const {globalFilter, pageIndex} = state\r\n \r\n const tableRef = useRef(null);\r\n \r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Reporte Facturas\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Reporte Gral.\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setValue({\r\n ...filterData,\r\n fecha: e.target.value,\r\n });\r\n }}\r\n \r\n \r\n\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({\r\n ...filterData,\r\n fecha2: e.target.value,\r\n });\r\n }}\r\n \r\n \r\n\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Reporte Extendido en Excel\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setValue({\r\n ...filterData,\r\n fechaInicio: e.target.value,\r\n });\r\n }}\r\n \r\n \r\n\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setValue({\r\n ...filterData,\r\n fechaFin: e.target.value,\r\n });\r\n }}\r\n \r\n\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n

    \r\n \r\n \r\n \r\n {headerGroups.map(headerGroup => (\r\n \r\n {headerGroup.headers.map(column => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {page.map((row) => {\r\n prepareRow(row)\r\n return(\r\n \r\n {row.cells.map((cell) => {\r\n return \r\n })}\r\n \r\n )\r\n })}\r\n \r\n
    \r\n {column.render('Header')}\r\n {column.canFilter ? column.render('Filter') : null}\r\n
    {cell.render('Cell')}
    \r\n
    \r\n \r\n Page{' '}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n {''}\r\n \r\n \r\n Go to page : {' '}\r\n { \r\n const pageNumber = e.target.value ? Number(e.target.value) - 1 : 0 \r\n gotoPage(pageNumber)\r\n } } \r\n />\r\n \r\n
    \r\n
    \t\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {reducer.isShow && (\r\n \r\n )} \r\n \r\n \r\n
    \r\n )\r\n }\r\n export default Reporte;","import { useState } from \"react\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\n\r\n\r\nconst ModalPDV = (props) => {\r\n const {\r\n estado,\r\n onCloseModal,\r\n onReturnValue\r\n } = props;\r\n\r\n const [formData3, setValue] = useState([]);\r\n\r\n\r\n\r\n const handleSubmit2 = (event) => {\r\n event.preventDefault();\r\n console.log(formData3);\r\n onReturnValue(formData3);\r\n }\r\n return (\r\n <>\r\n\r\n \r\n\r\n \r\n Agregar Punto de Venta\r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n { setValue({ ...formData3, codigo: e.target.value }) }}\r\n \r\n\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n { setValue({ ...formData3, nombre: e.target.value }) }}\r\n \r\n\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n \r\n\r\n \r\n\r\n\r\n \r\n );\r\n}\r\n\r\nexport default ModalPDV;","import { CALL_API2 } from \"../Utils/const\";\r\nimport { getAuthToken } from \"../context/auth-context\";\r\n\r\nexport async function getAllPuntoVenta() {\r\n const token = getAuthToken();\r\n const result = await fetch(`${CALL_API2}/punto-venta`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n\r\n const data = await result.json();\r\n\r\n if (!result.ok) {\r\n throw new Error(data.message);\r\n }\r\n\r\n return data.result;\r\n}\r\n\r\nexport async function getPuntoVentaById(idPunto) {\r\n const token = getAuthToken();\r\n const response = await fetch(`${CALL_API2}/punto-venta/${idPunto}`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n const data = await response.json();\r\n\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.result;\r\n}\r\n\r\nexport async function savePuntoVenta(puntoObject) {\r\n \r\n const { isNew, idPunto } = puntoObject;\r\n const token = getAuthToken();\r\n let urlSend = `${CALL_API2}/punto-venta`;\r\n\r\n let method = \"POST\";\r\n\r\n if (puntoObject.isNew) delete puntoObject.isNew;\r\n if (puntoObject.idPunto) delete puntoObject.idPunto;\r\n\r\n if (!isNew) {\r\n urlSend = `${urlSend}/${idPunto}`;\r\n method = \"PUT\";\r\n }\r\n\r\n const result = await fetch(urlSend, {\r\n method: method,\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(puntoObject),\r\n });\r\n\r\n const data = await result.json();\r\n\r\n if (!result.ok) {\r\n throw new Error(data.message);\r\n }\r\n\r\n return data.isSaved;\r\n}\r\n\r\nexport async function deletePuntoVenta(idPunto) {\r\n const token = getAuthToken();\r\n const response = await fetch(`${CALL_API2}/punto-venta/${idPunto}`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n method: \"DELETE\",\r\n });\r\n const data = await response.json();\r\n\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.isDeleted;\r\n}\r\n","import React, {\r\n Fragment,\r\n useCallback,\r\n useEffect,\r\n useReducer,\r\n useState,\r\n } from \"react\";\r\nimport ModalPDV from \"../sis/ModalOpciones/ModalPDV\"\r\nimport {\r\n Col,\r\n Card,\r\n Table,\r\n Button, \r\n} from \"react-bootstrap\";\r\nimport { getAllPuntoVenta, savePuntoVenta} from \"../../../Api/puntoVenta\";\r\nimport Swal from \"sweetalert2\"; \r\nconst showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n onReturnValue: state.onReturnValue,\r\n TimbradoObject: state.SucursalObject,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false };\r\n }\r\n };\r\n\r\nconst Opuntodeventa = () => {\r\n \r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n SucursalObject: null,\r\n onReturnValue: null,\r\n });\r\n const [listSucursal, setListSucursal] = useState([]);\r\n const onLoadValuesSucursal = useCallback(async () => {\r\n try {\r\n const listResult = await getAllPuntoVenta();\r\n setListSucursal([...listResult]);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n });\r\n useEffect(() => {\r\n onLoadValuesSucursal();\r\n }, []);\r\n\r\n\r\n const onAgregarSucursal = () => {\r\n dispatchReducer({\r\n type: \"SHOW\",\r\n });\r\n };\r\n const onCloseModal = () => {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n const onReturnSucursaldata = async (data) => {\r\n try {\r\n const result = await savePuntoVenta({ ...data, isNew: true });\r\n \r\n if (result) {\r\n if (result) {\r\n Swal.fire({\r\n title: \"Punto de venta cargado\",\r\n html: `Se cargo correctalmente el punto de venta`,\r\n icon: \"success\",\r\n });\r\n const listResult = await getAllPuntoVenta();\r\n setListSucursal([...listResult]);\r\n dispatchReducer({ type: \"END\" });\r\n }\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n };\r\n\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n \r\n Punto de venta \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listSucursal.slice(0, 11).map((item) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n );\r\n })}\r\n\r\n \r\n
    \r\n Codigo\r\n \r\n Punto de venta\r\n \r\n Opciones\r\n

    {item.codigo}

    {item.nombre}

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {reducer.isShow && (\r\n \r\n )} \r\n {reducer.isShow && (\r\n \r\n )} \r\n
    \r\n )\r\n}\r\nexport default Opuntodeventa;","import React from 'react';\r\n\r\nexport const ColumnFilter = ( { column } ) => {\r\n\t\r\n\tconst {filterValue, setFilter} = column\r\n\treturn(\r\n\t\t
    \r\n\t\t\r\n\t\t\t setFilter(e.target.value)} />\r\n\t\t
    \r\n\t)\r\n} ","import {format} from 'date-fns';\r\nimport { ColumnFilter } from './ColumnFilter';\r\nexport const COLUMNS = [\r\n\t{\r\n\t\tHeader : 'id ',\r\n\t\tFooter : 'id',\r\n\t\taccessor: 'idClientes',\r\n\t\tFilter: ColumnFilter,\r\n\t\t//disableFilters: true,\r\n\t},\r\n\t{\r\n\t\tHeader : 'nombre',\r\n\t\tFooter : 'nombre',\r\n\t\taccessor: 'nombre',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'ruc',\r\n\t\tFooter : 'ruc',\r\n\t\taccessor: 'ruc',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t\r\n\t{\r\n\t\tHeader : 'razonsocial',\r\n\t\tFooter : 'razonsocial',\r\n\t\taccessor: 'razonsocial',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'telefono',\r\n\t\tFooter : 'telefono',\r\n\t\taccessor: 'telefono',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n]\r\nexport const COLUMNS2 = [\r\n\t{\r\n\t\tHeader : 'id',\r\n\t\tFooter : 'id',\r\n\t\taccessor: 'idFactura',\r\n\t\tFilter: ColumnFilter,\r\n\t\t//disableFilters: true,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Cod Suc',\r\n\t\tFooter : 'Cod Suc',\r\n\t\taccessor: 'pf1',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Cod PDE',\r\n\t\tFooter : 'Nº de Factura',\r\n\t\taccessor: 'pf2',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\r\n\t{\r\n\t\tHeader : 'Nº de Factura',\r\n\t\tFooter : 'Nº de Factura',\r\n\t\taccessor: 'numerofactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Razon Social',\r\n\t\tFooter : 'Razon Social',\r\n\t\taccessor: 'razonsocial',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Ruc',\r\n\t\tFooter : 'Ruc',\r\n\t\taccessor: 'ruc',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'fecha Emision',\r\n\t\tFooter : 'fechaEmision',\r\n\t\taccessor: 'fechafactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Tipo Factura',\r\n\t\tFooter : 'Formadepago',\r\n\t\taccessor: 'tipoFactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t\r\n\t{\r\n\t\tHeader : 'Total',\r\n\t\tFooter : 'Total',\r\n\t\taccessor: 'totalFactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n]\r\nexport const GROUPED_COLUMNS = [\r\n\t{\r\n\t\tHeader : 'Id',\r\n\t\tFooter : 'Id',\r\n\t\taccessor: 'id'\r\n\t},\r\n\t{\r\n\t\tHeader : 'Name',\r\n\t\tFooter : 'Name',\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tHeader : 'First Name',\r\n\t\t\t\tFooter : 'First Name',\r\n\t\t\t\taccessor: 'first_name'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Last Name',\r\n\t\t\t\tFooter : 'Last Name',\r\n\t\t\t\taccessor: 'last_name'\r\n\t\t\t},\r\n\t\t]\r\n\t},\r\n\t{\r\n\t\tHeader: 'Info',\r\n\t\tFooter: 'Info',\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Date of Birth',\r\n\t\t\t\tFooter : 'Date of Birth',\r\n\t\t\t\taccessor: 'date_of_birth'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Country',\r\n\t\t\t\tFooter : 'Country',\r\n\t\t\t\taccessor: 'country',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Phone',\r\n\t\t\t\tFooter : 'Phone',\r\n\t\t\t\taccessor: 'phone'\r\n\t\t\t},\r\n\t\t]\r\n\t},\r\n]","import React from 'react';\r\n\r\nexport const GlobalFilter = ( {filter, setFilter} ) =>{\r\n\treturn(\r\n\t\t
    \r\n\t\t\tSearch : {' '}\r\n\t\t\t setFilter(e.target.value)} style={{width: \"20%\"}}\r\n />\r\n\t\t
    \r\n\t)\r\n} ","import { useState } from \"react\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\n\r\nconst ModalAgregarClientes = (props) => {\r\n const { estado, onCloseModal, onReturnValue,Editdata} = props;\r\n\r\n const [formData3, setValue] = useState([]);\r\n const handleSubmit2 = (event) => {\r\n\r\n formData3.nombre=formData3.nombre? formData3.nombre:Editdata[0].nombre\r\n formData3.razonSocial=formData3.razonSocial? formData3.razonSocial:Editdata[0].razonsocial\r\n formData3.ruc=formData3.ruc? formData3.ruc:Editdata[0].ruc\r\n formData3.Ciudad=formData3.ciudad? formData3.Ciudad:Editdata[0].Ciudad\r\n formData3.direccion=formData3.direccion? formData3.direccion:Editdata[0].direccion\r\n formData3.telefono=formData3.telefono? formData3.telefono:Editdata[0].telefono\r\n formData3.Correo=formData3.correo? formData3.Correo:Editdata[0].Correo\r\n\r\n\r\n event.preventDefault();\r\n onReturnValue(formData3);\r\n };\r\n return (\r\n <>\r\n \r\n \r\n Agregar Cliente\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, nombre: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, razonSocial: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, ruc: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, ciudad: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, direccion: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, telefono: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, correo: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ModalAgregarClientes;\r\n","import { useState, Fragment } from \"react\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\n\r\n\r\n\r\n\r\n\r\nconst ModalCliente = (props) => {\r\n const {\r\n estado,\r\n onCloseModal,\r\n \r\n } = props;\r\n \r\n const [formData3, setValue] = useState([]);\r\n\r\n \r\n\r\n const handleSubmit2 = (event) => {\r\n event.preventDefault();\r\n console.log(formData3);\r\n }\r\n return (\r\n <>\r\n \r\n \r\n\r\n \r\n Agregar Costo\r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n { setValue({ ...formData3, preciousuario: e.target.value }) }}\r\n \r\n\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n { setValue({ ...formData3, preciousuario: e.target.value }) }}\r\n \r\n\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n { setValue({ ...formData3, preciousuario: e.target.value }) }}\r\n \r\n\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalCliente;","import { CALL_API2 } from \"../Utils/const\";\r\nimport { getAuthToken } from \"../context/auth-context\";\r\n\r\nexport async function getAllClientes() {\r\n const token = getAuthToken();\r\n const result = await fetch(`${CALL_API2}/cliente`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n\r\n const data = await result.json();\r\n\r\n if (!result.ok) {\r\n throw new Error(data.message);\r\n }\r\n\r\n return data.result;\r\n}\r\n\r\nexport async function getClienteById(idCliente) {\r\n const token = getAuthToken();\r\n const response = await fetch(`${CALL_API2}/cliente/${idCliente}`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n const data = await response.json();\r\n\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.result;\r\n}\r\n\r\nexport async function getSearchClient(sqlQuery) {\r\n const token = getAuthToken();\r\n const response = await fetch(\r\n `${CALL_API2}/search-cliente?sqlQuery=${sqlQuery}`,\r\n {\r\n headers: { Authorization: `Bearer ${token}` },\r\n }\r\n );\r\n const data = await response.json();\r\n\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.result;\r\n}\r\n\r\nexport async function saveCliente(clienteObject) {\r\n\r\n const { isNew, idCliente } = clienteObject;\r\n const token = getAuthToken();\r\n let urlSend = `${CALL_API2}/cliente`;\r\n\r\n let method = \"POST\";\r\n\r\n if (clienteObject.isNew) delete clienteObject.isNew;\r\n if (clienteObject.idCliente) delete clienteObject.idForma;\r\n\r\n if (!isNew) {\r\n urlSend = `${urlSend}/${idCliente}`;\r\n method = \"PUT\";\r\n }\r\n\r\n const result = await fetch(urlSend, {\r\n method: method,\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(clienteObject),\r\n });\r\n\r\n const data = await result.json();\r\n\r\n if (!result.ok) {\r\n throw new Error(data.message);\r\n }\r\n\r\n return data.isSaved;\r\n}\r\n\r\nexport async function deleteClient(idCliente) {\r\n const token = getAuthToken();\r\n const response = await fetch(`${CALL_API2}/cliente/${idCliente}`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n method: \"DELETE\",\r\n });\r\n const data = await response.json();\r\n\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.isDeleted;\r\n}\r\n","import React, {\r\n Fragment,\r\n useCallback,\r\n useEffect,\r\n useReducer,\r\n useState,\r\n useMemo,\r\n} from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Card, Button } from \"react-bootstrap\";\r\nimport Swal from \"sweetalert2\";\r\nimport {\r\n useTable,\r\n useGlobalFilter,\r\n useFilters,\r\n usePagination,\r\n} from \"react-table\";\r\nimport { TailSpin } from 'react-loader-spinner'\r\nimport { COLUMNS } from \"./Columns\";\r\nimport { GlobalFilter } from \"./GlobalFilter\";\r\n//import './table.css';\r\nimport \"./filtering.css\";\r\nimport ModalAgregarClientes from \"../sis/ModalFacturacion/ModalAgregarCliente\";\r\nimport ModalCliente from \"../sis/ModalFacturacion/ModalCliente\";\r\nimport { getAllClientes, saveCliente } from \"../../../Api/cliente\";\r\n\r\nconst showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n typeModal: state.typeModal,\r\n onReturnValue: state.onReturnValue,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false };\r\n }\r\n};\r\nconst Clientes = () => {\r\n const Editdata = [{\r\n nombre:\"\",\r\n razonsocial:\"\",\r\n ruc:\"\",\r\n Ciudad:\"\",\r\n direccion:\"\",\r\n telefono:\"\",\r\n correo:\"\"\r\n }]\r\n const [loading, setLoading] = useState(true);\r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n typeModal: null,\r\n onReturnValue: null,\r\n });\r\n const [data, setdata] = useState([]);\r\n\r\n const assigmentValue = useCallback(async () => {\r\n try {\r\n const result = await getAllClientes();\r\n setdata([...result]);\r\n setLoading(false);\r\n \r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n });\r\n useEffect(() => {\r\n assigmentValue();\r\n }, []);\r\n const handleShow4 = () => {\r\n dispatchReducer({ type: \"SHOW\", typeModal: \"CLIENTE\" });\r\n };\r\n const onCloseModal = () => {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n const columns = useMemo(() => COLUMNS, []);\r\n const tableInstance = useTable(\r\n {\r\n columns,\r\n data,\r\n initialState: { pageIndex: 0 },\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n usePagination\r\n );\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n prepareRow,\r\n state,\r\n page,\r\n gotoPage,\r\n pageCount,\r\n pageOptions,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n setGlobalFilter,\r\n } = tableInstance;\r\n const onReturnDataCliente = async (data) => {\r\n try {\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const result = await saveCliente({ ...data, isNew: true });\r\n\r\n if (result) {\r\n if (result) {\r\n const listResult = await getAllClientes();\r\n setdata([...listResult]);\r\n Swal.close();\r\n Swal.fire({\r\n title: \"Cliente Cargado\",\r\n html: `Se cargo correctalmente el cliente`,\r\n icon: \"success\",\r\n confirmButtonColor: 'black'\r\n });\r\n dispatchReducer({ type: \"END\" });\r\n }\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n };\r\n\r\n const { globalFilter, pageIndex } = state;\r\n \r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Clientes\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n {column.render(\"Header\")}\r\n {column.canFilter\r\n ? column.render(\"Filter\")\r\n : null}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n {page.map((row) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n \r\n return (\r\n \r\n \r\n {'\\u00A0'} {'\\u00A0'} {'\\u00A0'} {'\\u00A0'} {'\\u00A0'}\r\n \r\n \r\n {cell.render(\"Cell\")}{\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n \r\n
    \r\n \r\n Page{\" \"}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n \r\n {\"\"}\r\n \r\n \r\n Go to page :{\" \"}\r\n {\r\n const pageNumber = e.target.value\r\n ? Number(e.target.value) - 1\r\n : 0;\r\n gotoPage(pageNumber);\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n gotoPage(0)}\r\n disabled={!canPreviousPage}\r\n >\r\n {\"<<\"}\r\n \r\n\r\n previousPage()}\r\n disabled={!canPreviousPage}\r\n >\r\n Previous\r\n \r\n nextPage()}\r\n disabled={!canNextPage}\r\n >\r\n Next\r\n \r\n gotoPage(pageCount - 1)}\r\n disabled={!canNextPage}\r\n >\r\n {\">>\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {reducer.isShow && (\r\n \r\n )}\r\n {reducer.isShow2 && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\nexport default Clientes;\r\n","import React, {\r\n Fragment,\r\n useCallback,\r\n useEffect,\r\n useState,\r\n useMemo,\r\n} from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Card, Button } from \"react-bootstrap\";\r\nimport {\r\n useTable,\r\n useGlobalFilter,\r\n useFilters,\r\n usePagination,\r\n} from \"react-table\";\r\n\r\nimport { COLUMNS2 } from \"./Columns\";\r\nimport { GlobalFilter } from \"./GlobalFilter\";\r\n//import './table.css';\r\nimport \"./filtering.css\";\r\nimport { getAllFacturacion } from \"../../../Api/facturacion\";\r\nimport { getUserCredentials } from \"../../../Api/usuario\";\r\nimport { TailSpin } from 'react-loader-spinner'\r\nconst Facturas = () => {\r\n const [userData, setUserData] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const [data, setdata] = useState([]);\r\n const columns = useMemo(() => COLUMNS2, []);\r\n const assigmentValue = useCallback(async () => {\r\n try {\r\n const result = await getAllFacturacion();\r\n const result2 = await getUserCredentials();\r\n setUserData(result2)\r\n setdata([...result]);\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n });\r\n useEffect(() => {\r\n assigmentValue();\r\n }, []);\r\n const tableInstance = useTable(\r\n {\r\n columns,\r\n data,\r\n initialState: { pageIndex: 0 },\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n usePagination\r\n );\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n prepareRow,\r\n state,\r\n page,\r\n gotoPage,\r\n pageCount,\r\n pageOptions,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n setGlobalFilter,\r\n } = tableInstance;\r\n\r\n const { globalFilter, pageIndex } = state;\r\n\r\n\r\n\r\n \r\n \r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Facturas\r\n
    \r\n
    \r\n
    \r\n {userData.IdUsuario=== 103 && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n {column.render(\"Header\")}\r\n {column.canFilter\r\n ? column.render(\"Filter\")\r\n : null}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n {page.map((row) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return (\r\n \r\n {\" \"}\r\n \r\n {cell.render(\"Cell\")}{\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n \r\n
    \r\n \r\n Page{\" \"}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n \r\n {\"\"}\r\n \r\n \r\n Go to page :{\" \"}\r\n {\r\n const pageNumber = e.target.value\r\n ? Number(e.target.value) - 1\r\n : 0;\r\n gotoPage(pageNumber);\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n gotoPage(0)}\r\n disabled={!canPreviousPage}\r\n >\r\n {\"<<\"}\r\n \r\n\r\n previousPage()}\r\n disabled={!canPreviousPage}\r\n >\r\n Previous\r\n \r\n nextPage()}\r\n disabled={!canNextPage}\r\n >\r\n Next\r\n \r\n gotoPage(pageCount - 1)}\r\n disabled={!canNextPage}\r\n >\r\n {\">>\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\nexport default Facturas;\r\n","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst ButtonGroup = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n vertical = false,\n className,\n role = 'group',\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...rest\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn-group');\n let baseClass = prefix;\n if (vertical) baseClass = `${prefix}-vertical`;\n return /*#__PURE__*/_jsx(Component, {\n ...rest,\n ref: ref,\n role: role,\n className: classNames(className, baseClass, size && `${prefix}-${size}`)\n });\n});\nButtonGroup.displayName = 'ButtonGroup';\nexport default ButtonGroup;","import React, {\r\n useReducer,\r\n useEffect, useState, useCallback\r\n} from \"react\";\r\nimport { useLocation,useNavigate} from \"react-router-dom\";\r\nimport {\r\n Table,\r\n Button,\r\n ButtonGroup\r\n} from \"react-bootstrap\";\r\nimport ModalAgregarClientes from \"../../sis/ModalFacturacion/ModalAgregarCliente\"\r\nimport { getClienteById , deleteClient,saveCliente} from \"../../../../Api/cliente\"\r\nimport { getFacturaByClienteId, getFacturaCredByClienteId} from \"../../../../Api/facturacion\"\r\nimport { TailSpin } from 'react-loader-spinner'\r\nimport Swal from \"sweetalert2\";\r\nconst showReducer = (curShow, state) => {\r\n\r\n \r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n };\r\n case \"SHOW2\":\r\n return {\r\n isShow2: true,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false, isShow2: false };\r\n }\r\n};\r\nconst FichaCliente = () => {\r\n const navigate = useNavigate();\r\n const [loading, setLoading] = useState(true);\r\n const location = useLocation();\r\n const id = location.state?.id;\r\n const [items, setItems] = useState([]);\r\n const [items2, setItems2] = useState([]);\r\n const [items3, setItems3] = useState([]);\r\n\r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n\r\n });\r\n const Editar = () => {\r\n\r\n dispatchReducer({\r\n type: \"SHOW\",\r\n });\r\n };\r\n const onReturnValue = async (data) => {\r\n try {\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const result = await saveCliente({ ...data, isNew: false,idCliente:id});\r\n\r\n if (result) {\r\n if (result) {\r\n assigmentValue()\r\n Swal.close();\r\n Swal.fire({\r\n title: \"Cliente Cargado\",\r\n html: `Se cargo correctalmente el cliente`,\r\n icon: \"success\",\r\n confirmButtonColor: 'black'\r\n });\r\n dispatchReducer({ type: \"END\" });\r\n }\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n };\r\n\r\n\r\n const onCloseModal = () => {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n const Eliminar = () => {\r\n \r\n try{\r\n Swal.fire({\r\n title: 'Estas seguro/a de Eliminar?',\r\n text: \"No es Reversible!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: 'black',\r\n cancelButtonColor: 'red',\r\n confirmButtonText: 'Si! Eliominar'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n \r\n deleteClient(id)\r\n\r\n Swal.fire({\r\n title: 'Eliminado',\r\n text: \"Cliente Eliminado\",\r\n icon: 'warning',\r\n confirmButtonColor: 'black',\r\n })\r\n navigate(\"/Clientes\")\r\n \r\n }\r\n })\r\n\r\n }\r\n catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const assigmentValue = useCallback(async () => {\r\n try {\r\n const result = await getClienteById(id);\r\n const result2 = await getFacturaByClienteId(id);\r\n const result3 = await getFacturaCredByClienteId(id);\r\n\r\n\r\n\r\n setItems(result);\r\n setItems2(result2);\r\n setItems3(result3);\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n }, [id]);\r\n useEffect(() => {\r\n assigmentValue();\r\n }, [assigmentValue]);\r\n return (\r\n <>\r\n \r\n {items.map((item, index2) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {item.nombre}

    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n Razon Social : {item.razonsocial}\r\n

    \r\n \r\n Ruc : {item.ruc}\r\n \r\n

    \r\n Telefono : {item.telefono} \r\n

    \r\n Correo : {item.correo}\r\n

    \r\n Ciudad : {item.ciudad}\r\n

    \r\n Direccion : {item.direccion}\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Historial Facturas a Credito

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {items3.map((items3, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    Pf1pf2Num FacturaMontoVencimientoOpciones
    {items3.pf1}{items3.pf2}{items3.numerofactura}{items3.totalFactura}{items3.vencimiento}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Historial Facturas

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {items2.map((items2, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n ))}\r\n\r\n \r\n
    IDPf1pf2Num FacturaMontoFecha Tipo
    {items2.idFactura}{items2.pf1}{items2.pf2}{items2.numerofactura}{items2.totalFactura}{items2.fechafactura}{items2.tipoFactura}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n })}\r\n\r\n\r\n\r\n {reducer.isShow && (\r\n \r\n )}\r\n\r\n \r\n )\r\n}\r\nexport default FichaCliente;","import { useState } from \"react\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport Select from \"react-select\";\r\nimport Swal from 'sweetalert2'\r\n\r\nconst ModalDeposito = (props) => {\r\n const {\r\n estado,\r\n onCloseModal,\r\n onReturnValue,\r\n listFormadepago,\r\n id\r\n } = props;\r\n console.log(id)\r\n const [formData1, setValue1] = useState([]);\r\n const [formData2, setValue2] = useState([]);\r\n const [formData3, setValue3] = useState([]);\r\n\r\n const handleSubmit2 = (event) => {\r\n event.preventDefault();\r\n formData1.valueUpdate=formData1.valueUpdate? formData1.valueUpdate: \"\";\r\n if ( formData1.valueUpdate==\"\")\r\n {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Metodo de pago',\r\n text: 'Selecciones Metodo de pago',\r\n \r\n })\r\n }else\r\n {\r\n onReturnValue(formData1,formData2,formData3);\r\n }\r\n \r\n \r\n }\r\n return (\r\n <>\r\n\r\n \r\n\r\n \r\n Depositar\r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setValue1({\r\n ...formData1,\r\n valueUpdate: e.value,\r\n FileUpdate:\"FORMA_PAGO\",\r\n idFactura:id\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n { setValue2({\r\n ...formData2, \r\n valueUpdate: e.target.value,\r\n FileUpdate:\"NUMERO_COMPROBANTE\",\r\n idFactura:id\r\n }) }}\r\n \r\n\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n { setValue3({\r\n ...formData3, \r\n valueUpdate: e.target.value,\r\n FileUpdate:\"OBS\",\r\n idFactura:id\r\n }) }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n \r\n\r\n \r\n\r\n\r\n \r\n );\r\n}\r\n\r\nexport default ModalDeposito;","import { useState } from \"react\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport Swal from 'sweetalert2'\r\nconst ModalModFecha = (props) => {\r\n const {\r\n estado,\r\n onCloseModal,\r\n onReturnValue,\r\n id\r\n } = props;\r\n\r\n const [formData3, setValue] = useState([]);\r\n\r\n\r\n\r\n const handleSubmit2 = (event) => {\r\n event.preventDefault();\r\n formData3.valueUpdate=formData3.valueUpdate? formData3.valueUpdate: \"\";\r\n if ( formData3.valueUpdate==\"\")\r\n {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Ingrese Fecha',\r\n text: 'Fecha Necesario',\r\n \r\n })\r\n }else\r\n {\r\n onReturnValue(formData3);\r\n }\r\n }\r\n return (\r\n <>\r\n\r\n \r\n\r\n \r\n Modificar Fecha de Vencimiento\r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n { setValue({ ...formData3,\r\n valueUpdate: e.target.value,\r\n FileUpdate:\"FECHA_VENCIMIENTO\",\r\n idFactura:id\r\n }) }}\r\n \r\n\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n \r\n\r\n \r\n\r\n\r\n \r\n );\r\n}\r\n\r\nexport default ModalModFecha;","\r\nimport { jsPDF } from \"jspdf\";\r\n\r\nexport default function genPDF({ datosfactura, detallefactura,isCredito,TextoNumber,sum1,sum2}) {\r\n const doc = new jsPDF({\r\n unit: 'px',\r\n orientation: 'landscape',\r\n format: 'A4'\r\n });\r\n if (datosfactura.direccion==null)\r\n {\r\n datosfactura.direccion=\"\"\r\n }\r\n if (datosfactura.telefono==null)\r\n {\r\n datosfactura.telefono=\"\"\r\n }\r\n datosfactura.iva5 = datosfactura.iva5? datosfactura.iva5:datosfactura.gravado05\r\n datosfactura.iva10 = datosfactura.iva10? datosfactura.iva10:datosfactura.gravado10\r\n datosfactura.totalmonto = datosfactura.totalmonto? datosfactura.totalmonto : datosfactura.totalFactura\r\n datosfactura.ivatotal = datosfactura.ivatotal ? datosfactura.ivatotal : Number(datosfactura.gravado05+datosfactura.gravado10)\r\n datosfactura.Subtotal5 = datosfactura.Subtotal5 ? datosfactura.Subtotal5: sum1\r\n datosfactura.Subtotal10 = datosfactura.Subtotal10 ? datosfactura.Subtotal10: sum2\r\n datosfactura.fechafactura = datosfactura.fechafactura ? datosfactura.fechafactura : new Date().toLocaleDateString()\r\n const writePage = (offsetX = 0) => {\r\n\r\n /* Separacion entre item del listado*/\r\n let gapRow = 20;\r\n\r\n /* Cambiar segun booleano para saber si es Contado o Credito */\r\n let isContado = isCredito\r\n let casillaX = offsetX + 259 + (isContado ? 28 : 0);\r\n\r\n doc.setFont(undefined, 'bold')\r\n doc.setFontSize(8)\r\n /* Casilla */\r\n doc.text(\"X\", casillaX+3, 52)\r\n\r\n doc.setFontSize(6)\r\n doc.setFont(undefined, 'normal')\r\n\r\n /* Fecha de emision */\r\n doc.text(datosfactura.fechafactura, offsetX + 60, 52)\r\n\r\n /* Razon Social */\r\n doc.text(datosfactura.razonsocial, offsetX + 70, 73-10)\r\n\r\n /* RUC / CI */\r\n doc.text(datosfactura.ruc, offsetX + 52, 80-10)\r\n\r\n /* Direccion */\r\n doc.text(datosfactura.direccion, offsetX + 125, 80-10)\r\n /*tel*/\r\n doc.text(datosfactura.telefono, offsetX + 257, 80-10)\r\n\r\n /*Bucle para iterar lista de productos */\r\n for (const [index, obj] of detallefactura.entries()) {\r\n addRow(obj, offsetX-3, 106-10 + (index* gapRow))\r\n }\r\n\r\n /* Subtotal 5 */\r\n doc.text(String(datosfactura.Subtotal5), offsetX + 230, 408-9)\r\n\r\n /* Subtotal 10 */\r\n doc.text(String(datosfactura.Subtotal10), offsetX + 270, 408-9)\r\n\r\n /* Total a pagar en letras */\r\n doc.text(TextoNumber, offsetX + 65, 415-9,\r\n { maxWidth: 180 })\r\n\r\n /* Total a pagar en numeros */\r\n doc.text(String(datosfactura.totalmonto), offsetX + 269, 415-9)\r\n\r\n /* Total iva5 */\r\n doc.text(String(datosfactura.iva5), offsetX + 100, 428-7)\r\n\r\n /* Total iva10 */\r\n doc.text(String(datosfactura.iva10), offsetX + 165, 428-7)\r\n\r\n /* Total Total iva */\r\n doc.text(String(datosfactura.ivatotal), offsetX + 240, 428-7)\r\n }\r\n\r\n /* Funcion que añade filas a al listado pdf */\r\n const addRow = (data, x = 0, y) => {\r\n doc.setFont(undefined, 'bold')\r\n doc.setFontSize(8)\r\n doc.text(String(data.cantidad), x + 14, y)\r\n doc.text(String(data.artcod), x + 38, y)\r\n doc.setFont(undefined, 'normal')\r\n doc.setFontSize(8)\r\n doc.text(data.producto, x + 68, y,\r\n {maxWidth: 70,\r\n }\r\n )\r\n doc.text(String(data.precio), x + 165, y)\r\n doc.text(String(data.exenta), x + 198, y)\r\n doc.text(String(data.cinco), x + 228, y)\r\n doc.text(String(data.diez), x + 262, y)\r\n\r\n }\r\n\r\n\r\n\r\n writePage()\r\n\r\n writePage(330)\r\n\r\n /*doc.save()*/\r\n doc.autoPrint()\r\n doc.output('dataurlnewwindow')\r\n}\r\n","import React, { useEffect, useState, useCallback,useReducer,useRef } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Button, ButtonGroup } from \"react-bootstrap\";\r\nimport { getFacturaById,anularFactura, getDetalleFacturaId,updateFactura } from \"../../../../Api/facturacion\"\r\nimport { getAllFormaPago } from \"../../../../Api/formaPago\"\r\nimport ModalDeposito from \"./ModalFichaFactura/ModalDeposito\"\r\nimport ModalModFecha from \"./ModalFichaFactura/ModalModFecha\"\r\nimport Table from 'react-bootstrap/Table';\r\nimport Swal from \"sweetalert2\";\r\nimport { TailSpin } from 'react-loader-spinner'\r\nimport { getUserCredentials } from \"../../../../Api/usuario\";\r\nimport genPDF from \"../../pdfWriter\";\r\nconst numberToTextss = require('../../TextoNumero')\r\nvar myStyle = {\r\n height: '8%',\r\n}\r\nvar myStyle2 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '10%',\r\n}\r\nvar myStyle3 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '68%',\r\n}\r\n\r\nvar myStyle5 = {\r\n borderTop: '1px solid #222',\r\n height: '4%',\r\n}\r\nvar myStyle6 = {\r\n\r\n\r\n height: '4%',\r\n}\r\n\r\nvar myStyleex = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '2%',\r\n}\r\nvar myStyleex2 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '2%',\r\n}\r\nvar myStylh1 = {\r\n borderRight: '1px solid #222',\r\n width: '6%',\r\n fontSize: 8\r\n}\r\nvar myStylh2 = {\r\n borderRight: '1px solid #222',\r\n width: '8%',\r\n fontSize: 8\r\n}\r\nvar myStylh3 = {\r\n borderRight: '1px solid #222',\r\n width: '40%',\r\n fontSize: 8\r\n}\r\nvar myStylh4 = {\r\n borderRight: '1px solid #222',\r\n width: '10%',\r\n fontSize: 8\r\n}\r\nvar myStylh5 = {\r\n borderRight: '1px solid #222',\r\n width: '7%',\r\n fontSize: 8\r\n}\r\nvar myStylh6 = {\r\n borderRight: '1px solid #222',\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStylh7 = {\r\n\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStyleventa = {\r\n borderRight: '1px solid #222',\r\n width: '64%',\r\n fontSize: 8\r\n}\r\nvar myStyleventa2 = {\r\n\r\n width: '37%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal = {\r\n borderRight: '1px solid #222',\r\n width: '64%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal2 = {\r\n borderRight: '1px solid #222',\r\n width: '8%',\r\n fontSize: 12\r\n}\r\nvar myStylSubtotal3 = {\r\n borderRight: '1px solid #222',\r\n width: '14%',\r\n fontSize: 12\r\n}\r\nvar myStylSubtotal4 = {\r\n\r\n width: '14%',\r\n fontSize: 12\r\n}\r\nvar myStyltotal = {\r\n borderRight: '1px solid #222',\r\n width: '86%',\r\n fontSize: 8\r\n}\r\nvar myStyltotal2 = {\r\n\r\n width: '14%',\r\n fontSize: 12\r\n}\r\nvar myStylh11 = {\r\n\r\n width: '30px',\r\n fontSize: 12\r\n}\r\nvar myStylh12 = {\r\n\r\n width: '39px',\r\n fontSize: 12\r\n}\r\nvar myStylh13 = {\r\n\r\n width: '184px',\r\n fontSize: 12\r\n}\r\nvar myStylh14 = {\r\n\r\n width: '48px',\r\n fontSize: 12\r\n}\r\nvar myStylh15 = {\r\n\r\n width: '36px',\r\n fontSize: 12\r\n}\r\nvar myStylh16 = {\r\n\r\n width: '66px',\r\n fontSize: 12\r\n}\r\nvar myStylh17 = {\r\n width: '66px',\r\n fontSize: 12\r\n}\r\nvar myStylex1 = {\r\n borderRight: '1px solid #222',\r\n width: '50%',\r\n fontSize: 12\r\n}\r\nvar myStylex2 = {\r\n width: '50%',\r\n fontSize: 30,\r\n color:'Red'\r\n}\r\nconst showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n onReturnValue: state.onReturnValue,\r\n ListFDP: state.ListFDP,\r\n };\r\n case \"SHOW2\":\r\n return {\r\n isShow: false,\r\n isShow2: true,\r\n onReturnValue: state.onReturnValue,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false, isShow2: false };\r\n \r\n }\r\n };\r\nconst FichaFactura = () => {\r\n const [userData, setUserData] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n isShow2:false,\r\n ListFDP: null,\r\n onReturnValue: null,\r\n });\r\n const onAgregarDeposito = () => {\r\n dispatchReducer({\r\n type: \"SHOW\",\r\n });\r\n };\r\n const onModFechaVencimiento = () => {\r\n dispatchReducer({\r\n type: \"SHOW2\",\r\n });\r\n };\r\n const onImprimir = () => {\r\n const datosfactura = datosfacturas[0]\r\n const isCredito=!contado\r\n \r\n let TextoNumber= numberToTextss.NumerosALetras(datosfactura.totalFactura)+\" \"+\"Guaranies--\"\r\n const sum1 = detallefactura.reduce((previous, current) => {\r\n return previous + Number(current.cinco)\r\n ; // sumar el valor de una propiedad\r\n }, 0);\r\n const sum2 = detallefactura.reduce((previous, current) => {\r\n return previous + Number(current.diez)\r\n ; // sumar el valor de una propiedad\r\n }, 0);\r\n genPDF({ datosfactura, detallefactura,isCredito,TextoNumber,sum1,sum2})\r\n };\r\n const onCloseModal = () => {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n const onReturnDeposito = async (data1,data2,data3) => {\r\n \r\n try {\r\n const result = await updateFactura(data1);\r\n const result2 = await updateFactura(data2);\r\n const result3 = await updateFactura(data3);\r\n if (result && result2 && result3) {\r\n if (result && result2) {\r\n Swal.fire({\r\n title: \"Deposito Realizado\",\r\n html: `Actualizado Correctamente`,\r\n icon: \"success\",\r\n });\r\n const listResult3 = await getFacturaById(datosfacturas[0].idFactura);\r\n const listResult4 = await getDetalleFacturaId(datosfacturas[0].idFactura);\r\n setFactura(listResult3);\r\n setDetalle(listResult4);\r\n Ncomprobante.current=data2.valueUpdate\r\n btndepositar.current=true\r\n dispatchReducer({ type: \"END\" });\r\n }\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n \r\n };\r\n const location = useLocation();\r\n const id = location.state?.id;\r\n const [id2, setid2] = useState(id);\r\n const [datosfacturas, setFactura] = useState([]);\r\n const [detallefactura, setDetalle] = useState([]);\r\n const [contado, setContado] = useState();\r\n const [credito, setCredito] = useState();\r\n const btnanular=useRef(false);\r\n const btndepositar=useRef(false);\r\n const btnvencimiento=useRef(false);\r\n const FacAnulado=useRef(\"\");\r\n const Ncomprobante=useRef(\"NO\");\r\n const [listFormadepago, setListFormadepago] = useState([]);\r\n const numberToTextss = require('../../TextoNumero')\r\n\r\n const assigmentValue = useCallback(async () => {\r\n try {\r\n const listResult = await getFacturaById(id2);\r\n const listResult2 = await getDetalleFacturaId(id2);\r\n const listResut3 = await getAllFormaPago()\r\n const result2 = await getUserCredentials();\r\n setUserData(result2)\r\n const resultMapeado = listResut3.map((item) => {\r\n return { label: item.nombre, value: item.nombre };\r\n });\r\n let resulting = resultMapeado.filter(item => item.label!=\"Efectivo\")\r\n setListFormadepago(resulting);\r\n \r\n if (listResult[0].anulado.data==1)\r\n {\r\n FacAnulado.current=\"ANULADO\"\r\n btnanular.current=true\r\n btndepositar.current=true\r\n btnvencimiento.current=true\r\n }\r\n if(listResult[0].numerodecomprobante!=\"NO\")\r\n {\r\n btndepositar.current=true\r\n }\r\n Ncomprobante.current=listResult[0].numerodecomprobante\r\n if (listResult[0].tipoFactura == \"Contado\") {\r\n setContado(true)\r\n setCredito(false)\r\n } else {\r\n setContado(false)\r\n setCredito(true)\r\n }\r\n setFactura(listResult);\r\n setDetalle(listResult2);\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n }, [id]);\r\n useEffect(() => {\r\n assigmentValue();\r\n }, [assigmentValue]);\r\n\r\n\r\n const Anular = () => {\r\n try{\r\n Swal.fire({\r\n title: 'Estas seguro/a de Anular?',\r\n text: \"No es Reversible!\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: 'black',\r\n cancelButtonColor: 'red',\r\n confirmButtonText: 'Si! anular'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n (async () => {\r\n anularFactura(id)\r\n })()\r\n assigmentValue()\r\n FacAnulado.current=\"ANULADO\"\r\n btnanular.current=true\r\n btndepositar.current=true\r\n btnvencimiento.current=true\r\n Ncomprobante.current='NO'\r\n Swal.fire({\r\n title: 'Anulado',\r\n text: \"Factura Anulada\",\r\n icon: 'warning',\r\n \r\n confirmButtonColor: 'black',\r\n \r\n })\r\n \r\n }\r\n })\r\n\r\n }\r\n catch (err) {\r\n console.log(err);\r\n }\r\n }\r\n const onReturnVencimiento = async (data) => {\r\n console.log(data)\r\n try {\r\n const result = await updateFactura(data);\r\n \r\n \r\n if (result ) {\r\n if (result ) {\r\n Swal.fire({\r\n title: \"Vencimiento Actualizado\",\r\n html: `Actualizado Correctamente`,\r\n icon: \"success\",\r\n });\r\n const listResult3 = await getFacturaById(id);\r\n const listResult4 = await getDetalleFacturaId(id);\r\n setFactura(listResult3);\r\n setDetalle(listResult4);\r\n dispatchReducer({ type: \"END\" });\r\n }\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n {datosfacturas.map((datosfactura, index2) => {\r\n return (\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Timbrado: {datosfactura.timbrado} \r\n Numero Factura: {datosfactura.pf1}-{datosfactura.pf2}-{datosfactura.numerofactura} \r\n \r\n
    \r\n
    \r\n {FacAnulado.current}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n Fecha Emision: {datosfactura.fechafactura} \r\n Cond. de venta: contado credito\r\n
    \r\n
    \r\n Nombre o Razon Social: {datosfactura.razonsocial}\r\n
    \r\n
    \r\n R.U.C o C.I No: {datosfactura.ruc}\r\n Direccion:{datosfactura.direccion}\r\n Tel:{datosfactura.telefono}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Venta
    \r\n\r\n
    \r\n
    \r\n
    cant.
    \r\n
    ArtCod.
    \r\n
    Descripcion
    \r\n
    P. Unitario
    \r\n
    exentas
    \r\n
    5%
    \r\n
    10%
    \r\n
    \r\n \r\n\r\n \r\n {detallefactura.map((detallefactura, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n
    {detallefactura.cantidad} {detallefactura.artcod} {detallefactura.producto} {detallefactura.precio} {detallefactura.exenta} {detallefactura.cinco} {detallefactura.diez}
    \r\n\r\n
    \r\n\r\n
    Sub Total
    \r\n
    \r\n
    {datosfactura.Subtotal5}
    \r\n
    {datosfactura.Subtotal10}
    \r\n\r\n\r\n
    \r\n
    \r\n
    Total a pagar(en letas) {numberToTextss.NumerosALetras(datosfactura.totalFactura)} Guaranies---------
    \r\n
    {datosfactura.totalFactura}
    \r\n
    \r\n
    \r\n
    \r\n
    LIQUIDACIOON DEL IVA (5%) {datosfactura.gravado05}
    \r\n
    (10%) {datosfactura.gravado10}
    \r\n
    Total Iva: {datosfactura.ivamonto}
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Datos Extras

    \r\n {userData.IdUsuario=== 103 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {reducer.isShow && (\r\n \r\n )} \r\n {reducer.isShow2 && (\r\n \r\n )} \r\n \r\n
    \r\n
    \r\n Forma de Pago: {datosfactura.formadepago}\r\n

    \r\n \r\n Numero de Comprobante : {Ncomprobante.current}\r\n \r\n

    \r\n \r\n Tipo de Factura : {datosfactura.tipoFactura}\r\n \r\n

    \r\n Fecha Vencimiento : {datosfactura.fechapagovencimiento} \r\n

    \r\n Obs : {datosfactura.obs} \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    datos extra Detalle factura

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {detallefactura.map((items3, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    Producto/ServicioPrecioPrecio Des.Monto Des.des %
    {items3.producto}{items3.preciosindescuento}{items3.precio}{items3.montodescuento}{items3.descuento}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n );\r\n \r\n })}\r\n \r\n \r\n \r\n )\r\n}\r\nexport default FichaFactura;","import { useCallback, useEffect, useReducer, useState ,Fragment,useRef} from \"react\";\r\nimport {getAllFacturasCreditoNodepositados,updateFactura} from '../../../Api/facturacion'\r\nimport { DownloadTableExcel } from 'react-export-table-to-excel';\r\nimport {\r\n Col,\r\n Card,\r\n Table,\r\n Button\r\n } from \"react-bootstrap\";\r\nimport ModalDepositar from \"../facturascontado/ModalDepositar/ModalDepositar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { TailSpin } from 'react-loader-spinner'\r\nimport { getAllFormaPago } from \"../../../Api/formaPago\"\r\nimport Swal from 'sweetalert2'\r\nconst showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n onReturnValue: state.onReturnValue,\r\n ListFDP: state.ListFDP,\r\n };\r\n case \"SHOW2\":\r\n return {\r\n isShow: false,\r\n isShow2: true,\r\n onReturnValue: state.onReturnValue,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false, isShow2: false };\r\n\r\n }\r\n};\r\nconst Vencimiento = () => {\r\n const VenColor=useRef(false);\r\n const [listFormadepago, setListFormadepago] = useState([]);\r\n const [userinfo, setUserInfo] = useState({\r\n idFac: [],\r\n response: [],\r\n });\r\n const [loading, setLoading] = useState(true);\r\n const [data, setdata] = useState([]);\r\n const chackbox = document.querySelectorAll(\".bs_exam_topper input\");\r\n const motherChackBox = document.querySelector(\".bs_exam_topper_all input\");\r\n const handleChange = (e) => {\r\n // Destructuring\r\n const { value, checked } = e.target;\r\n const { idFac } = userinfo;\r\n // Case 1 : The user checks the box\r\n if (checked) {\r\n setUserInfo({\r\n idFac: [...idFac, value],\r\n response: [...idFac, value],\r\n });\r\n }\r\n \r\n // Case 2 : The user unchecks the box\r\n else {\r\n setUserInfo({\r\n idFac: idFac.filter((e) => e !== value),\r\n response: idFac.filter((e) => e !== value),\r\n });\r\n }\r\n };\r\n \r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n isShow2:false,\r\n ListFDP: null,\r\n onReturnValue: null,\r\n });\r\n const Depositar = () => {\r\n \r\n dispatchReducer({\r\n type: \"SHOW\",\r\n });\r\n };\r\n const onCloseModal = () => {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n const assigmentValue = useCallback(async () => {\r\n try {\r\n \r\n const result = await getAllFacturasCreditoNodepositados();\r\n const listResut3 = await getAllFormaPago()\r\n const resultMapeado = listResut3.map((item) => {\r\n return { label: item.nombre, value: item.nombre };\r\n });\r\n let resulting = resultMapeado.filter(item => item.label!=\"Efectivo\")\r\n setListFormadepago(resulting);\r\n setdata(result);\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n });\r\n useEffect(() => {\r\n assigmentValue();\r\n }, []);\r\n const tableRef = useRef(null);\r\n function unCheck() {\r\n var x = document.getElementsByClassName(\"form-check-input\");\r\n for(let i=0; i {\r\n \r\n try {\r\n Swal.fire({\r\n title: 'Favor Aguarde',\r\n html: 'Actualizando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n });\r\n for (let i = 0; i < userinfo.idFac.length; i++) {\r\n \r\n data1.idFactura=userinfo.idFac[i]\r\n data2.idFactura=userinfo.idFac[i]\r\n const result = await updateFactura(data1);\r\n const result2 = await updateFactura(data2);\r\n }\r\n const result3 = await getAllFacturasCreditoNodepositados();\r\n setdata(result3);\r\n dispatchReducer({ type: \"END\" });\r\n unCheck();\r\n Swal.close();\r\n \r\n \r\n } catch (err) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n \r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Facturas Credito no Pagadas
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.map((data, index) => {\r\n if (data.fechapagovencimiento>new Date())\r\n {\r\n VenColor.current=false\r\n }else\r\n {\r\n VenColor.current=true\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n
    \r\n \r\n \r\n ID Factura\r\n \r\n Factura\r\n \r\n Ruc\r\n \r\n Razon Social\r\n \r\n Monto\r\n \r\n Vencimiento\r\n \r\n Fecha\r\n \r\n Ver Factura\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    {data.idFactura} {data.pf1}-{data.pf2}-{data.numerofactura}{data.ruc}{data.razonsocial} {data.totalFactura} {data.fechapagovencimiento} {data.fechafactura}Ver Factura
    \r\n
    \r\n
    \r\n \r\n {reducer.isShow && (\r\n \r\n )} \r\n
    \r\n )\r\n}\r\nexport default Vencimiento;","import React from 'react';\r\n\r\nexport const ColumnFilter = ( { column } ) => {\r\n\t\r\n\tconst {filterValue, setFilter} = column\r\n\treturn(\r\n\t\t
    \r\n\t\t\r\n\t\t\t setFilter(e.target.value)} />\r\n\t\t
    \r\n\t)\r\n} ","import {format} from 'date-fns';\r\nimport { ColumnFilter } from './ColumnFilter';\r\nexport const COLUMNS = [\r\n\t{\r\n\t\tHeader : 'Id',\r\n\t\tFooter : 'Id',\r\n\t\taccessor: 'idFactura',\r\n\t\tFilter: ColumnFilter,\r\n\t\t//disableFilters: true,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Pf1',\r\n\t\tFooter : 'Nombre',\r\n\t\taccessor: 'pf1',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Pf2',\r\n\t\tFooter : 'Ruc',\r\n\t\taccessor: 'pf2',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t\r\n\t{\r\n\t\tHeader : 'N Factura',\r\n\t\tFooter : 'Razon Social',\r\n\t\taccessor: 'numerofactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Total',\r\n\t\taccessor: 'totalFactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Fecha Emision',\r\n\t\taccessor: 'fechafactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Forma de pago',\r\n\t\taccessor: 'formadepago',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'N de comprobante',\r\n\t\t\r\n\t\taccessor: 'numerodecomprobante',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n]\r\n\r\nexport const GROUPED_COLUMNS = [\r\n\t{\r\n\t\tHeader : 'Id',\r\n\t\tFooter : 'Id',\r\n\t\taccessor: 'id'\r\n\t},\r\n\t{\r\n\t\tHeader : 'Name',\r\n\t\tFooter : 'Name',\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tHeader : 'First Name',\r\n\t\t\t\tFooter : 'First Name',\r\n\t\t\t\taccessor: 'first_name'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Last Name',\r\n\t\t\t\tFooter : 'Last Name',\r\n\t\t\t\taccessor: 'last_name'\r\n\t\t\t},\r\n\t\t]\r\n\t},\r\n\t{\r\n\t\tHeader: 'Info',\r\n\t\tFooter: 'Info',\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Date of Birth',\r\n\t\t\t\tFooter : 'Date of Birth',\r\n\t\t\t\taccessor: 'date_of_birth'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Country',\r\n\t\t\t\tFooter : 'Country',\r\n\t\t\t\taccessor: 'country',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Phone',\r\n\t\t\t\tFooter : 'Phone',\r\n\t\t\t\taccessor: 'phone'\r\n\t\t\t},\r\n\t\t]\r\n\t},\r\n]","import React from 'react';\r\n\r\nexport const GlobalFilter = ( {filter, setFilter} ) =>{\r\n\treturn(\r\n\t\t
    \r\n\t\t\tSearch : {' '}\r\n\t\t\t setFilter(e.target.value)} style={{width: \"20%\"}}\r\n />\r\n\t\t
    \r\n\t)\r\n} ","import React, { Fragment,useCallback,useEffect,useState,useMemo,useRef} from \"react\";\r\n import {Link} from \"react-router-dom\";\r\n import { Row,Col, Card,Button,} from \"react-bootstrap\";\r\n import { useTable, useGlobalFilter, useFilters, usePagination } from 'react-table';\r\n import { COLUMNS } from './Columns';\r\n import { GlobalFilter } from './GlobalFilter';\r\n import './filtering.css';\r\n import {getAllfacturasCreditoPagados} from '../../../Api/facturacion'\r\n import {getAllFormaPago} from '../../../Api/formaPago'\r\n import Select from \"react-select\";\r\n import { DownloadTableExcel } from 'react-export-table-to-excel';\r\n import { TailSpin } from 'react-loader-spinner'\r\n const Cobranzas = () => {\r\n const [loading, setLoading] = useState(true);\r\n const [filterData, setValue] = useState([]);\r\n const [data, setdata] = useState([]);\r\n const [FDP,setFDP]= useState([]);\r\n const columns = useMemo( () => COLUMNS, [] )\r\n const assigmentValue = useCallback(async () => {\r\n try {\r\n const producto = {\r\n fechaincial: '1991-01-01',\r\n fechafinal: '1991-01-01',\r\n formadepago:'TODOS'\r\n }\r\n\r\n const result = await getAllfacturasCreditoPagados(producto);\r\n \r\n const result2 = await getAllFormaPago();\r\n const resultMapeado = result2.map((item) => {\r\n return { label: item.nombre, value: item.nombre };\r\n });\r\n setdata([...result]);\r\n setFDP([...resultMapeado,{value:'TODOS',label:'Todos'}])\r\n setValue({\r\n fechaincial : '1991-01-01',\r\n fechafinal: '1991-01-01'\r\n }\r\n )\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n });\r\n useEffect(() => {\r\n assigmentValue();\r\n }, []);\r\n\r\n const Filtrar = useCallback(async () => {\r\n try {\r\n \r\n const result = await getAllfacturasCreditoPagados(filterData);\r\n \r\n setdata([...result]);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n });\r\n \r\n \r\n \r\n const tableInstance = useTable({\r\n columns,\r\n data,\t\r\n initialState : {pageIndex : 0}\r\n }, useFilters, useGlobalFilter, usePagination)\r\n \r\n const { \r\n getTableProps, \r\n getTableBodyProps, \r\n headerGroups, \r\n prepareRow,\r\n state,\r\n page,\r\n gotoPage,\r\n pageCount,\r\n pageOptions,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n setGlobalFilter,\r\n } = tableInstance\r\n \r\n \r\n const {globalFilter, pageIndex} = state\r\n \r\n const tableRef = useRef(null);\r\n \r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Facturas Credito Pagados\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Filtros\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setValue({\r\n ...filterData,\r\n fechaincial: e.target.value,\r\n });\r\n }}\r\n \r\n \r\n\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setValue({\r\n ...filterData,\r\n fechafinal: e.target.value,\r\n });\r\n }}\r\n \r\n\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setValue({\r\n ...filterData,\r\n formadepago: e.value,\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n

    \r\n \r\n \r\n \r\n {headerGroups.map(headerGroup => (\r\n \r\n {headerGroup.headers.map(column => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {page.map((row) => {\r\n prepareRow(row)\r\n return(\r\n \r\n {row.cells.map((cell) => {\r\n return \r\n })}\r\n \r\n )\r\n })}\r\n \r\n
    \r\n {column.render('Header')}\r\n {column.canFilter ? column.render('Filter') : null}\r\n
    {cell.render('Cell')}
    \r\n
    \r\n \r\n Page{' '}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n {''}\r\n \r\n \r\n Go to page : {' '}\r\n { \r\n const pageNumber = e.target.value ? Number(e.target.value) - 1 : 0 \r\n gotoPage(pageNumber)\r\n } } \r\n />\r\n \r\n
    \r\n
    \t\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n )\r\n }\r\n export default Cobranzas;","import classNames from 'classnames';\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * Specify whether the feedback is for valid or invalid fields\n *\n * @type {('valid'|'invalid')}\n */\n type: PropTypes.string,\n /** Display feedback as a tooltip. */\n tooltip: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Feedback = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n as: Component = 'div',\n className,\n type = 'valid',\n tooltip = false,\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, `${type}-${tooltip ? 'tooltip' : 'feedback'}`)\n}));\nFeedback.displayName = 'Feedback';\nFeedback.propTypes = propTypes;\nexport default Feedback;","import * as React from 'react';\n\n// TODO\n\nconst FormContext = /*#__PURE__*/React.createContext({});\nexport default FormContext;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckInput = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n className,\n type = 'checkbox',\n isValid = false,\n isInvalid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-input');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n type: type,\n id: id || controlId,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid')\n });\n});\nFormCheckInput.displayName = 'FormCheckInput';\nexport default FormCheckInput;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-label');\n return /*#__PURE__*/_jsx(\"label\", {\n ...props,\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix)\n });\n});\nFormCheckLabel.displayName = 'FormCheckLabel';\nexport default FormCheckLabel;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport Feedback from './Feedback';\nimport FormCheckInput from './FormCheckInput';\nimport FormCheckLabel from './FormCheckLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { hasChildOfType } from './ElementChildren';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FormCheck = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n bsSwitchPrefix,\n inline = false,\n reverse = false,\n disabled = false,\n isValid = false,\n isInvalid = false,\n feedbackTooltip = false,\n feedback,\n feedbackType,\n className,\n style,\n title = '',\n type = 'checkbox',\n label,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'input',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check');\n bsSwitchPrefix = useBootstrapPrefix(bsSwitchPrefix, 'form-switch');\n const {\n controlId\n } = useContext(FormContext);\n const innerFormContext = useMemo(() => ({\n controlId: id || controlId\n }), [controlId, id]);\n const hasLabel = !children && label != null && label !== false || hasChildOfType(children, FormCheckLabel);\n const input = /*#__PURE__*/_jsx(FormCheckInput, {\n ...props,\n type: type === 'switch' ? 'checkbox' : type,\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n disabled: disabled,\n as: as\n });\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: innerFormContext,\n children: /*#__PURE__*/_jsx(\"div\", {\n style: style,\n className: classNames(className, hasLabel && bsPrefix, inline && `${bsPrefix}-inline`, reverse && `${bsPrefix}-reverse`, type === 'switch' && bsSwitchPrefix),\n children: children || /*#__PURE__*/_jsxs(_Fragment, {\n children: [input, hasLabel && /*#__PURE__*/_jsx(FormCheckLabel, {\n title: title,\n children: label\n }), feedback && /*#__PURE__*/_jsx(Feedback, {\n type: feedbackType,\n tooltip: feedbackTooltip,\n children: feedback\n })]\n })\n })\n });\n});\nFormCheck.displayName = 'FormCheck';\nexport default Object.assign(FormCheck, {\n Input: FormCheckInput,\n Label: FormCheckLabel\n});","import * as React from 'react';\n\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\nfunction map(children, func) {\n let index = 0;\n return React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child);\n}\n\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\nfunction forEach(children, func) {\n let index = 0;\n React.Children.forEach(children, child => {\n if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n });\n}\n\n/**\n * Finds whether a component's `children` prop includes a React element of the\n * specified type.\n */\nfunction hasChildOfType(children, type) {\n return React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && child.type === type);\n}\nexport { map, forEach, hasChildOfType };","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Feedback from './Feedback';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormControl = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n type,\n size,\n htmlSize,\n id,\n className,\n isValid = false,\n isInvalid = false,\n plaintext,\n readOnly,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-control');\n let classes;\n if (plaintext) {\n classes = {\n [`${bsPrefix}-plaintext`]: true\n };\n } else {\n classes = {\n [bsPrefix]: true,\n [`${bsPrefix}-${size}`]: size\n };\n }\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !id, '`controlId` is ignored on `` when `id` is specified.') : void 0;\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n type: type,\n size: htmlSize,\n ref: ref,\n readOnly: readOnly,\n id: id || controlId,\n className: classNames(className, classes, isValid && `is-valid`, isInvalid && `is-invalid`, type === 'color' && `${bsPrefix}-color`)\n });\n});\nFormControl.displayName = 'FormControl';\nexport default Object.assign(FormControl, {\n Feedback\n});","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('form-floating');","import * as React from 'react';\nimport { useMemo } from 'react';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormGroup = /*#__PURE__*/React.forwardRef(({\n controlId,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const context = useMemo(() => ({\n controlId\n }), [controlId]);\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref\n })\n });\n});\nFormGroup.displayName = 'FormGroup';\nexport default FormGroup;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Col from './Col';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormLabel = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'label',\n bsPrefix,\n column = false,\n visuallyHidden = false,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');\n let columnClass = 'col-form-label';\n if (typeof column === 'string') columnClass = `${columnClass} ${columnClass}-${column}`;\n const classes = classNames(className, bsPrefix, visuallyHidden && 'visually-hidden', column && columnClass);\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !htmlFor, '`controlId` is ignored on `` when `htmlFor` is specified.') : void 0;\n htmlFor = htmlFor || controlId;\n if (column) return /*#__PURE__*/_jsx(Col, {\n ref: ref,\n as: \"label\",\n className: classes,\n htmlFor: htmlFor,\n ...props\n });\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n _jsx(Component, {\n ref: ref,\n className: classes,\n htmlFor: htmlFor,\n ...props\n })\n );\n});\nFormLabel.displayName = 'FormLabel';\nexport default FormLabel;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormRange = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-range');\n return /*#__PURE__*/_jsx(\"input\", {\n ...props,\n type: \"range\",\n ref: ref,\n className: classNames(className, bsPrefix),\n id: id || controlId\n });\n});\nFormRange.displayName = 'FormRange';\nexport default FormRange;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormSelect = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n htmlSize,\n className,\n isValid = false,\n isInvalid = false,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-select');\n return /*#__PURE__*/_jsx(\"select\", {\n ...props,\n size: htmlSize,\n ref: ref,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, isValid && `is-valid`, isInvalid && `is-invalid`),\n id: id || controlId\n });\n});\nFormSelect.displayName = 'FormSelect';\nexport default FormSelect;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormText = /*#__PURE__*/React.forwardRef(\n// Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n as: Component = 'small',\n muted,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');\n return /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, bsPrefix, muted && 'text-muted')\n });\n});\nFormText.displayName = 'FormText';\nexport default FormText;","import * as React from 'react';\nimport FormCheck from './FormCheck';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Switch = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(FormCheck, {\n ...props,\n ref: ref,\n type: \"switch\"\n}));\nSwitch.displayName = 'Switch';\nexport default Object.assign(Switch, {\n Input: FormCheck.Input,\n Label: FormCheck.Label\n});","import classNames from 'classnames';\nimport * as React from 'react';\nimport FormGroup from './FormGroup';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FloatingLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n controlId,\n label,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n return /*#__PURE__*/_jsxs(FormGroup, {\n ref: ref,\n className: classNames(className, bsPrefix),\n controlId: controlId,\n ...props,\n children: [children, /*#__PURE__*/_jsx(\"label\", {\n htmlFor: controlId,\n children: label\n })]\n });\n});\nFloatingLabel.displayName = 'FloatingLabel';\nexport default FloatingLabel;","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport FormCheck from './FormCheck';\nimport FormControl from './FormControl';\nimport FormFloating from './FormFloating';\nimport FormGroup from './FormGroup';\nimport FormLabel from './FormLabel';\nimport FormRange from './FormRange';\nimport FormSelect from './FormSelect';\nimport FormText from './FormText';\nimport Switch from './Switch';\nimport FloatingLabel from './FloatingLabel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * The Form `ref` will be forwarded to the underlying element,\n * which means, unless it's rendered `as` a composite component,\n * it will be a DOM node, when resolved.\n *\n * @type {ReactRef}\n * @alias ref\n */\n _ref: PropTypes.any,\n /**\n * Mark a form as having been validated. Setting it to `true` will\n * toggle any validation styles on the forms elements.\n */\n validated: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Form = /*#__PURE__*/React.forwardRef(({\n className,\n validated,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'form',\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, {\n ...props,\n ref: ref,\n className: classNames(className, validated && 'was-validated')\n}));\nForm.displayName = 'Form';\nForm.propTypes = propTypes;\nexport default Object.assign(Form, {\n Group: FormGroup,\n Control: FormControl,\n Floating: FormFloating,\n Check: FormCheck,\n Switch,\n Label: FormLabel,\n Text: FormText,\n Range: FormRange,\n Select: FormSelect,\n FloatingLabel\n});","import Button from \"react-bootstrap/Button\";\r\nimport Select from \"react-select\";\r\nconst handleKeyPress = (e) => {\r\n if (e.charCode === 45 || e.charCode === 46) {\r\n return e.preventDefault()\r\n }\r\n };\r\nfunction TableRows({rowsData, deleteTableRows, handleChange,handleChange2,listcostos,handleChangeSelect}) {\r\n \r\n return(\r\n \r\n rowsData.map((data, index)=>{\r\n const {Descuento,precio,iva,total}= data;\r\n \r\n return(\r\n <>\r\n \r\n \r\n (handleChange2(index, evnt))} name=\"descuento\" className=\"form-control\"/> \r\n (handleChange(index, evnt))} name=\"cantidad\" className=\"form-control\"/> \r\n (handleChangeSelect(index, evnt,'producto'))} \r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n \r\n )\r\n \r\n}\r\nexport default TableRows;","\r\nimport { useState } from \"react\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport genPDF from \"./pdfWriter\"\r\nvar myStyle = {\r\n borderRight: '1px solid #222',\r\n width: '50%',\r\n height: '8%',\r\n}\r\nvar myStyle2 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '8%',\r\n}\r\nvar myStyle3 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '68%',\r\n}\r\n\r\nvar myStyle5 = {\r\n borderTop: '1px solid #222',\r\n height: '4%',\r\n}\r\nvar myStyle6 = {\r\n\r\n\r\n height: '4%',\r\n}\r\nvar myStyle7 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '2%',\r\n}\r\nvar myStyleex = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '2%',\r\n}\r\nvar myStyleex2 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '2%',\r\n}\r\nvar myStylh1 = {\r\n borderRight: '1px solid #222',\r\n width: '6%',\r\n fontSize: 8\r\n}\r\nvar myStylh2 = {\r\n borderRight: '1px solid #222',\r\n width: '8%',\r\n fontSize: 8\r\n}\r\nvar myStylh3 = {\r\n borderRight: '1px solid #222',\r\n width: '40%',\r\n fontSize: 8\r\n}\r\nvar myStylh4 = {\r\n borderRight: '1px solid #222',\r\n width: '10%',\r\n fontSize: 8\r\n}\r\nvar myStylh5 = {\r\n borderRight: '1px solid #222',\r\n width: '7%',\r\n fontSize: 8\r\n}\r\nvar myStylh6 = {\r\n borderRight: '1px solid #222',\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStylh7 = {\r\n\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStyleventa = {\r\n borderRight: '1px solid #222',\r\n width: '64%',\r\n fontSize: 8\r\n}\r\nvar myStyleventa2 = {\r\n\r\n width: '37%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal = {\r\n borderRight: '1px solid #222',\r\n width: '64%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal2 = {\r\n borderRight: '1px solid #222',\r\n width: '8%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal3 = {\r\n borderRight: '1px solid #222',\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal4 = {\r\n\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStyltotal = {\r\n borderRight: '1px solid #222',\r\n width: '86%',\r\n fontSize: 8\r\n}\r\nvar myStyltotal2 = {\r\n\r\n width: '14%',\r\n fontSize: 12\r\n}\r\nvar myStylh11 = {\r\n \r\n width: '30px',\r\n fontSize: 12\r\n}\r\nvar myStylh12 = {\r\n \r\n width: '39px',\r\n fontSize: 12\r\n}\r\nvar myStylh13 = {\r\n \r\n width: '184px',\r\n fontSize: 12\r\n}\r\nvar myStylh14 = {\r\n \r\n width: '48px',\r\n fontSize: 12\r\n}\r\nvar myStylh15 = {\r\n \r\n width: '36px',\r\n fontSize: 12\r\n}\r\nvar myStylh16 = {\r\n \r\n width: '66px',\r\n fontSize: 12\r\n}\r\nvar myStylh17 = {\r\n width: '66px',\r\n fontSize: 12\r\n}\r\nconst ModalPreview = (props) => {\r\n const { estado, onCloseModal, onReturnValue2, datosfactura, detallefactura,credito,contado } = props;\r\n const numberToTextss = require('./TextoNumero')\r\n const [not,SetNot]=useState(false)\r\n const handleclick = () => {\r\n SetNot(true)\r\n let isCredito=false\r\n if (credito) isCredito=credito\r\n let TextoNumber= numberToTextss.NumerosALetras(datosfactura.totalmonto)+\" \"+\"Guaranies--\"\r\n onReturnValue2({datosfactura,detallefactura,isCredito,TextoNumber});\r\n };\r\n \r\n return (\r\n <>\r\n \r\n \r\n Preview\r\n \r\n \r\n
    \r\n
    \r\n Timbrado: {datosfactura.timbrado} \r\n

    \r\n Numero Factura: {datosfactura.pf1}-{datosfactura.pf2}-{datosfactura.numeroActual.current} \r\n
    \r\n
    \r\n
    \r\n Fecha Emision: {new Date().toLocaleDateString()} \r\n Cond. de venta: contado credito\r\n
    \r\n
    \r\n Nombre o Razon Social: {datosfactura.razonsocial}\r\n
    \r\n
    \r\n R.U.C o C.I No: {datosfactura.ruc}\r\n Direccion:{datosfactura.direccion}\r\n Tel:{datosfactura.telefono}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Venta
    \r\n\r\n
    \r\n
    \r\n
    cant.
    \r\n
    ArtCod.
    \r\n
    Descripcion
    \r\n
    P. Unitario
    \r\n
    exentas
    \r\n
    5%
    \r\n
    10%
    \r\n
    \r\n \r\n \r\n {detallefactura.map((detallefactura,index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n
    {detallefactura.cantidad} {detallefactura.artcod} {detallefactura.producto} {detallefactura.precio} {detallefactura.exenta} {Math.round(detallefactura.cinco)} {Math.round(detallefactura.diez)}
    \r\n\r\n
    \r\n\r\n
    Sub Total
    \r\n
    \r\n
    {datosfactura.Subtotal5}
    \r\n
    {datosfactura.Subtotal10}
    \r\n
    \r\n
    \r\n
    Total a pagar(en letas) {numberToTextss.NumerosALetras(datosfactura.totalmonto)} Guaranies---------
    \r\n
    {datosfactura.totalmonto}
    \r\n
    \r\n
    \r\n
    \r\n
    LIQUIDACIOON DEL IVA (5%) {datosfactura.iva5}
    \r\n
    (10%) {datosfactura.iva10}
    \r\n
    Total Iva: {datosfactura.ivatotal}
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ModalPreview;\r\n\r\n","import React, {\r\n useCallback,\r\n useEffect,\r\n useReducer,\r\n useState,\r\n useRef,\r\n} from \"react\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport Button from \"react-bootstrap/Button\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport Card from \"react-bootstrap/Card\";\r\nimport InputGroup from \"react-bootstrap/InputGroup\";\r\nimport Select from \"react-select\";\r\nimport ModalAgregarClientes from \"./sis/ModalFacturacion/ModalAgregarCliente\";\r\nimport {\r\n getAllClientes,\r\n getClienteById,\r\n saveCliente,\r\n} from \"../../Api/cliente.js\";\r\nimport { getAllFormaPago } from \"../../Api/formaPago\";\r\nimport { getAllTimbrados, getTimbradoByQuery } from \"../../Api/timbrado\";\r\nimport { getAllPuntoVenta } from \"../../Api/puntoVenta\";\r\nimport { getAllSucursal } from \"../../Api/sucursal\";\r\nimport Swal from \"sweetalert2\";\r\nimport { TYPE_FACTURA } from \"../../Utils/const\";\r\nimport TableRows from \"./TableRows\";\r\nimport { insertFactura } from \"../../Api/facturacion\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { getAllCostos, getCostosbyID } from \"../../Api/Costos\";\r\nimport { getUserCredentials } from \"../../Api/usuario\";\r\nimport ModalPreview from \"./Preview\";\r\nimport genPDF from \"./pdfWriter\"\r\nconst showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n typeModal: state.typeModal,\r\n onReturnValue: state.onReturnValue,\r\n };\r\n case \"SHOW2\":\r\n return {\r\n isShow2: true,\r\n typeModal: state.typeModal,\r\n onReturnValue2: state.onReturnValue2,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false, isShow2: false };\r\n default:\r\n return { ...curShow, isShow: false };\r\n }\r\n};\r\nconst Generarfactura = () => {\r\n const Editdata = [{\r\n nombre:\"\",\r\n razonsocial:\"\",\r\n ruc:\"\",\r\n Ciudad:\"\",\r\n direccion:\"\",\r\n telefono:\"\",\r\n correo:\"\"\r\n }]\r\n\r\n const Compro = useRef(null)\r\n const fdp = useRef(null)\r\n const tp = useRef(null)\r\n const [Comprobante, setComprobante] = useState(true);\r\n const [Descuento, setDescuento] = useState(0);\r\n const [Precio, setPrecio] = useState();\r\n const [Contado, setContado] = useState(false);\r\n const [Credito, setCredito] = useState(false);\r\n const Ivafive = useRef(0);\r\n const Ivaten = useRef(0);\r\n const descuentototal = useRef(0)\r\n const [Ivaproducto, setIvaproducto] = useState();\r\n const Tim = useRef(0);\r\n const Suc = useRef(0);\r\n const PDV = useRef(0);\r\n const nfactura = useRef();\r\n const timbradoid = useRef();\r\n const navigate = useNavigate();\r\n const [rowsData, setRowsData] = useState([]);\r\n const addTableRows = () => {\r\n const rowsInput = {\r\n preciosindescuento:0,\r\n descuento:0,\r\n cantidad: 0,\r\n producto: \"\",\r\n precio: \"\",\r\n iva: \"\",\r\n total: \"\",\r\n };\r\n setRowsData([...rowsData, rowsInput]);\r\n };\r\n const deleteTableRows = (index) => {\r\n \r\n \r\n const rows = [...rowsData];\r\n rows.splice(index, 1);\r\n if (formData3.descuento === undefined) {\r\n formData3.descuento = 0;\r\n }\r\n const _ = require(\"lodash\");\r\n \r\n const sum = _.sumBy(rows, (rowsDatas) => Number(rowsDatas.total));\r\n const subtotal5 = _.sumBy(rows, (rowsDatas) => Number(rowsDatas.cinco));\r\n const subtotal10 = _.sumBy(rows, (rowsDatas) => Number(rowsDatas.diez));\r\n let i;\r\n let iva10 = 0;\r\n let iva5 = 0;\r\n for (i in rows) {\r\n if (rows[i].iva == 5) iva5 = iva5 + rows[i].total / 21;\r\n else iva10 = iva10 + rows[i].total / 11;\r\n }\r\n \r\n descuentototal.current=((sum * formData3.descuento) / 100);\r\n totalfactura.current=(sum - (sum * formData3.descuento) / 100);\r\n Ivaten.current=(Math.round(iva10));\r\n Ivafive.current=(Math.round(iva5));\r\n ivatotalfactura.current=(Math.round(iva5)+Math.round(iva10));\r\n setValue({\r\n ...formData3,\r\n totalmonto: sum - (sum * formData3.descuento) / 100,\r\n descuentomonto: (sum * formData3.descuento) / 100,\r\n iva10: Math.round(iva10),\r\n iva5: Math.round(iva5),\r\n ivatotal: Math.round(iva5)+Math.round(iva10),\r\n Subtotal5:subtotal5,\r\n Subtotal10:subtotal10,\r\n });\r\n setRowsData(rows);\r\n };\r\n const handleChange2 = (index, evnt) => {\r\n const { name, value } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = value;\r\n rowsInput[index][\"montodescuento\"]=Math.round((rowsInput[index][\"descuento\"]*rowsInput[index][\"preciosindescuento\"])/100)\r\n rowsInput[index][\"precio\"] = rowsInput[index][\"preciosindescuento\"] - rowsInput[index][\"montodescuento\"]\r\n rowsInput[index][\"total\"] = Math.round(rowsInput[index][\"precio\"] * rowsInput[index][\"cantidad\"]);\r\n if (rowsInput[index][\"iva\"]==5)\r\n{\r\n \r\n rowsInput[index][\"exenta\"]=\" \"\r\n rowsInput[index][\"cinco\"]=rowsInput[index][\"total\"]\r\n rowsInput[index][\"diez\"]=\" \"\r\n}\r\nif (rowsInput[index][\"iva\"]==10)\r\n{\r\n rowsInput[index][\"exenta\"]=\" \"\r\n rowsInput[index][\"cinco\"]=\" \"\r\n \r\n rowsInput[index][\"diez\"]=rowsInput[index][\"total\"]\r\n}\r\n\r\n setRowsData(rowsInput);\r\n Refresh()\r\n \r\n };\r\n const handleChange = (index, evnt) => {\r\n const { name, value } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = value;\r\n \r\n rowsInput[index][\"total\"] = Math.round(rowsInput[index][\"precio\"] * rowsInput[index][\"cantidad\"]);\r\n if (rowsInput[index][\"iva\"]==5)\r\n{\r\n \r\n rowsInput[index][\"exenta\"]=\" \"\r\n rowsInput[index][\"cinco\"]=rowsInput[index][\"total\"]\r\n rowsInput[index][\"diez\"]=\" \"\r\n}\r\nif (rowsInput[index][\"iva\"]==10)\r\n{\r\n rowsInput[index][\"exenta\"]=\" \"\r\n rowsInput[index][\"cinco\"]=\" \"\r\n \r\n rowsInput[index][\"diez\"]=rowsInput[index][\"total\"]\r\n}\r\n\r\n setRowsData(rowsInput);\r\n Refresh()\r\n \r\n };\r\n const handleChangeSelect = useCallback(async (index, evnt, name) => {\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const ReturnList = await getCostosbyID(evnt.value);\r\n Swal.close()\r\n setPrecio(Math.round(ReturnList.precioventa));\r\n setIvaproducto(ReturnList.ivavalor);\r\n const rowsInput = [...rowsData];\r\n \r\n \r\n rowsInput[index][\"idProducto\"] = evnt.value;\r\n rowsInput[index][\"artcod\"] = ReturnList.COD;\r\n rowsInput[index][name] = ReturnList.producto;\r\n rowsInput[index][\"preciosindescuento\"]=ReturnList.precioventa;\r\n rowsInput[index][\"montodescuento\"]=Math.round((rowsInput[index][\"descuento\"]*rowsInput[index][\"preciosindescuento\"])/100)\r\n rowsInput[index][\"precio\"] = Math.round(rowsInput[index][\"preciosindescuento\"]-((rowsInput[index][\"descuento\"]*rowsInput[index][\"preciosindescuento\"])/100))\r\n rowsInput[index][\"iva\"] = ReturnList.ivavalor;\r\n rowsInput[index][\"total\"] = Math.round(rowsInput[index][\"precio\"] * rowsInput[index][\"cantidad\"]);\r\n \r\nif (ReturnList.ivavalor==5)\r\n{\r\n \r\n rowsInput[index][\"exenta\"]=\" \"\r\n rowsInput[index][\"cinco\"]= rowsInput[index][\"precio\"] * rowsInput[index][\"cantidad\"];\r\n rowsInput[index][\"diez\"]=\" \"\r\n}\r\nif (ReturnList.ivavalor==10)\r\n{\r\n rowsInput[index][\"exenta\"]=\" \"\r\n rowsInput[index][\"cinco\"]=\" \"\r\n rowsInput[index][\"diez\"]= rowsInput[index][\"precio\"] * rowsInput[index][\"cantidad\"];\r\n}\r\n Refresh()\r\n\r\n setRowsData(rowsInput);\r\n });\r\n\r\n\r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n isShow2: false,\r\n typeModal: null,\r\n onReturnValue: null,\r\n });\r\n const handleShow4 = () => {\r\n dispatchReducer({ type: \"SHOW\", typeModal: \"CLIENTE\" });\r\n };\r\n const handleShow5 = () => {\r\n \r\n let errordescuento=0\r\n let errorcantidad=0\r\n for (let i=0;i {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n\r\n const timbradoID = useCallback(async (e) => {\r\n Tim.current = e.label;\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const objecttalonario = { Suc, PDV, Tim };\r\n const resultTimbrado = await getTimbradoByQuery(objecttalonario);\r\n Swal.close();\r\n if (resultTimbrado === undefined) {\r\n nfactura.current = \"\";\r\n } else {\r\n var f1 = new Date(resultTimbrado.fechaFinal);\r\n\r\n if (f1 < new Date()) {\r\n Swal.fire({\r\n title: \"Talonario Vencido\",\r\n html: `favor de reportar e Inhabilitar`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n navigate(\"/Opcionesdetimbrado\");\r\n } else {\r\n nfactura.current = resultTimbrado.numeroActual;\r\n if (nfactura.current > resultTimbrado.numeroFinal) {\r\n Swal.fire({\r\n title: \"Talonario Sin Facturas\",\r\n html: `favor de reportar e Inhabilitar`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n navigate(\"/Opcionesdetimbrado\");\r\n } else {\r\n if (nfactura.current == resultTimbrado.numeroFinal) {\r\n Swal.fire({\r\n title: \"Ultima Factura del talonario\",\r\n html: `favor de reportar`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n timbradoid.current = resultTimbrado.idtimbrado;\r\n }\r\n\r\n setValue({\r\n ...formData3,\r\n timbrado: Tim.current,\r\n idtimbrado: timbradoid.current,\r\n pf1: Suc.current,\r\n pf2: PDV.current,\r\n numeroActual: nfactura,\r\n moneda: \"Gs\",\r\n });\r\n });\r\n const sucursalID = useCallback(async (e) => {\r\n Suc.current = e.value;\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const objecttalonario = { Suc, PDV, Tim };\r\n const resultTimbrado = await getTimbradoByQuery(objecttalonario);\r\n Swal.close()\r\n if (resultTimbrado === undefined) {\r\n nfactura.current = \"\";\r\n } else {\r\n var f1 = new Date(resultTimbrado.fechaFinal);\r\n\r\n if (f1 < new Date()) {\r\n Swal.fire({\r\n title: \"Talonario Vencido\",\r\n html: `favor de reportar e Inhabilitar`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n navigate(\"/Opcionesdetimbrado\");\r\n } else {\r\n nfactura.current = resultTimbrado.numeroActual;\r\n if (nfactura.current > resultTimbrado.numeroFinal) {\r\n Swal.fire({\r\n title: \"Talonario Sin Facturas\",\r\n html: `favor de reportar e Inhabilitar`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n navigate(\"/Opcionesdetimbrado\");\r\n } else {\r\n if (nfactura.current == resultTimbrado.numeroFinal) {\r\n Swal.fire({\r\n title: \"Ultima Factura del talonario\",\r\n html: `favor de reportar`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n timbradoid.current = resultTimbrado.idtimbrado;\r\n }\r\n setValue({\r\n ...formData3,\r\n timbrado: Tim.current,\r\n idtimbrado: timbradoid.current,\r\n pf1: Suc.current,\r\n pf2: PDV.current,\r\n numeroActual: nfactura,\r\n moneda: \"Gs\",\r\n });\r\n });\r\n const pdvID = useCallback(async (e) => {\r\n PDV.current = e.value;\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const objecttalonario = { Suc, PDV, Tim };\r\n const resultTimbrado = await getTimbradoByQuery(objecttalonario);\r\n Swal.close()\r\n if (resultTimbrado === undefined) {\r\n nfactura.current = \"\";\r\n } else {\r\n var f1 = new Date(resultTimbrado.fechaFinal);\r\n\r\n if (f1 < new Date()) {\r\n Swal.fire({\r\n title: \"Talonario Vencido\",\r\n html: `favor de reportar e Inhabilitar`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n navigate(\"/Opcionesdetimbrado\");\r\n } else {\r\n nfactura.current = resultTimbrado.numeroActual;\r\n if (nfactura.current > resultTimbrado.numeroFinal) {\r\n Swal.fire({\r\n title: \"Talonario Sin Facturas\",\r\n html: `favor de reportar e Inhabilitar`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n navigate(\"/Opcionesdetimbrado\");\r\n } else {\r\n if (nfactura.current == resultTimbrado.numeroFinal) {\r\n Swal.fire({\r\n title: \"Ultima Factura del talonario\",\r\n html: `favor de reportar`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n timbradoid.current = resultTimbrado.idtimbrado;\r\n }\r\n setValue({\r\n ...formData3,\r\n timbrado: Tim.current,\r\n idtimbrado: timbradoid.current,\r\n pf1: Suc.current,\r\n pf2: PDV.current,\r\n numeroActual: nfactura,\r\n moneda: \"Gs\",\r\n });\r\n });\r\n const [Rucval, setRuval] = useState([]);\r\n const [Rzval, setRzval] = useState([]);\r\n const clienteid = useCallback(async (e) => {\r\n const { value, label } = e;\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const resultCliente = await getClienteById(value);\r\n Swal.close()\r\n const { ruc, razonsocial,direccion,telefono } = resultCliente[0];\r\n setRuval(ruc);\r\n setRzval(razonsocial);\r\n if (direccion!=null)\r\n {\r\n if (direccion.length>45)\r\n {\r\n Swal.fire({\r\n title: \"Direccion Erronea\",\r\n html: `Dirrecion Muy larga`,\r\n icon: \"error\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n navigate(\r\n '/FichaCliente',\r\n {\r\n state: {\r\n id: value\r\n }\r\n }\r\n )\r\n }\r\n }\r\n setValue({\r\n ...formData3,\r\n idCliente: value,\r\n ruc: ruc,\r\n cliente: label,\r\n razonsocial: razonsocial,\r\n direccion:direccion,\r\n telefono:telefono\r\n });\r\n });\r\n\r\n const [formData3, setValue] = useState([]);\r\n\r\n const ReturnFactura = async ({datosfactura,detallefactura,isCredito,TextoNumber}) => {\r\n \r\n setValue((prevState) => {\r\n const currentData = prevState;\r\n currentData[\"detalleFactura\"] = rowsData;\r\n return currentData;\r\n });\r\n dispatchReducer({ type: \"END\" });\r\n if (nfactura.current != \"\") {\r\n try {\r\n const result = await insertFactura(formData3, rowsData);\r\n if (result) {\r\n Swal.fire({\r\n title: \"Factura Guardada\",\r\n html: `Se Guardo Correctamente`,\r\n icon: \"success\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n console.log(datosfactura)\r\n let sum1=0\r\n let sum2=0\r\n datosfactura.gravado05=0\r\n datosfactura.gravado10=0\r\n genPDF({datosfactura,detallefactura,isCredito,TextoNumber,sum1,sum2})\r\n navigate(\"/Facturas\");\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n } else\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `No Existe Talonario`,\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n };\r\n const [listCostos, setListCostos] = useState([]);\r\n const [listTimbrado, setListTimbrado] = useState([]);\r\n const [listFormadepago, setListFormadepago] = useState([]);\r\n const [listCliente, setListCliente] = useState([]);\r\n const [listSucursal, setListSucursal] = useState([]);\r\n const [lisPDV, setListPDV] = useState([]);\r\n const ivatotalfactura = useRef(0);\r\n const totalfactura = useRef(0);\r\n\r\n // Calcular\r\n const Refresh = () => {\r\n console.log(formData3)\r\n if (formData3.descuento === undefined) {\r\n formData3.descuento = 0;\r\n }\r\n const _ = require(\"lodash\");\r\n \r\n const sum = _.sumBy(rowsData, (rowsDatas) => Number(rowsDatas.total));\r\n const subtotal5 = _.sumBy(rowsData, (rowsDatas) => Number(rowsDatas.cinco));\r\n const subtotal10 = _.sumBy(rowsData, (rowsDatas) => Number(rowsDatas.diez));\r\n let i;\r\n let iva10 = subtotal10/11;\r\n let iva5 = subtotal5/11;\r\n \r\n \r\n descuentototal.current=_.sumBy(rowsData, (rowsDatas) => Number(rowsDatas.montodescuento));\r\n totalfactura.current=(sum - (sum * formData3.descuento) / 100);\r\n Ivaten.current=(Math.round(iva10));\r\n Ivafive.current=(Math.round(iva5));\r\n ivatotalfactura.current=(Math.round(iva5)+Math.round(iva10));\r\n setValue({\r\n ...formData3,\r\n totalmonto: sum - (sum * formData3.descuento) / 100,\r\n descuentomonto: (sum * formData3.descuento) / 100,\r\n iva10: Math.round(iva10),\r\n iva5: Math.round(iva5),\r\n ivatotal: Math.round(iva5)+Math.round(iva10),\r\n Subtotal5:subtotal5,\r\n Subtotal10:subtotal10,\r\n });\r\n \r\n \r\n };\r\n\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const listTimbrados = await getAllTimbrados();\r\n const listResult2 = await getAllFormaPago();\r\n const listResult3 = await getAllClientes();\r\n const listResult4 = await getAllSucursal();\r\n const listResult5 = await getAllPuntoVenta();\r\n const listResult6 = await getAllCostos();\r\n const resultfive = await getUserCredentials();\r\n if (resultfive.IdUsuario===79)\r\n {\r\n navigate(\"/Facturas\");\r\n }\r\n \r\n const mapeoCostos = listResult6.map((item) => {\r\n return {\r\n value: item.idcostos,\r\n label: item.COD + \" \" + item.producto,\r\n };\r\n });\r\n setListCostos(mapeoCostos);\r\n\r\n const resulting = listTimbrados.reduce((acc, item) => {\r\n if (!acc.includes(item.timbrado)) {\r\n acc.push(item.timbrado);\r\n }\r\n return acc;\r\n }, []);\r\n\r\n const mapeoTimbrado = resulting.map((item) => {\r\n return { value: item, label: item };\r\n });\r\n\r\n setListTimbrado(mapeoTimbrado);\r\n\r\n const resultMapeado = listResult2.map((item) => {\r\n return { label: item.nombre, value: item.nombre };\r\n });\r\n setListFormadepago(resultMapeado);\r\n const resultMapeado2 = listResult3.map((item) => {\r\n return { label: item.nombre+\" \"+item.ruc, value: item.idClientes };\r\n });\r\n setListCliente(resultMapeado2);\r\n const resultMapeado3 = listResult4.map((item) => {\r\n return { label: item.codigo + \" \" + item.nombre, value: item.codigo };\r\n });\r\n setListSucursal(resultMapeado3);\r\n const resultMapeado5 = listResult5.map((item) => {\r\n return { label: item.codigo + \" \" + item.nombre, value: item.codigo };\r\n });\r\n setListPDV(resultMapeado5);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n fdp.current=\"Efectivo\"\r\n tp.current=\"Contado\"\r\n Swal.close();\r\n })();\r\n }, []);\r\n const ComprobarComprobante = (fdp,tp) => {\r\n if (tp==\"Credito\")\r\n {\r\n setComprobante(true)\r\n Compro.current.value=\"\"\r\n setValue({\r\n ...formData3,\r\n numerodecomprobante:\"NO\"\r\n });\r\n \r\n }else if (fdp==\"Efectivo\")\r\n {\r\n setComprobante(true)\r\n Compro.current.value=\"\"\r\n setValue({\r\n ...formData3,\r\n numerodecomprobante:\"NO\"\r\n });\r\n }\r\n else {\r\n setComprobante(false)\r\n\r\n }\r\n\r\n\r\n }\r\n \r\n\r\n const onReturnDataCliente = async (data) => {\r\n try {\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const result = await saveCliente({ ...data, isNew: true });\r\n Swal.close()\r\n if (result) {\r\n if (result) {\r\n Swal.fire({\r\n title: \"Cliente Cargado\",\r\n html: `Se cargo correctalmente el cliente`,\r\n icon: \"success\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n const listResult3 = await getAllClientes();\r\n const resultMapeado2 = listResult3.map((item) => {\r\n return { label: item.nombre+\" \"+item.ruc, value: item.idClientes };\r\n });\r\n setListCliente(resultMapeado2);\r\n dispatchReducer({ type: \"END\" });\r\n }\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n };\r\n\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Fecha:  \r\n \r\n {new Date().toLocaleDateString()}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Timbrado: \r\n {\r\n timbradoID(e);\r\n }}\r\n />\r\n
    \r\n
    \r\n Sucursal: \r\n {\r\n sucursalID(e);\r\n }}\r\n />\r\n
    \r\n
    \r\n Punto de Venta: \r\n {\r\n pdvID(e);\r\n }}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n Termino de Pago: \r\n {\r\n \r\n tp.current=e.value\r\n ComprobarComprobante(fdp.current,tp.current)\r\n setValue({\r\n ...formData3,\r\n tipoFactura: e.value,\r\n });\r\n \r\n\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n Fecha de Vencimiento: \r\n \r\n {\r\n \r\n setValue({\r\n ...formData3,\r\n fechapagovencimiento: e.target.value,\r\n });\r\n }}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n Forma de Pago: \r\n {\r\n setValue({\r\n ...formData3,\r\n formadepago: e.value,\r\n });\r\n fdp.current=e.value\r\n ComprobarComprobante(fdp.current,tp.current)\r\n \r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n Numero de  Comprobante: \r\n \r\n {\r\n setValue({\r\n ...formData3,\r\n numerodecomprobante: e.target.value,\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n Obs.\r\n \r\n {\r\n setValue({\r\n ...formData3,\r\n obs: e.target.value,\r\n });\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Numero de Factura:  \r\n \r\n \r\n {Suc.current}-{PDV.current}-{nfactura.current}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Factura a:\r\n \r\n \r\n {\" \"}\r\n {\r\n clienteid(e);\r\n }}\r\n />\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    Dcto.Cant.\r\n {\" \"}\r\n Cod. Producto/Servicio\r\n PrecioIvaTotal\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n Descuento:\r\n \r\n {descuentototal.current}\r\n \r\n
    \r\n
    \r\n Iva 10:\r\n \r\n {Ivaten.current}\r\n \r\n
    \r\n
    \r\n Iva 5:\r\n \r\n {Ivafive.current}\r\n \r\n
    \r\n
    \r\n Iva Total:\r\n \r\n {ivatotalfactura.current}\r\n \r\n
    \r\n
    \r\n \r\n Total:\r\n {totalfactura.current}\r\n \r\n \r\n
    \r\n \r\n Generar Factura\r\n \r\n
    \r\n \r\n \r\n
    \r\n {reducer.isShow && (\r\n \r\n )}\r\n {reducer.isShow2 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default Generarfactura;\r\n","import { useEffect} from \"react\";\r\nconst events = [\r\n \"load\",\r\n \"mousemove\",\r\n \"mousedown\",\r\n \"click\",\r\n \"scroll\",\r\n \"keypress\",\r\n ];\r\nconst AppLogout = ({ children }) => {\r\n let timer;\r\n\r\n // this function sets the timer that logs out the user after 10 secs\r\n const handleLogoutTimer = () => {\r\n timer = setTimeout(() => {\r\n // clears any pending timer.\r\n resetTimer();\r\n // Listener clean up. Removes the existing event listener from the window\r\n Object.values(events).forEach((item) => {\r\n window.removeEventListener(item, resetTimer);\r\n });\r\n // logs out user\r\n logoutAction();\r\n }, 300000); // 10000ms = 10secs. You can change the time.\r\n };\r\n \r\n // this resets the timer if it exists.\r\n const resetTimer = () => {\r\n if (timer) clearTimeout(timer);\r\n };\r\n \r\n // when component mounts, it adds an event listeners to the window\r\n // each time any of the event is triggered, i.e on mouse move, click, scroll, keypress etc, the timer to logout user after 10 secs of inactivity resets.\r\n // However, if none of the event is triggered within 10 secs, that is app is inactive, the app automatically logs out.\r\n useEffect(() => {\r\n Object.values(events).forEach((item) => {\r\n window.addEventListener(item, () => {\r\n resetTimer();\r\n handleLogoutTimer();\r\n });\r\n });\r\n },);\r\n \r\n // logs out user by clearing out auth token in localStorage and redirecting url to /signin page.\r\n const logoutAction = () => {\r\n localStorage.clear();\r\n window.location.pathname = \"/login\";\r\n };\r\n \r\n return children;\r\n };\r\n export default AppLogout;","import React from 'react';\r\n\r\nexport const ColumnFilter = ( { column } ) => {\r\n\t\r\n\tconst {filterValue, setFilter} = column\r\n\treturn(\r\n\t\t
    \r\n\t\t\r\n\t\t\t setFilter(e.target.value)} />\r\n\t\t
    \r\n\t)\r\n} ","import {format} from 'date-fns';\r\nimport { ColumnFilter } from './ColumnFilter';\r\nexport const COLUMNS = [\r\n\t{\r\n\t\tHeader : 'id ',\r\n\t\tFooter : 'id',\r\n\t\taccessor: 'idProveedores',\r\n\t\tFilter: ColumnFilter,\r\n\t\tdisableFilters: true,\r\n\t},\r\n\t{\r\n\t\tHeader : 'proveedor',\r\n\t\tFooter : 'nombre',\r\n\t\taccessor: 'proveedor',\r\n\t\tFilter: ColumnFilter,\r\n\t\tdisableFilters: true,\r\n\t},\r\n\t{\r\n\t\tHeader : 'ruc',\r\n\t\tFooter : 'ruc',\r\n\t\taccessor: 'ruc',\r\n\t\tFilter: ColumnFilter,\r\n\t\tdisableFilters: true,\r\n\t},\r\n\t\r\n\t{\r\n\t\tHeader : 'razonsocial',\r\n\t\tFooter : 'razonsocial',\r\n\t\taccessor: 'razonsocial',\r\n\t\tFilter: ColumnFilter,\r\n\t\tdisableFilters: true,\r\n\t},\r\n\t{\r\n\t\tHeader : 'telefono',\r\n\t\tFooter : 'telefono',\r\n\t\taccessor: 'telefono',\r\n\t\tFilter: ColumnFilter,\r\n\t\tdisableFilters: true,\r\n\t},\r\n]\r\nexport const COLUMNSCOMPRA = [\r\n\t{\r\n\t\tHeader: () => (\r\n\t\t\tFactura Compra),\r\n\t\taccessor: 'idfactura',\r\n\t\tCell: (props) => {\r\n\t\t\treturn (\r\n\t\t\t

    \r\n\t\t\t\t{props.value}\r\n\t\t\t

    \r\n\t\t\t);\r\n\t\t },\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t\r\n\t{\r\n\t\tHeader: () => (\r\n\t\t\tCant.),\r\n\t\taccessor: 'cantidad',\r\n\t\tCell: (props) => {\r\n\t\t\treturn (\r\n\t\t\t

    \r\n\t\t\t\t{props.value}\r\n\t\t\t

    \r\n\t\t\t);\r\n\t\t },\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader: () => (\r\n\t\t\tProducto),\r\n\t\taccessor: 'producto',\r\n\t\tCell: (props) => {\r\n\t\t\treturn (\r\n\t\t\t

    \r\n\t\t\t\t{props.value}\r\n\t\t\t

    \r\n\t\t\t);\r\n\t\t },\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t\r\n\t{\r\n\t\tHeader: () => (\r\n\t\t\tPrecio),\r\n\t\t\r\n\t\taccessor: 'precio',\r\n\t\tCell: (props) => {\r\n\t\t\treturn (\r\n\t\t\t

    \r\n\t\t\t\t{props.value}\r\n\t\t\t

    \r\n\t\t\t);\r\n\t\t },\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader: () => (\r\n\t\t\tIva.),\r\n\t\t\r\n\t\taccessor: 'iva',\r\n\t\tCell: (props) => {\r\n\t\t\treturn (\r\n\t\t\t

    \r\n\t\t\t\t{props.value}\r\n\t\t\t

    \r\n\t\t\t);\r\n\t\t },\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader: () => (\r\n\t\t\tTotal),\r\n\t\t\r\n\t\taccessor: 'total',\r\n\t\tCell: (props) => {\r\n\t\t\treturn (\r\n\t\t\t

    \r\n\t\t\t\t{props.value}\r\n\t\t\t

    \r\n\t\t\t);\r\n\t\t },\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n]\r\nexport const COLUMNS2 = [\r\n\t{\r\n\t\tHeader : 'id',\r\n\t\tFooter : 'id',\r\n\t\taccessor: 'idFactura',\r\n\t\tFilter: ColumnFilter,\r\n\t\t//disableFilters: true,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Nº de Factura',\r\n\t\tFooter : 'Nº de Factura',\r\n\t\taccessor: 'numerofactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Razon Social',\r\n\t\tFooter : 'Razon Social',\r\n\t\taccessor: 'razonsocial',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Ruc',\r\n\t\tFooter : 'Ruc',\r\n\t\taccessor: 'ruc',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'fecha Emision',\r\n\t\tFooter : 'fechaEmision',\r\n\t\taccessor: 'fechafactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t{\r\n\t\tHeader : 'Tipo Factura',\r\n\t\tFooter : 'Formadepago',\r\n\t\taccessor: 'tipoFactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n\t\r\n\t{\r\n\t\tHeader : 'Total',\r\n\t\tFooter : 'Total',\r\n\t\taccessor: 'totalFactura',\r\n\t\tFilter: ColumnFilter,\r\n\t},\r\n]\r\nexport const GROUPED_COLUMNS = [\r\n\t{\r\n\t\tHeader : 'Id',\r\n\t\tFooter : 'Id',\r\n\t\taccessor: 'id'\r\n\t},\r\n\t{\r\n\t\tHeader : 'Name',\r\n\t\tFooter : 'Name',\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tHeader : 'First Name',\r\n\t\t\t\tFooter : 'First Name',\r\n\t\t\t\taccessor: 'first_name'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Last Name',\r\n\t\t\t\tFooter : 'Last Name',\r\n\t\t\t\taccessor: 'last_name'\r\n\t\t\t},\r\n\t\t]\r\n\t},\r\n\t{\r\n\t\tHeader: 'Info',\r\n\t\tFooter: 'Info',\r\n\t\tcolumns: [\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Date of Birth',\r\n\t\t\t\tFooter : 'Date of Birth',\r\n\t\t\t\taccessor: 'date_of_birth'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Country',\r\n\t\t\t\tFooter : 'Country',\r\n\t\t\t\taccessor: 'country',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tHeader : 'Phone',\r\n\t\t\t\tFooter : 'Phone',\r\n\t\t\t\taccessor: 'phone'\r\n\t\t\t},\r\n\t\t]\r\n\t},\r\n]","import React from 'react';\r\n\r\nexport const GlobalFilter = ( {filter, setFilter} ) =>{\r\n\treturn(\r\n\t\t
    \r\n\t\t\tSearch : {' '}\r\n\t\t\t setFilter(e.target.value)} style={{width: \"20%\"}}\r\n />\r\n\t\t
    \r\n\t)\r\n} ","import { useState } from \"react\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport Swal from \"sweetalert2\";\r\nconst AgregarProveedores = (props) => {\r\n const { estado,onCloseModal,onReturnValue,Editdata,isnew} = props;\r\n\r\n const [formData3, setValue] = useState([]);\r\n const handleSubmit2 = (event) => {\r\n formData3.proveedor=formData3.proveedor? formData3.proveedor:Editdata[0].proveedor\r\n formData3.razonsocial=formData3.razonsocial? formData3.razonsocial:Editdata[0].razonsocial\r\n formData3.ruc=formData3.ruc? formData3.ruc:Editdata[0].ruc\r\n formData3.ciudad=formData3.ciudad? formData3.ciudad:Editdata[0].ciudad\r\n formData3.direccion=formData3.direccion? formData3.direccion:Editdata[0].direccion\r\n formData3.telefono=formData3.telefono? formData3.telefono:Editdata[0].telefono\r\n formData3.Correo=formData3.correo? formData3.Correo:Editdata[0].Correo\r\n formData3.idProveedor=Editdata[0].idProveedores\r\n if (formData3.ruc===\"\" || formData3.razonsocial===\"\" || formData3.proveedor===\"\")\r\n {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: \"Faltan Datos!\",\r\n confirmButtonColor: \"black\",\r\n });\r\n }else\r\n {\r\n onReturnValue(formData3,isnew);\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n \r\n Agregar Proveedores\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, proveedor: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3,razonsocial: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, ruc: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, ciudad: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, direccion: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, telefono: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n setValue({ ...formData3, correo: e.target.value });\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default AgregarProveedores;\r\n","import { CALL_API2 } from \"../Utils/const\";\r\nimport { getAuthToken } from \"../context/auth-context\";\r\n\r\nexport async function getAllProveedores() {\r\n const token = getAuthToken();\r\n const result = await fetch(`${CALL_API2}/proveedores`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n\r\n const data = await result.json();\r\n \r\n if (!result.ok) {\r\n throw new Error(data.message);\r\n }\r\n\r\n return data.result;\r\n}\r\nexport async function saveProveedor(ProveedorObject) {\r\nconsole.log(ProveedorObject)\r\n const { isNew, idProveedor } = ProveedorObject;\r\n const token = getAuthToken();\r\n let urlSend = `${CALL_API2}/proveedor`;\r\n \r\n let method = \"POST\";\r\n \r\n if (ProveedorObject.isNew) delete ProveedorObject.isNew;\r\n if (ProveedorObject.idProveedor) delete ProveedorObject.idForma;\r\n \r\n if (!isNew) {\r\n urlSend = `${urlSend}/${idProveedor}`;\r\n method = \"PUT\";\r\n }\r\n \r\n const result = await fetch(urlSend, {\r\n method: method,\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(ProveedorObject),\r\n });\r\n \r\n const data = await result.json();\r\n \r\n if (!result.ok) {\r\n throw new Error(data.message);\r\n }\r\n \r\n return data.isSaved;\r\n }\r\n\r\nexport async function getProveedorById(idProveedores) {\r\n \r\n const token = getAuthToken();\r\n \r\n const response = await fetch(`${CALL_API2}/proveedor/${idProveedores}`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n });\r\n \r\n const data = await response.json();\r\n \r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.result;\r\n}\r\n/*\r\nexport async function getSearchClient(sqlQuery) {\r\n const token = getAuthToken();\r\n const response = await fetch(\r\n `${CALL_API2}/search-cliente?sqlQuery=${sqlQuery}`,\r\n {\r\n headers: { Authorization: `Bearer ${token}` },\r\n }\r\n );\r\n const data = await response.json();\r\n\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.result;\r\n}\r\n\r\n*/\r\n\r\nexport async function deleteProveedor(idProveedor) {\r\n const token = getAuthToken();\r\n const response = await fetch(`${CALL_API2}/Proveedor/${idProveedor}`, {\r\n headers: { Authorization: `Bearer ${token}` },\r\n method: \"DELETE\",\r\n });\r\n const data = await response.json();\r\n\r\n if (!response.ok) {\r\n throw new Error(data.message);\r\n }\r\n return data.isDeleted;\r\n}","import React, {\r\n Fragment,\r\n useCallback,\r\n useEffect,\r\n useReducer,\r\n useState,\r\n useMemo,\r\n} from \"react\";\r\nimport { Card, Button } from \"react-bootstrap\";\r\nimport Swal from \"sweetalert2\";\r\n\r\nimport {\r\n useTable,\r\n useGlobalFilter,\r\n useFilters,\r\n usePagination,\r\n} from \"react-table\";\r\nimport { TailSpin } from \"react-loader-spinner\";\r\nimport { COLUMNS } from \"./Columns\";\r\nimport { GlobalFilter } from \"./GlobalFilter\";\r\n//import './table.css';\r\nimport \"./filtering.css\";\r\nimport AgregarProveedores from \"./ModalCompras/AgregarProveedores\";\r\nimport { getAllProveedores, saveProveedor,deleteProveedor} from \"../../../Api/Proveedores\";\r\n\r\nconst showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n onReturnValue: state.onReturnValue,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false };\r\n }\r\n};\r\nconst Proveedores = () => {\r\n \r\n const [Editdata,setEditdata]=useState([\r\n {\r\n proveedor: \"\",\r\n razonsocial: \"\",\r\n ruc: \"\",\r\n Ciudad: \"\",\r\n direccion: \"\",\r\n telefono: \"\",\r\n correo: \"\",\r\n },\r\n ])\r\n const [isnew,setisnew]=useState(true)\r\n const [loading, setLoading] = useState(true);\r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n });\r\n const [data, setdata] = useState([]);\r\n\r\n const assigmentValue = useCallback(async () => {\r\n try {\r\n const result = await getAllProveedores();\r\n setdata([...result]);\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n });\r\n useEffect(() => {\r\n assigmentValue();\r\n }, []);\r\n const handleShow4 = () => {\r\n setEditdata([\r\n {\r\n proveedor: \"\",\r\n razonsocial: \"\",\r\n ruc: \"\",\r\n Ciudad: \"\",\r\n direccion: \"\",\r\n telefono: \"\",\r\n correo: \"\",\r\n },\r\n ])\r\n setisnew(true)\r\n dispatchReducer({ type: \"SHOW\"});\r\n };\r\n const onCloseModal = () => {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n const columns = useMemo(() => COLUMNS, []);\r\n const tableInstance = useTable(\r\n {\r\n columns,\r\n data,\r\n initialState: { pageIndex: 0 },\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n usePagination\r\n );\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n prepareRow,\r\n state,\r\n page,\r\n gotoPage,\r\n pageCount,\r\n pageOptions,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n setGlobalFilter,\r\n } = tableInstance;\r\n const onReturnDataCliente = async (data,isNew) => {\r\n try {\r\n Swal.fire({\r\n title: \"Cargando\",\r\n html: \"Cargando datos\", // add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n });\r\n const result = await saveProveedor({ ...data, isNew });\r\n\r\n if (result) {\r\n if (result) {\r\n const listResult = await getAllProveedores();\r\n setdata([...listResult]);\r\n Swal.close();\r\n Swal.fire({\r\n title: \"Proveedor Cargado\",\r\n html: `Se cargo correctalmente el Proveedor`,\r\n icon: \"success\",\r\n confirmButtonColor: \"black\",\r\n });\r\n dispatchReducer({ type: \"END\" });\r\n }\r\n }\r\n } catch (err) {\r\n Swal.close();\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n };\r\n\r\n const { globalFilter, pageIndex } = state;\r\n const Editar = (item) => {\r\n let row = data.filter(num => num.idProveedores===item);\r\n setEditdata(row)\r\n setisnew(false);\r\n dispatchReducer({ type: \"SHOW\"});\r\n \r\n \r\n };\r\n const Delete = (id) => {\r\n try {\r\n Swal.fire({\r\n title: \"Estas seguro/a de Eliminar?\",\r\n text: \"No es Reversible!\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonColor: \"black\",\r\n cancelButtonColor: \"red\",\r\n confirmButtonText: \"Si! Eliominar\",\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n Swal.fire({\r\n title: \"Cargando\",\r\n html: \"Cargando datos\", // add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n });\r\n deleteProveedor(id)\r\n assigmentValue();\r\n Swal.close();\r\n Swal.fire({\r\n title: \"Eliminado\",\r\n text: \"Proveedor Eliminado\",\r\n icon: \"warning\",\r\n confirmButtonColor: \"black\",\r\n });\r\n }\r\n });\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Proveedores\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n {column.render(\"Header\")}\r\n {column.canFilter\r\n ? column.render(\"Filter\")\r\n : null}\r\n \r\n ))}\r\n Opciones\r\n \r\n ))}\r\n \r\n\r\n \r\n {page.map((row) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return (\r\n \r\n \r\n {cell.render(\"Cell\")}{\" \"}\r\n \r\n );\r\n })}\r\n \r\n \r\n Editar(row.values.idProveedores)}\r\n className=\"fas fa-pencil-alt\"\r\n size=\"sm\"\r\n >\r\n \r\n \r\n Delete(row.values.idProveedores)}\r\n className=\"fa fa-trash \"\r\n variant=\"danger\"\r\n size=\"sm\"\r\n >\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n
    \r\n \r\n Page{\" \"}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n \r\n {\"\"}\r\n \r\n \r\n Go to page :{\" \"}\r\n {\r\n const pageNumber = e.target.value\r\n ? Number(e.target.value) - 1\r\n : 0;\r\n gotoPage(pageNumber);\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n gotoPage(0)}\r\n disabled={!canPreviousPage}\r\n >\r\n {\"<<\"}\r\n \r\n\r\n previousPage()}\r\n disabled={!canPreviousPage}\r\n >\r\n Previous\r\n \r\n nextPage()}\r\n disabled={!canNextPage}\r\n >\r\n Next\r\n \r\n gotoPage(pageCount - 1)}\r\n disabled={!canNextPage}\r\n >\r\n {\">>\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {reducer.isShow && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\nexport default Proveedores;\r\n","import React, {\r\n Fragment,\r\n useCallback,\r\n useEffect,\r\n useState,\r\n useMemo,\r\n } from \"react\";\r\n import { Link } from \"react-router-dom\";\r\n import { Card, Button } from \"react-bootstrap\";\r\n import {\r\n useTable,\r\n useGlobalFilter,\r\n useFilters,\r\n usePagination,\r\n } from \"react-table\";\r\n import { COLUMNS2 } from \"./Columns\";\r\n import { GlobalFilter } from \"./GlobalFilter\";\r\n //import './table.css';\r\n import \"./filtering.css\";\r\n import { TailSpin } from 'react-loader-spinner'\r\n import { getAllFacturacionCompra} from \"../../../Api/facturacion\";\r\n const Compras = () => {\r\n const [loading, setLoading] = useState(true);\r\n const [data, setdata] = useState([]);\r\n const columns = useMemo(() => COLUMNS2, []);\r\n const assigmentValue = useCallback(async () => {\r\n try {\r\n const result = await getAllFacturacionCompra();\r\n setdata([...result]);\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n });\r\n useEffect(() => {\r\n assigmentValue();\r\n }, []);\r\n const tableInstance = useTable(\r\n {\r\n columns,\r\n data,\r\n initialState: { pageIndex: 0 },\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n usePagination\r\n );\r\n \r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n prepareRow,\r\n state,\r\n page,\r\n gotoPage,\r\n pageCount,\r\n pageOptions,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n setGlobalFilter,\r\n } = tableInstance;\r\n \r\n const { globalFilter, pageIndex } = state;\r\n \r\n \r\n \r\n \r\n \r\n \r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Compras\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n {column.render(\"Header\")}\r\n {column.canFilter\r\n ? column.render(\"Filter\")\r\n : null}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n \r\n {page.map((row) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return (\r\n \r\n {\" \"}\r\n \r\n {cell.render(\"Cell\")}{\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n \r\n
    \r\n \r\n Page{\" \"}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n \r\n {\"\"}\r\n \r\n \r\n Go to page :{\" \"}\r\n {\r\n const pageNumber = e.target.value\r\n ? Number(e.target.value) - 1\r\n : 0;\r\n gotoPage(pageNumber);\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n gotoPage(0)}\r\n disabled={!canPreviousPage}\r\n >\r\n {\"<<\"}\r\n \r\n \r\n previousPage()}\r\n disabled={!canPreviousPage}\r\n >\r\n Previous\r\n \r\n nextPage()}\r\n disabled={!canNextPage}\r\n >\r\n Next\r\n \r\n gotoPage(pageCount - 1)}\r\n disabled={!canNextPage}\r\n >\r\n {\">>\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n export default Compras;","import React, {\r\n Fragment,\r\n useCallback,\r\n useEffect,\r\n useState,\r\n useMemo,\r\n useRef,\r\n} from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Card, Button } from \"react-bootstrap\";\r\nimport {\r\n useTable,\r\n useGlobalFilter,\r\n useFilters,\r\n usePagination,\r\n} from \"react-table\";\r\nimport { COLUMNSCOMPRA } from \"./Columns\";\r\nimport { GlobalFilter } from \"./GlobalFilter\";\r\nimport \"./filtering.css\";\r\nimport { getAllDetalleCompra } from \"../../../Api/facturacion\";\r\nimport { JsonToExcel } from \"react-json-to-excel\";\r\nimport { TailSpin } from \"react-loader-spinner\";\r\nconst Listadecompras = () => {\r\n const [loading, setLoading] = useState(true);\r\n const [data, setdata] = useState([]);\r\n const columns = useMemo(() => COLUMNSCOMPRA, []);\r\n const Filtrar = useCallback(async () => {\r\n try {\r\n setLoading(true);\r\n\r\n const result = await getAllDetalleCompra();\r\n console.log(result)\r\n setdata([...result]);\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n });\r\n useEffect(() => {\r\n Filtrar();\r\n }, []);\r\n\r\n const tableInstance = useTable(\r\n {\r\n columns,\r\n data,\r\n initialState: { pageIndex: 0 },\r\n },\r\n useFilters,\r\n useGlobalFilter,\r\n usePagination\r\n );\r\n\r\n const {\r\n getTableProps,\r\n getTableBodyProps,\r\n headerGroups,\r\n prepareRow,\r\n state,\r\n page,\r\n gotoPage,\r\n pageCount,\r\n pageOptions,\r\n nextPage,\r\n previousPage,\r\n canNextPage,\r\n canPreviousPage,\r\n setGlobalFilter,\r\n } = tableInstance;\r\n\r\n const { globalFilter, pageIndex } = state;\r\n\r\n const tableRef = useRef(null);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Detalle de Compras\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n
    \r\n \r\n \r\n

    \r\n \r\n \r\n {headerGroups.map((headerGroup) => (\r\n \r\n {headerGroup.headers.map((column) => (\r\n \r\n {column.render(\"Header\")}\r\n {column.canFilter\r\n ? column.render(\"Filter\")\r\n : null}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n\r\n \r\n {page.map((row) => {\r\n prepareRow(row);\r\n return (\r\n \r\n {row.cells.map((cell) => {\r\n return (\r\n \r\n \r\n \r\n {cell.render(\"Cell\")}{\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n \r\n
    \r\n \r\n Page{\" \"}\r\n \r\n {pageIndex + 1} of {pageOptions.length}\r\n \r\n {\"\"}\r\n \r\n \r\n Go to page :{\" \"}\r\n {\r\n const pageNumber = e.target.value\r\n ? Number(e.target.value) - 1\r\n : 0;\r\n gotoPage(pageNumber);\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n gotoPage(0)}\r\n disabled={!canPreviousPage}\r\n >\r\n {\"<<\"}\r\n \r\n\r\n previousPage()}\r\n disabled={!canPreviousPage}\r\n >\r\n Previous\r\n \r\n nextPage()}\r\n disabled={!canNextPage}\r\n >\r\n Next\r\n \r\n gotoPage(pageCount - 1)}\r\n disabled={!canNextPage}\r\n >\r\n {\">>\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default Listadecompras;\r\n","import React, {\r\n Fragment,\r\n useCallback,\r\n useEffect,\r\n useState,\r\n useMemo,\r\n useRef,\r\n useReducer,\r\n} from \"react\";\r\nimport { Row, Col, Card, Button } from \"react-bootstrap\";\r\nimport { COLUMNS } from \"./Columns\";\r\nimport \"./filtering.css\";\r\nimport {\r\n getDetalleFacturaCompraId,\r\n getFacturasComprasByQuery,\r\n} from \"../../../Api/facturacion\";\r\n\r\nimport Swal from \"sweetalert2\";\r\nimport ModalReporte from \"../sis/ModalOpciones/ModalReporteDia\";\r\nconst showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n onReturnValue: state.onReturnValue,\r\n TimbradoObject: state.TimbradoObject,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false };\r\n default:\r\n return { ...curShow, isShow: false };\r\n }\r\n};\r\nconst Reportecompras = () => {\r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n TimbradoObject: null,\r\n onReturnValue: null,\r\n });\r\n const compraventa=\"none\";\r\n const rformadepago=\"Obs\";\r\n const [filterData, setValue] = useState([]);\r\n const [data, setdata] = useState([]);\r\n const [data2, setdata2] = useState([]);\r\n const data3 = useRef();\r\n const [validated, setValidated] = useState(false);\r\n const handleSubmit = (event) => {\r\n const form = event.currentTarget;\r\n if (form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n setValidated(true);\r\n };\r\n const Filtrar = async () => {\r\n try {\r\n if (filterData.fechaFin == \"\") {\r\n filterData.fechaFin = \"1991-01-01\";\r\n }\r\n if (filterData.fechaInicio == \"\") {\r\n filterData.fechaInicio = \"1991-01-01\";\r\n }\r\n const result = await getFacturasComprasByQuery(filterData);\r\n setdata([...result]);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n const onAgregarTimbrado = async () => {\r\n Swal.fire({\r\n title: \"Generando\",\r\n html: \"Generando Reporte\", // add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: true,\r\n showConfirmButton: false,\r\n });\r\n const producto = {\r\n fechaInicio: filterData.fechaincial,\r\n fechaFin: filterData.fechafinal,\r\n };\r\n const result = await getFacturasComprasByQuery(producto);\r\n \r\n setdata2([...result]);\r\n let productox = \"\";\r\n let datas = [];\r\n for (let j = 0; j < result.length; j++) {\r\n const result2 = await getDetalleFacturaCompraId(result[j].idFactura );\r\n \r\n for (let i = 0; i < result2.length; i++) {\r\n\r\n \r\n if (i {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Reporte Facturas Provedores\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Reporte\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setValue({\r\n ...filterData,\r\n fechaincial: e.target.value,\r\n });\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n {\r\n setValue({\r\n ...filterData,\r\n fechafinal: e.target.value,\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {reducer.isShow && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\nexport default Reportecompras;\r\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"menos de un segundo\",\n other: \"menos de {{count}} segundos\",\n },\n\n xSeconds: {\n one: \"1 segundo\",\n other: \"{{count}} segundos\",\n },\n\n halfAMinute: \"medio minuto\",\n\n lessThanXMinutes: {\n one: \"menos de un minuto\",\n other: \"menos de {{count}} minutos\",\n },\n\n xMinutes: {\n one: \"1 minuto\",\n other: \"{{count}} minutos\",\n },\n\n aboutXHours: {\n one: \"alrededor de 1 hora\",\n other: \"alrededor de {{count}} horas\",\n },\n\n xHours: {\n one: \"1 hora\",\n other: \"{{count}} horas\",\n },\n\n xDays: {\n one: \"1 día\",\n other: \"{{count}} días\",\n },\n\n aboutXWeeks: {\n one: \"alrededor de 1 semana\",\n other: \"alrededor de {{count}} semanas\",\n },\n\n xWeeks: {\n one: \"1 semana\",\n other: \"{{count}} semanas\",\n },\n\n aboutXMonths: {\n one: \"alrededor de 1 mes\",\n other: \"alrededor de {{count}} meses\",\n },\n\n xMonths: {\n one: \"1 mes\",\n other: \"{{count}} meses\",\n },\n\n aboutXYears: {\n one: \"alrededor de 1 año\",\n other: \"alrededor de {{count}} años\",\n },\n\n xYears: {\n one: \"1 año\",\n other: \"{{count}} años\",\n },\n\n overXYears: {\n one: \"más de 1 año\",\n other: \"más de {{count}} años\",\n },\n\n almostXYears: {\n one: \"casi 1 año\",\n other: \"casi {{count}} años\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"en \" + result;\n } else {\n return \"hace \" + result;\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n full: \"EEEE, d 'de' MMMM 'de' y\",\n long: \"d 'de' MMMM 'de' y\",\n medium: \"d MMM y\",\n short: \"dd/MM/y\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'a las' {{time}}\",\n long: \"{{date}} 'a las' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'el' eeee 'pasado a la' p\",\n yesterday: \"'ayer a la' p\",\n today: \"'hoy a la' p\",\n tomorrow: \"'mañana a la' p\",\n nextWeek: \"eeee 'a la' p\",\n other: \"P\",\n};\n\nconst formatRelativeLocalePlural = {\n lastWeek: \"'el' eeee 'pasado a las' p\",\n yesterday: \"'ayer a las' p\",\n today: \"'hoy a las' p\",\n tomorrow: \"'mañana a las' p\",\n nextWeek: \"eeee 'a las' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, _baseDate, _options) => {\n if (date.getHours() !== 1) {\n return formatRelativeLocalePlural[token];\n } else {\n return formatRelativeLocale[token];\n }\n};\n","/* eslint-disable no-unused-vars */\n\n/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n narrow: [\"AC\", \"DC\"],\n abbreviated: [\"AC\", \"DC\"],\n wide: [\"antes de cristo\", \"después de cristo\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n wide: [\"1º trimestre\", \"2º trimestre\", \"3º trimestre\", \"4º trimestre\"],\n};\n\nconst monthValues = {\n narrow: [\"e\", \"f\", \"m\", \"a\", \"m\", \"j\", \"j\", \"a\", \"s\", \"o\", \"n\", \"d\"],\n abbreviated: [\n \"ene\",\n \"feb\",\n \"mar\",\n \"abr\",\n \"may\",\n \"jun\",\n \"jul\",\n \"ago\",\n \"sep\",\n \"oct\",\n \"nov\",\n \"dic\",\n ],\n\n wide: [\n \"enero\",\n \"febrero\",\n \"marzo\",\n \"abril\",\n \"mayo\",\n \"junio\",\n \"julio\",\n \"agosto\",\n \"septiembre\",\n \"octubre\",\n \"noviembre\",\n \"diciembre\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"d\", \"l\", \"m\", \"m\", \"j\", \"v\", \"s\"],\n short: [\"do\", \"lu\", \"ma\", \"mi\", \"ju\", \"vi\", \"sá\"],\n abbreviated: [\"dom\", \"lun\", \"mar\", \"mié\", \"jue\", \"vie\", \"sáb\"],\n wide: [\n \"domingo\",\n \"lunes\",\n \"martes\",\n \"miércoles\",\n \"jueves\",\n \"viernes\",\n \"sábado\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"mañana\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noche\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"medianoche\",\n noon: \"mediodia\",\n morning: \"mañana\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noche\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"medianoche\",\n noon: \"mediodia\",\n morning: \"mañana\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noche\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"de la mañana\",\n afternoon: \"de la tarde\",\n evening: \"de la tarde\",\n night: \"de la noche\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"medianoche\",\n noon: \"mediodia\",\n morning: \"de la mañana\",\n afternoon: \"de la tarde\",\n evening: \"de la tarde\",\n night: \"de la noche\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"medianoche\",\n noon: \"mediodia\",\n morning: \"de la mañana\",\n afternoon: \"de la tarde\",\n evening: \"de la tarde\",\n night: \"de la noche\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n return number + \"º\";\n};\n\nexport const localize = {\n ordinalNumber: ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => Number(quarter) - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","import { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\nimport { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(º)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|a\\.?\\s?e\\.?\\s?c\\.?|d\\.?\\s?c\\.?|e\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i,\n};\nconst parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [\n /^(antes de cristo|antes de la era com[uú]n)/i,\n /^(despu[eé]s de cristo|era com[uú]n)/i,\n ],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[efmajsond]/i,\n abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,\n wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^e/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^en/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[dlmjvs]/i,\n short: /^(do|lu|ma|mi|ju|vi|s[áa])/i,\n abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,\n wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],\n any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,\n any: /^([ap]\\.?\\s?m\\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn/i,\n noon: /^md/i,\n morning: /mañana/i,\n afternoon: /tarde/i,\n evening: /tarde/i,\n night: /noche/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n },\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { formatDistance } from \"./es/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./es/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./es/_lib/formatRelative.mjs\";\nimport { localize } from \"./es/_lib/localize.mjs\";\nimport { match } from \"./es/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary Spanish locale.\n * @language Spanish\n * @iso-639-2 spa\n * @author Juan Angosto [@juanangosto](https://github.com/juanangosto)\n * @author Guillermo Grau [@guigrpa](https://github.com/guigrpa)\n * @author Fernando Agüero [@fjaguero](https://github.com/fjaguero)\n * @author Gastón Haro [@harogaston](https://github.com/harogaston)\n * @author Yago Carballo [@YagoCarballo](https://github.com/YagoCarballo)\n */\nexport const es = {\n code: \"es\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default es;\n","import Button from \"react-bootstrap/Button\";\r\nimport { Fragment} from \"react\";\r\n\r\nfunction TableRows2({rowsData, deleteTableRows, handleChange}) {\r\n \r\n return(\r\n \r\n rowsData.map((data, index)=>{\r\n const {total}= data;\r\n \r\n return(\r\n \r\n \r\n (handleChange(index, evnt))} name=\"cantidad\" className=\"form-control\"/> \r\n (handleChange(index, evnt))} name=\"producto\" className=\"form-control\"/> \r\n (handleChange(index, evnt))} className=\"form-control\"/>\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n \r\n )\r\n \r\n}\r\nexport default TableRows2;","\r\nimport { Button, Modal } from \"react-bootstrap\";\r\n\r\nvar myStyle = {\r\n borderRight: '1px solid #222',\r\n width: '50%',\r\n height: '8%',\r\n}\r\nvar myStyle2 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '10%',\r\n}\r\nvar myStyle3 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '68%',\r\n}\r\n\r\nvar myStyle5 = {\r\n borderTop: '1px solid #222',\r\n height: '4%',\r\n}\r\nvar myStyle6 = {\r\n\r\n\r\n height: '4%',\r\n}\r\nvar myStyle7 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '2%',\r\n}\r\nvar myStyleex = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '2%',\r\n}\r\nvar myStyleex2 = {\r\n borderTop: '1px solid #222',\r\n\r\n height: '2%',\r\n}\r\nvar myStylh1 = {\r\n borderRight: '1px solid #222',\r\n width: '6%',\r\n fontSize: 8\r\n}\r\nvar myStylh2 = {\r\n borderRight: '1px solid #222',\r\n width: '8%',\r\n fontSize: 8\r\n}\r\nvar myStylh3 = {\r\n borderRight: '1px solid #222',\r\n width: '40%',\r\n fontSize: 8\r\n}\r\nvar myStylh4 = {\r\n borderRight: '1px solid #222',\r\n width: '10%',\r\n fontSize: 8\r\n}\r\nvar myStylh5 = {\r\n borderRight: '1px solid #222',\r\n width: '7%',\r\n fontSize: 8\r\n}\r\nvar myStylh6 = {\r\n borderRight: '1px solid #222',\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStylh7 = {\r\n\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStyleventa = {\r\n borderRight: '1px solid #222',\r\n width: '64%',\r\n fontSize: 8\r\n}\r\nvar myStyleventa2 = {\r\n\r\n width: '37%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal = {\r\n borderRight: '1px solid #222',\r\n width: '64%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal2 = {\r\n borderRight: '1px solid #222',\r\n width: '8%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal3 = {\r\n borderRight: '1px solid #222',\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStylSubtotal4 = {\r\n\r\n width: '14%',\r\n fontSize: 8\r\n}\r\nvar myStyltotal = {\r\n borderRight: '1px solid #222',\r\n width: '86%',\r\n fontSize: 12\r\n}\r\nvar myStyltotal2 = {\r\n\r\n width: '14%',\r\n fontSize: 12\r\n}\r\nvar myStylh11 = {\r\n \r\n width: '30px',\r\n fontSize: 12\r\n}\r\nvar myStylh12 = {\r\n \r\n width: '39px',\r\n fontSize: 12\r\n}\r\nvar myStylh13 = {\r\n \r\n width: '184px',\r\n fontSize: 12\r\n}\r\nvar myStylh14 = {\r\n \r\n width: '48px',\r\n fontSize: 12\r\n}\r\nvar myStylh15 = {\r\n \r\n width: '36px',\r\n fontSize: 12\r\n}\r\nvar myStylh16 = {\r\n \r\n width: '66px',\r\n fontSize: 12\r\n}\r\nvar myStylh17 = {\r\n width: '66px',\r\n fontSize: 12\r\n}\r\nconst PreviewCompra = (props) => {\r\n const { estado, onCloseModal, onReturnValue, datosfactura, detallefactura} = props;\r\n console.log(datosfactura)\r\n const handleclick = () => {\r\n onReturnValue(datosfactura,detallefactura)\r\n };\r\n \r\n return (\r\n <>\r\n \r\n \r\n Preview Compra\r\n \r\n \r\n
    \r\n
    \r\n \r\n Numero Factura: {datosfactura.numerodefactura} \r\n

    \r\n\r\n \r\n Razon Social Emisor: {datosfactura.razonsocial}
    \r\n
    \r\n R.U.C Emisor: {datosfactura.ruc}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Fecha Emision: {datosfactura.fecha}

    \r\n Destino de Compra: {datosfactura.destinocompra?datosfactura.destinocompra:\"Caja Chica\"} \r\n

    \r\n\r\n Cond. de venta: {datosfactura.terminodepago}\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    cant.
    \r\n
    ArtCod.
    \r\n
    Descripcion
    \r\n
    P. Unitario
    \r\n
    exentas
    \r\n
    5%
    \r\n
    10%
    \r\n
    \r\n \r\n \r\n {detallefactura.map((detallefactura,index) => {\r\n let iva10 =\"\"\r\n let iva5 =\"\"\r\n console.log(detallefactura.iva)\r\n detallefactura.iva==='10'? iva10=detallefactura.total : iva5=detallefactura.total\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n
    {detallefactura.cantidad} {detallefactura.artcod} {detallefactura.producto} {detallefactura.precio} {detallefactura.exenta} {iva5} {iva10}
    \r\n\r\n \r\n
    \r\n
    Total
    \r\n
    {datosfactura.total}
    \r\n
    \r\n
    \r\n
    \r\n
    IVA (5%) {datosfactura.iva5total}
    \r\n
    IVA(10%) {datosfactura.iva10total}
    \r\n
    Total Iva: {datosfactura.ivatotal}
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default PreviewCompra;\r\n","import Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport Button from \"react-bootstrap/Button\";\r\nimport Select from \"react-select\";\r\nimport Card from \"react-bootstrap/Card\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { TYPE_FACTURA,TYPE_DESTINO_COMPRA} from \"../../../Utils/const\";\r\n\r\n\r\nimport DatePicker from \"react-datepicker\";\r\nimport { registerLocale, setDefaultLocale } from \"react-datepicker\";\r\nimport es from 'date-fns/locale/es';\r\n\r\nimport React, {\r\n useCallback,\r\n useEffect,\r\n useState,\r\n useReducer,\r\n useRef,\r\n} from \"react\";\r\nimport Swal from \"sweetalert2\";\r\nimport { getAllProveedores,getProveedorById,saveProveedor} from \"../../../Api/Proveedores\";\r\nimport TableRows2 from \"./TableRows\";\r\nimport AgregarProveedores from \"./ModalCompras/AgregarProveedores\";\r\nimport PreviewCompra from \"./ModalCompras/PreviewCompra\";\r\nimport { insertFacturaCompra} from \"../../../Api/facturacion\";\r\nconst showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n typeModal: state.typeModal,\r\n onReturnValue: state.onReturnValue,\r\n };\r\n case \"SHOW2\":\r\n return {\r\n isShow2: true,\r\n typeModal: state.typeModal,\r\n onReturnValue: state.onReturnValue,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false,isShow2: false };\r\n }\r\n};\r\n const GenerarCompra = () => {\r\n registerLocale(\"es\", es);\r\n setDefaultLocale('es')\r\n const Editdata = [{\r\n proveedor:\"\",\r\n razonsocial:\"\",\r\n ruc:\"\",\r\n ciudad:\"\",\r\n direccion:\"\",\r\n telefono:\"\",\r\n correo:\"\"\r\n }]\r\n const isNew=true\r\n const [ListProveedores,setListProveedores]=useState([])\r\n const fdp = useRef()\r\n const tp = useRef()\r\n const navigate = useNavigate();\r\n const [RS,SetRS]=useState()\r\n const [RC,SetRC]=useState()\r\n const [formData3, setValue] = useState([]);\r\n const totalfactura = useRef(0);\r\n const Ivafive = useRef(0);\r\n const Ivaten = useRef(0);\r\n const ivatotalfactura = useRef(0);\r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n isShow2: false,\r\n typeModal: null,\r\n onReturnValue: null,\r\n });\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n \r\n \r\n const listResult3 = await getAllProveedores();\r\n \r\n \r\n const resultMapeado2 = listResult3.map((item) => {\r\n return { label: item.razonsocial+\" \"+item.ruc, value: item.idProveedores };\r\n });\r\n setListProveedores(resultMapeado2);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n fdp.current=\"Efectivo\"\r\n tp.current=\"Contado\"\r\n Swal.close();\r\n })();\r\n }, []);\r\n const clienteid = useCallback(async (e) => {\r\n const { value, label } = e;\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const resultCliente = await getProveedorById(value);\r\n Swal.close()\r\n const { ruc, razonsocial} = resultCliente[0];\r\n SetRS (razonsocial)\r\n SetRC (ruc)\r\n setValue({\r\n ...formData3,\r\n ruc: ruc,\r\n razonsocial:razonsocial\r\n });\r\n });\r\n\r\n const handleShow4 = () => {\r\n dispatchReducer({ type: \"SHOW\", typeModal: \"CLIENTE\" });\r\n };\r\n const onCloseModal = () => {\r\n dispatchReducer({ type: \"END\" });\r\n };\r\n const onReturnDataCliente = async (data,isNew) => {\r\n dispatchReducer({ type: \"END\" });\r\n try {\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n \r\n });\r\n const result = await saveProveedor({ ...data, isNew });\r\n \r\n if (result) {\r\n if (result) {\r\n const listResult3 = await getAllProveedores();\r\n const resultMapeado2 = listResult3.map((item) => {\r\n return { label: item.razonsocial+\" \"+item.ruc, value: item.idProveedores };\r\n });\r\n setListProveedores(resultMapeado2);\r\n Swal.close();\r\n Swal.fire({\r\n title: \"Proveedor Cargado\",\r\n html: `Se cargo correctalmente el Proveedor`,\r\n icon: \"success\",\r\n confirmButtonColor: 'black'\r\n });\r\n }\r\n }\r\n } catch (err) {\r\n Swal.close();\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n \r\n }\r\n };\r\n const handleChange = (index, evnt) => {\r\n const { name, value } = evnt.target;\r\n const rowsInput = [...rowsData];\r\n rowsInput[index][name] = value;\r\n rowsInput[index][\"total\"]=rowsInput[index][\"cantidad\"]*rowsInput[index][\"precio\"]\r\n setRowsData(rowsInput);\r\n Refresh()\r\n };\r\n const [rowsData, setRowsData] = useState([]);\r\n const addTableRows = () => {\r\n const rowsInput = {\r\n cantidad: 0,\r\n producto: \"\",\r\n precio: \"\",\r\n iva: \"10\",\r\n total: \"\",\r\n };\r\n setRowsData([...rowsData, rowsInput]);\r\n };\r\n const deleteTableRows = (index) => {\r\n const rows = [...rowsData];\r\n rows.splice(index, 1);\r\n const _ = require(\"lodash\");\r\n const sum = _.sumBy(rows, (rowsDatas) => Number(rowsDatas.total));\r\n let i;\r\n let iva5total=0\r\n let iva10total=0;\r\n \r\n for (i in rows) {\r\n if (rows[i].iva == '5')\r\n {\r\n iva5total=iva5total+rows[i].total\r\n }\r\n if (rows[i].iva == '10')\r\n {\r\n iva10total=iva10total+rows[i].total\r\n }\r\n }\r\n \r\n totalfactura.current=sum;\r\n Ivaten.current=(Math.round(iva10total/11));\r\n Ivafive.current=(Math.round(iva5total/21));\r\n ivatotalfactura.current=Ivaten.current+Ivafive.current\r\n setValue({\r\n ...formData3,\r\n iva10total: Ivaten.current,\r\n iva5total:Ivafive.current,\r\n ivatotal: ivatotalfactura.current,\r\n total: sum\r\n });\r\n setRowsData(rows); \r\n };\r\n const Refresh = () => {\r\n const _ = require(\"lodash\");\r\n const sum = _.sumBy(rowsData, (rowsDatas) => Number(rowsDatas.total));\r\n let i;\r\n let iva5total=0\r\n let iva10total=0;\r\n \r\n for (i in rowsData) {\r\n if (rowsData[i].iva == '5')\r\n {\r\n iva5total=iva5total+rowsData[i].total\r\n }\r\n if (rowsData[i].iva == '10')\r\n {\r\n iva10total=iva10total+rowsData[i].total\r\n }\r\n }\r\n \r\n totalfactura.current=sum;\r\n Ivaten.current=(Math.round(iva10total/11));\r\n Ivafive.current=(Math.round(iva5total/21));\r\n ivatotalfactura.current=Ivaten.current+Ivafive.current\r\n setValue({\r\n ...formData3,\r\n iva10total: Ivaten.current,\r\n iva5total:Ivafive.current,\r\n ivatotal: ivatotalfactura.current,\r\n total: sum\r\n });\r\n };\r\n const SaveFactura = (e) => {\r\n e.preventDefault()\r\n formData3.terminodepago= formData3.terminodepago? formData3.terminodepago:\"Contado\"\r\n if (formData3.fecha===undefined)\r\n {\r\n Swal.fire({\r\n title: \"Sin Fecha de Emision\",\r\n html: `Favor ingrese Fecha de emision`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n \r\n });\r\n\r\n }else\r\n {\r\n if (formData3.destinocompra===undefined)\r\n {\r\n setValue({\r\n ...formData3,\r\n destinocompra: \"Caja Chica\"\r\n });\r\n }\r\n if (formData3.ruc === undefined)\r\n {\r\n Swal.fire({\r\n title: \"Sin Razon social y Ruc\",\r\n html: `Favor Ingrese Proveedor`,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n \r\n });\r\n }\r\n else if (formData3.total===undefined || rowsData.length === 0 || rowsData[0].producto==\"\" || rowsData[0].cantidad==\"\" )\r\n {\r\n Swal.fire({\r\n title: \"Sin Detalle \",\r\n html: `Favor ingrese detalle `,\r\n icon: \"warning\",\r\n confirmButtonColor: \"#00273a\",\r\n });\r\n }else\r\n {\r\n dispatchReducer({ type: \"SHOW2\", typeModal: \"CLIENTE\" });\r\n }\r\n \r\n }\r\n \r\n }\r\n const onReturnPreview =async (data1,data2) =>\r\n {\r\n setValue((prevState) => {\r\n Swal.fire({\r\n title: 'Cargando',\r\n html: 'Cargando datos',// add html attribute if you want or remove\r\n allowOutsideClick: false,\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n })\r\n const currentData = prevState;\r\n currentData[\"detalleFactura\"] = rowsData;\r\n return currentData;\r\n });\r\n try {\r\n \r\n const result = await insertFacturaCompra(formData3, rowsData);\r\n if (result) {\r\n if (result) {\r\n Swal.close()\r\n Swal.fire({\r\n title: \"Factura de compra Guardada\",\r\n html: `Se Guardo Correctamente`,\r\n icon: \"success\",\r\n confirmButtonColor: 'black'\r\n });\r\n \r\n navigate(\"/compras\");\r\n }\r\n }\r\n } catch (err) {\r\n Swal.close()\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Oops...\",\r\n text: `${err}`,\r\n });\r\n }\r\n \r\n }\r\n const [startDate, setStartDate] = useState(\"\");\r\n const [startDate2, setStartDate2] = useState(\"\");\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) \r\n month = '0' + month;\r\n if (day.length < 2) \r\n day = '0' + day;\r\n\r\n return [year, month, day].join('-');\r\n}\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Fecha de Emision\r\n \r\n {setStartDate(date); setValue({\r\n ...formData3,\r\n fecha:formatDate(date)\r\n })} } />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Numero de  Factura: \r\n \r\n {\r\n setValue({\r\n ...formData3,\r\n numerodefactura: e.target.value\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n Termino de Pago: \r\n {\r\n setValue({\r\n ...formData3,\r\n terminodepago: e.value\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n Obs. y Forma de pago\r\n \r\n {\r\n setValue({\r\n ...formData3,\r\n obs: e.target.value\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n Destino de Compra: \r\n {\r\n setValue({\r\n ...formData3,\r\n destinocompra: e.value\r\n });\r\n }}\r\n />\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Numero de Factura:  \r\n \r\n \r\n {formData3.numerodefactura}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Emisor\r\n \r\n \r\n {\" \"}\r\n {\r\n clienteid(e);\r\n }}\r\n \r\n />\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Cant.\r\n {\" \"}\r\n Cod. Producto/Servicio\r\n PrecioIvaTotal\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n Iva 10:\r\n \r\n {Ivaten.current}\r\n \r\n
    \r\n
    \r\n Iva 5:\r\n \r\n {Ivafive.current}\r\n \r\n
    \r\n
    \r\n Iva Total:\r\n \r\n {ivatotalfactura.current}\r\n \r\n
    \r\n
    \r\n \r\n Total:\r\n {totalfactura.current}\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n {reducer.isShow && (\r\n \r\n )}\r\n {reducer.isShow2 && (\r\n \r\n )}\r\n \r\n )\r\n };\r\n export default GenerarCompra;","import React, {\r\n useEffect,\r\n useState,\r\n useCallback,\r\n useReducer,\r\n useRef,\r\n} from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Button, ButtonGroup } from \"react-bootstrap\";\r\nimport {\r\n getFacturaCompraById,\r\n anularFactura,\r\n getDetalleFacturaCompraId,\r\n updateFactura,\r\n} from \"../../../Api/facturacion\";\r\nimport { getAllFormaPago } from \"../../../Api/formaPago\";\r\nimport Table from \"react-bootstrap/Table\";\r\nimport Swal from \"sweetalert2\";\r\nimport { TailSpin } from \"react-loader-spinner\";\r\nimport { getUserCredentials } from \"../../../Api/usuario\";\r\nvar myStyle = {\r\n height: \"8%\",\r\n};\r\nvar myStyle2 = {\r\n borderTop: \"1px solid #222\",\r\n\r\n height: \"10%\",\r\n};\r\nvar myStyle3 = {\r\n borderTop: \"1px solid #222\",\r\n\r\n height: \"66%\",\r\n};\r\n\r\nvar myStyle5 = {\r\n borderTop: \"1px solid #222\",\r\n height: \"4%\",\r\n};\r\nvar myStyle6 = {\r\n height: \"4%\",\r\n};\r\n\r\nvar myStyleex = {\r\n borderTop: \"1px solid #222\",\r\n\r\n height: \"2%\",\r\n};\r\nvar myStyleex2 = {\r\n borderTop: \"1px solid #222\",\r\n\r\n height: \"3%\",\r\n};\r\nvar myStyleex2venta = {\r\n borderTop: \"1px solid #222\",\r\n\r\n height: \"2%\",\r\n};\r\nvar myStylh1 = {\r\n borderRight: \"1px solid #222\",\r\n width: \"6%\",\r\n fontSize: 8,\r\n};\r\nvar myStylh2 = {\r\n borderRight: \"1px solid #222\",\r\n width: \"8%\",\r\n fontSize: 8,\r\n};\r\nvar myStylh3 = {\r\n borderRight: \"1px solid #222\",\r\n width: \"40%\",\r\n fontSize: 8,\r\n};\r\nvar myStylh4 = {\r\n borderRight: \"1px solid #222\",\r\n width: \"10%\",\r\n fontSize: 8,\r\n};\r\nvar myStylh5 = {\r\n borderRight: \"1px solid #222\",\r\n width: \"7%\",\r\n fontSize: 8,\r\n};\r\nvar myStylh6 = {\r\n borderRight: \"1px solid #222\",\r\n width: \"14%\",\r\n fontSize: 8,\r\n};\r\nvar myStylh7 = {\r\n width: \"14%\",\r\n fontSize: 8,\r\n};\r\nvar myStyleventa = {\r\n borderRight: \"1px solid #222\",\r\n width: \"64%\",\r\n fontSize: 8,\r\n};\r\nvar myStyleventa2 = {\r\n width: \"37%\",\r\n fontSize: 8,\r\n};\r\nvar myStylSubtotal = {\r\n borderRight: \"1px solid #222\",\r\n width: \"64%\",\r\n fontSize: 8,\r\n};\r\nvar myStylSubtotal2 = {\r\n borderRight: \"1px solid #222\",\r\n width: \"8%\",\r\n fontSize: 12,\r\n};\r\nvar myStylSubtotal3 = {\r\n borderRight: \"1px solid #222\",\r\n width: \"14%\",\r\n fontSize: 12,\r\n};\r\nvar myStylSubtotal4 = {\r\n width: \"14%\",\r\n fontSize: 12,\r\n};\r\nvar myStyltotal = {\r\n borderRight: \"1px solid #222\",\r\n width: \"86%\",\r\n fontSize: 10,\r\n};\r\nvar myStyltotal2 = {\r\n width: \"14%\",\r\n fontSize: 12,\r\n};\r\nvar myStylh11 = {\r\n width: \"30px\",\r\n fontSize: 12,\r\n};\r\nvar myStylh12 = {\r\n width: \"39px\",\r\n fontSize: 12,\r\n};\r\nvar myStylh13 = {\r\n width: \"184px\",\r\n fontSize: 12,\r\n};\r\nvar myStylh14 = {\r\n width: \"48px\",\r\n fontSize: 12,\r\n};\r\nvar myStylh15 = {\r\n width: \"36px\",\r\n fontSize: 12,\r\n};\r\nvar myStylh16 = {\r\n width: \"66px\",\r\n fontSize: 12,\r\n};\r\nvar myStylh17 = {\r\n width: \"66px\",\r\n fontSize: 12,\r\n};\r\nvar myStylex1 = {\r\n borderRight: \"1px solid #222\",\r\n width: \"50%\",\r\n fontSize: 12,\r\n};\r\nvar myStylex2 = {\r\n width: \"50%\",\r\n fontSize: 30,\r\n color: \"Red\",\r\n};\r\nconst showReducer = (curShow, state) => {\r\n switch (state.type) {\r\n case \"SHOW\":\r\n return {\r\n isShow: true,\r\n onReturnValue: state.onReturnValue,\r\n ListFDP: state.ListFDP,\r\n };\r\n case \"SHOW2\":\r\n return {\r\n isShow: false,\r\n isShow2: true,\r\n onReturnValue: state.onReturnValue,\r\n };\r\n case \"END\":\r\n return { ...curShow, isShow: false, isShow2: false };\r\n }\r\n};\r\nconst FichaFacturaCompra = () => {\r\n const [userData, setUserData] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const [reducer, dispatchReducer] = useReducer(showReducer, {\r\n isShow: false,\r\n isShow2: false,\r\n ListFDP: null,\r\n onReturnValue: null,\r\n });\r\n const location = useLocation();\r\n const id = location.state?.id;\r\n const [id2, setid2] = useState(id);\r\n const [datosfacturas, setFactura] = useState([]);\r\n const [iva10total, setiva10total] = useState();\r\n const [iva5total, setiva5total] = useState();\r\n const [detallefactura, setDetalle] = useState([]);\r\n\r\n const Ncomprobante = useRef(\"NO\");\r\n const numberToTextss = require(\"../TextoNumero\");\r\n\r\n const assigmentValue = useCallback(async () => {\r\n try {\r\n const listResult = await getFacturaCompraById(id2); // de compra\r\n const listResult2 = await getDetalleFacturaCompraId(id2); // de compra\r\n const iva10array = listResult2.filter(user => user.iva=='10')\r\n const iva5array = listResult2.filter(user => user.iva=='5')\r\n let totaliva10i=0\r\n iva10array.forEach(function(a){totaliva10i += a.total;});\r\n setiva10total(totaliva10i)\r\n let totaliva5i=0\r\n iva5array.forEach(function(a){totaliva5i += a.total;});\r\n setiva5total(totaliva5i)\r\n const result2 = await getUserCredentials();\r\n setUserData(result2);\r\n\r\n Ncomprobante.current = listResult[0].numerofactura;\r\n\r\n setFactura(listResult);\r\n setDetalle(listResult2);\r\n setLoading(false);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false);\r\n }\r\n }, [id]);\r\n useEffect(() => {\r\n assigmentValue();\r\n }, [assigmentValue]);\r\n\r\n return (\r\n <>\r\n \r\n {datosfacturas.map((datosfactura, index2) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n Numero Factura:\r\n

    {datosfactura.numerofactura}{\" \"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Fecha Emision: {datosfactura.fechafactura}{\" \"}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Emisor: {datosfactura.razonsocial}\r\n \r\n
    \r\n
    \r\n \r\n RUC Emisor: {datosfactura.ruc}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Venta\r\n
    \r\n
    \r\n
    \r\n
    \r\n cant.\r\n
    \r\n
    \r\n ArtCod.\r\n
    \r\n
    \r\n Descripcion\r\n
    \r\n
    \r\n P. Unitario\r\n
    \r\n
    \r\n exentas\r\n
    \r\n
    \r\n 5%\r\n
    \r\n
    \r\n 10%\r\n
    \r\n
    \r\n \r\n \r\n {detallefactura.map((detallefactura, index) => {\r\n let iva10 = \"\";\r\n let iva5 = \"\";\r\n \r\n detallefactura.iva === \"10\"\r\n ? (iva10 = detallefactura.total)\r\n : (iva5 = detallefactura.total);\r\n\r\n return (\r\n \r\n \r\n \r\n {\" \"}\r\n {detallefactura.cantidad}{\" \"}\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {detallefactura.artcod}{\" \"}\r\n \r\n \r\n \r\n {detallefactura.producto} \r\n \r\n \r\n {detallefactura.precio} \r\n \r\n \r\n {detallefactura.exenta}\r\n \r\n \r\n {iva5}\r\n \r\n \r\n {iva10}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n\r\n \r\n \r\n Sub Total\r\n \r\n \r\n \r\n \r\n \r\n {iva5total}\r\n \r\n \r\n {iva10total}\r\n \r\n \r\n
    \r\n \r\n Total a pagar(en letas){\" \"}\r\n \r\n {numberToTextss.NumerosALetras(\r\n datosfactura.totalFactura\r\n )}{\" \"}\r\n Guaranies---------\r\n {\" \"}\r\n
    \r\n \r\n {datosfactura.totalFactura}\r\n \r\n \r\n
    \r\n \r\n \r\n LIQUIDACIOON DEL IVA (5%){\" \"}\r\n {datosfactura.iva5total}\r\n
    \r\n \r\n (10%) {datosfactura.iva10total}\r\n \r\n \r\n Total Iva:{\" \"}\r\n {datosfactura.iva5total + datosfactura.iva10total}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Datos Extras

    \r\n
    \r\n
    \r\n \r\n Tipo de Factura : {datosfactura.tipoFactura}\r\n \r\n

    \r\n\r\n Obs : {datosfactura.formadepago} \r\n

    \r\n \r\n Destino de Compra : {datosfactura.destinocompra}{\" \"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\nexport default FichaFacturaCompra;\r\n","import React, { useContext } from \"react\";\r\n\r\n/// React router dom\r\nimport { Routes, Route, Outlet,Navigate } from \"react-router-dom\";\r\n\r\n/// Css\r\nimport \"./index.css\";\r\nimport \"./chart.css\";\r\nimport \"./step.css\";\r\n\r\n/// Layout\r\nimport Nav from \"./layouts/nav\";\r\n\r\nimport ScrollToTop from \"./layouts/ScrollToTop\";\r\n\r\nimport { ThemeContext } from \"../context/ThemeContext\";\r\nimport OTimbrado from \"./pages/opciones/Otimbrado\";\r\nimport Ocostos from \"./pages/opciones/Ocostos\";\r\nimport Oformasdepago from \"./pages/opciones/Oformasdepago\";\r\nimport Osucursal from \"./pages/opciones/Osucursal\";\r\nimport Omoneda from \"./pages/opciones/Omoneda\";\r\nimport FacturaContado from \"./pages/FacturaContado\";\r\nimport Depositado from \"./pages/facturascontado/Depositado\";\r\nimport Nodepositado from \"./pages/facturascontado/Nodepositado\";\r\nimport FacturaCredito from \"./pages/FacturaCredito\";\r\nimport Reporte from \"./pages/Reportes\";\r\nimport Opuntodeventa from \"./pages/opciones/Opuntodeventa\";\r\nimport Clientes from \"./pages/facturacion/Clientes\";\r\nimport Facturas from \"./pages/facturacion/Facturas\";\r\nimport FichaCliente from \"./pages/facturacion/Fichas/FichaCliente\";\r\nimport FichaFactura from \"./pages/facturacion/Fichas/FichaFactura\";\r\nimport Vencimiento from \"./pages/facturascredito/Vencimientos\";\r\nimport Cobranzas from \"./pages/facturascredito/Cobranza\";\r\nimport Generarfactura from \"./pages/Generarfactura.js\";\r\nimport AppLogout from \"./AppLogout\";\r\n/*proveedores*/\r\nimport Proveedores from \"./pages/compras/Proveedores\";\r\nimport Compras from \"./pages/compras/Compras\";\r\nimport Listadecompras from \"./pages/compras/Listadecompras\";\r\nimport Reportecompras from \"./pages/compras/Reportecompras\";\r\nimport GenerarCompra from \"./pages/compras/GenerarCompra\";\r\nimport FichaFacturaCompra from \"./pages/compras/FichaFacturaCompra.js\";\r\nconst Markup = () => {\r\n const allRoutes = [\r\n // rutas\r\n\r\n { url: \"Opcionesdetimbrado\", component: },\r\n { url: \"Opcionesdecosto\", component: },\r\n { url: \"Opcionesformadepago\", component: },\r\n { url: \"Opcionesdemoneda\", component: },\r\n\r\n { url: \"FacturaContado\", component: },\r\n { url: \"depositado\", component: },\r\n { url: \"nodepositado\", component: },\r\n { url: \"FacturaCredito\", component: },\r\n { url: \"Reporte\", component: },\r\n { url: \"Opcionesdesucursal\", component: },\r\n { url: \"Opcionesodv\", component: },\r\n { url: \"Clientes\", component: },\r\n { url: \"Facturas\", component: },\r\n { url: \"FichaCliente\", component: },\r\n { url: \"FichaFactura\", component: },\r\n { url: \"cobranza\", component: },\r\n { url: \"vencimientos\", component: },\r\n { url: \"generarfactura\", component: },\r\n /*proveedores*/\r\n { url: \"proveedores\", component: },\r\n { url: \"compras\", component: },\r\n { url: \"listadecompras\", component: },\r\n { url: \"reportecompras\", component: },\r\n { url: \"generarcompra\", component: },\r\n { url: \"FichaFacturaCompra\", component: },\r\n\r\n ];\r\n\r\n return (\r\n <>\r\n \r\n }>\r\n {allRoutes.map((data, i) => (\r\n \r\n ))}\r\n \r\n }\r\n />\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nfunction Layout7() {\r\n const { menuToggle, sidebariconHover } = useContext(ThemeContext);\r\n return (\r\n \r\n