{"version":3,"file":"static/js/main.ecaaa6a6.js","mappings":"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,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD2F,OAAQ,CACJ,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,SACA,SACA,SACA,SACA,SACA,SACA,WAIFirB,GAAyB,CAC3B5wB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD2F,OAAQ,CACJ,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,eACA,eACA,eACA,eACA,eACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIFkrB,GAA2B,CAC7B7wB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5D2F,OAAQ,CACJ,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,SACA,SACA,SACA,SACA,SACA,SACA,SACA,WAIFmrB,GAAwB,SAC1B7iC,EACAuW,EACAlT,EACAy/B,EACAC,EACAC,GAEA,OAAIhjC,EAAQuW,GAAOvW,EAAQqD,EAChB4/B,GAAkBjjC,EAAO+iC,EAAUC,EAAO9pC,O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GAAA,OACvBZ,EAAqBgB,EAAsBD,EAAAE,EAAA,GACtCmsF,EAAA,CACHkpB,MAAOhzG,MAAMzF,UAAU6B,OAAO0tF,EAAQkpB,MAAO11G,GAAO6d,OAAOg0E,WAAA,EAGxDvuF,CAAA,CDzBO,CAAqCu/D,GAAiBzjE,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,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,WACA,SCnIUoQ,SAAQ,SAAApQ,GAClB4kE,GAAO5kE,GAAc4kE,GAAO5kE,EAAA,KELT,oBAAAA,EAOPA,EAAgBgB,GAAA,KACrB0zG,MAAQ10G,EAAA,KACR01G,YAAc10G,EAAA,KACdy0G,SAAW/xC,EAAc1jE,GAI9BqV,EAAW2/F,WAAWnxG,KAAK6xG,YAAc,OAAA10G,EAAAhB,EAAAnC,UAAAmD,EAG3CmwC,aAAA,SACEnxC,EACAgB,EACAJ,EACAG,GAAA,IAGMqsF,EAAMrsF,EADIqkE,GAAQvhE,KAAK6wG,MAAO1zG,EAAkBJ,EAAYG,GACvC4d,KAAK,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G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7Dr5E,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEhB,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,KAGE9D,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEktE,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/Dx4D,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEE8iD,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,cAuKOm2B,EAAkBptF,EAAShB,GAAA,QAC9Be,EAAY,EACZH,EAAe,EACff,EAAK,IAAIyD,MACJhC,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAI8rF,EAAI,EAAGA,GAAKpsF,EAAQM,GAAI8rF,IAC/BvtF,EAAGG,EAAUY,IAAiB,GAC9Bf,EAAGG,EAAUY,IAAe,GAAKG,EACjClB,EAAGG,EAAUY,IAAe,GAAKU,EACjCV,IACAG,IAEFA,GAAa,SAERlB,CAAA,UA2DA01E,EAAUv0E,GAAA,QACbhB,EAAQgB,EAAG,GACXD,EAASC,EAAG,GAAK,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ACA,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,GAEJ1sE,EAAE,aAAc,iBAChBx2E,EAAKynJ,WAAa,kBACT,YAETznJ,EAAK0nJ,WAAa,SAAS1nJ,GAAA,OAClBA,CAAA,EAETA,EAAK2nJ,WAAa,SAAS3nJ,EAAGhB,EAAGe,GAAA,OACxBf,EAAEe,EAAI,IAEfC,EAAK4nJ,W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,GACAI,GACAH,GACAC,GACAC,GACA3gC,GACA7b,GACA08C,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIAxD,GACAiB,GACAlB,GACAh1C,GAz5BAs3C,GAAK5lJ,EAAE,KACP6lJ,GAAK7lJ,EAAE,MACP8lJ,GAAK9lJ,EAAE,KACP+lJ,GAAK/lJ,EAAE,KACP2lJ,GAAK,EACLsB,GAAKpB,GACL5W,GAAK6W,GACLkB,GAAIjB,GACJmB,GAAItB,GACJzB,GAAK,EACLX,GAAK,EACLc,GAAK,EACLb,GAAK,EACLJ,GAAK,EACLK,GAAK,EACLe,GAAK,EACL5B,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLoC,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,IACpEtB,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,KAEFoB,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFpuE,GAAK,EACL1B,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,KAEFuB,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,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFN,GAAK,KACLP,GAAK,CACH,CAAC,IAAK,IAAK,IAAK,GAChB,CAAC,IAAK,IAAK,IAAK,IAAK,GACrB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1B,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAE1DhB,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACxD0B,GAAK,EAAE,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GACnEK,GAAK,CACH,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,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,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,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC/C,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAClD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC/C,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGrD,CACE,CACE,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,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,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,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,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,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,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEpD,CACE,CAAC,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAClD,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAEnD,CACE,CAAC,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC/C,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACjD,CAAC,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,QAIvD7B,GAAK,CACH,CACE,CAAC,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KACvC,CAAC,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IACtC,CAAC,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACpC,CAAC,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IACnC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IACrC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IACrC,CAAC,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAClC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,KAEpC,CACE,CAAC,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,KACvC,CAAC,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IACtC,CAAC,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,KAClC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,KACpC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GACpC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KAEtC,CACE,CAAC,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IACpC,CAAC,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IACnC,CAAC,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IACpC,CAAC,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACjC,CAAC,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAEnC,CACE,CAAC,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACtC,CAAC,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACrC,CAAC,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,KACtC,CAAC,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,KACjC,CAAC,IAAK,GAAI,EAAG,GAAI,IAAK,EAAG,GAAI,GAAI,IACjC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,KACrC,CAAC,GAAI,GAAI,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,KACjC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KAEtC,CACE,CAAC,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,GAAI,KACjC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,IACjC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,KAChC,CAAC,GAAI,GAAI,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,KAEnC,CACE,CAAC,IAAK,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,IAAK,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAClC,CAAC,GAAI,GAAI,IAAK,IAAK,EAAG,GAAI,GAAI,IAAK,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,IAAK,IAChC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IACpC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IACnC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,EAAG,GAAI,KAEpC,CACE,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IACrC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IACrC,CAAC,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GACpC,CAAC,GAAI,GAAI,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACjC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,IACjC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,KACnC,CAAC,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,IAAK,GAAI,GACpC,CAAC,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IACrC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IACpC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,EAAG,KAErC,CACE,CAAC,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,KACnC,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IACnC,CAAC,GAAI,GAAI,IAAK,GAAI,EAAG,GAAI,GAAI,IAAK,KAClC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAClC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GACrC,CAAC,GAAI,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAClC,CAAC,GAAI,GAAI,EAAG,EAAG,GAAI,IAAK,IAAK,IAAK,IAClC,CAAC,GAAI,EAAG,GAAI,EAAG,GAAI,IAAK,GAAI,IAAK,GACjC,CAAC,GAAI,EAAG,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,KAErC,CACE,CAAC,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACrC,CAAC,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KACpC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,KACrC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,EAAG,KACnC,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,EAAG,EAAG,KAChC,CAAC,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IACnC,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,KACpC,CAAC,GAAI,GAAI,EAAG,GAAI,IAAK,IAAK,EAAG,EAAG,KAChC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,MAEtC,CACE,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IACpC,CAAC,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IACnC,CAAC,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,IAClC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,KACnC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IACpC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,EAAG,GAAI,IAAK,IACnC,CAAC,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,KACpC,CAAC,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,EAAG,MAGvC+B,GAAK,CACH,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,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,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ACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,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,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,I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","sources":["../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.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/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-table-sticky/build/index.js","../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/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.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/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.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/publicPath","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../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/styled-components/src/base.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","assets/icons/CardView.js","assets/icons/ListView.js","ui/LinkButton.js","ui/OutlineButton.js","util/getLink.js","util/shortlistUtil.js","components/Rating.js","components/CardDetailStyles.js","components/CardDetailBeefForSuckler.js","components/CardDetailDairy.js","components/CardDetailDairyBeef.js","components/Card.js","components/Cards.js","assets/icons/ArrowIcon.js","components/Table.js","ui/IconButton.js","ui/Select.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","ui/Checkbox.js","components/Ticked.js","components/tableColumns/beefForSuckerColumns.js","components/tableColumns/dairyBeefColumns.js","components/tableColumns/dairyHightypeColumns.js","components/tableColumns/dairySireColumns.js","components/tableColumns/getColumns.js","components/Loading.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/fileloading.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.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","util/getApiConfig.js","util/getApiAuthToken.js","util/getCategory.js","util/getData.js","ancestry/components/TreeNode.js","ancestry/components/Tree.js","ancestry/components/Loading.js","ancestry/AncestryApp.js","profile/ui/SecondaryButton.js","profile/components/Header.js","profile/components/Images.js","profile/components/Panel.js","profile/components/Info.js","profile/components/Body.js","profile/ProfileApp.js","data/components/TableWrapper.js","data/components/Loading.js","data/components/GeneralInfoTable.js","data/components/SimpleTable.js","data/constants.js","data/components/Percentile.js","data/components/LinearEvaluationTable.js","data/components/IrishDaughterProduction.js","data/components/Rating.js","data/components/EconomicIndexTable.js","data/components/CalvinDifficultyTable.js","data/components/ProgenyPerfromanceTable.js","data/components/ExpectedDaughterBreedingPerformanceTable.js","data/components/EBISummaryTable.js","data/components/Tables.js","data/DataApp.js","components/Pagination.js","util/submitDownloadPdfRequest.js","components/DownloadPDFModal.js","components/Body.js","util/handleSearch.js","App.js","ShortlistApp.js","index.js"],"sourcesContent":["'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","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\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","/**\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","/* 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 * 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","export const getApiConfig = () => {\r\n // Default base config\r\n let defaultConfig = {\r\n base_url: \"https://mbwebapiuatofflineprocessor.azurewebsites.net/api/v1\",\r\n grant_type: process.env.REACT_APP_grant_type,\r\n client_id: process.env.REACT_APP_client_id,\r\n client_secret: process.env.REACT_APP_client_secret,\r\n account_name: process.env.REACT_APP_account_name,\r\n pdf_cover_image:\r\n \"https://munsterbovine.gdnetdev.net/resource-assets/images/cover.png\",\r\n };\r\n\r\n let instanceConfig = {};\r\n if (\r\n typeof window !== \"undefined\" &&\r\n typeof window[\"munsterBovineApiConfig\"] !== \"undefined\"\r\n ) {\r\n instanceConfig = Object.assign(\r\n instanceConfig,\r\n window[\"munsterBovineApiConfig\"]\r\n );\r\n }\r\n\r\n // Fallback to QA\r\n return Object.assign({}, defaultConfig, instanceConfig);\r\n};\r\n","import { getApiConfig } from \"./getApiConfig\";\r\n\r\nexport const getApiAuthToken = (opts) => {\r\n let baseOpts = {\r\n callback: () => {},\r\n };\r\n let options = Object.assign({}, baseOpts, opts);\r\n\r\n // Add an event listner for the callback function if we don't have an auth token OR we are currently refreshing the token\r\n let authToken = readAPIAuthToken();\r\n if (authToken === \"\" || window.refreshingApiAuthToken === true) {\r\n document.addEventListener(\r\n \"munster-bovine-api-tokenRefreshed\",\r\n (e) => {\r\n options.callback(e.detail.access_token);\r\n },\r\n {\r\n once: true,\r\n }\r\n );\r\n }\r\n\r\n // If we dont have a token, trigger a refresh then exit the function\r\n if (authToken === \"\") {\r\n if (window.refreshingApiAuthToken !== true) {\r\n refreshApiAuthToken();\r\n }\r\n return null;\r\n }\r\n\r\n // We must have a token here, trigger the callback and return the token\r\n options.callback(authToken);\r\n\r\n return authToken;\r\n};\r\n\r\nexport const refreshApiAuthToken = () => {\r\n window.refreshingApiAuthToken = true;\r\n\r\n const API_CONFIG = getApiConfig();\r\n return fetch(`${API_CONFIG.base_url}/oauth`, {\r\n method: \"POST\",\r\n body: JSON.stringify({\r\n grant_type: API_CONFIG.grant_type,\r\n client_id: API_CONFIG.client_id,\r\n client_secret: API_CONFIG.client_secret,\r\n account_name: API_CONFIG.account_name,\r\n }),\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n storeAPIAuthToken(data.access_token, data.expires_in);\r\n window.refreshingApiAuthToken = false;\r\n document.dispatchEvent(\r\n new CustomEvent(\"munster-bovine-api-tokenRefreshed\", {\r\n detail: data,\r\n })\r\n );\r\n });\r\n};\r\n\r\nfunction readAPIAuthToken() {\r\n let jsonData = null;\r\n\r\n if (isSessionStorageSupported()) {\r\n jsonData = window.sessionStorage.getItem(\"munster-bovine-api-token\");\r\n } else {\r\n let result = document.cookie.match(\r\n new RegExp(\"munster-bovine-api-token\" + \"=([^;]+)\")\r\n );\r\n if (result) {\r\n jsonData = decodeURIComponent(result[1]);\r\n }\r\n }\r\n\r\n if (jsonData === null || jsonData === \"\") return \"\";\r\n\r\n let oData = JSON.parse(jsonData);\r\n let expires = new Date(oData.expires - 10 * 60 * 1000);\r\n if (expires <= new Date()) return \"\";\r\n\r\n return oData.token;\r\n}\r\n\r\nfunction storeAPIAuthToken(authToken, expiresIn) {\r\n let jsonData = JSON.stringify({\r\n token: authToken,\r\n expires: new Date().getTime() + expiresIn * 1000,\r\n });\r\n\r\n if (isSessionStorageSupported()) {\r\n sessionStorage.setItem(\"munster-bovine-api-token\", jsonData);\r\n } else {\r\n let jsonDataEscaped = encodeURIComponent(jsonData);\r\n document.cookie = `munster-bovine-api-token=${jsonDataEscaped};path=/;`;\r\n }\r\n}\r\n\r\nfunction isSessionStorageSupported() {\r\n try {\r\n var storage = window.sessionStorage;\r\n storage.setItem(\"test\", \"test\");\r\n storage.removeItem(\"test\");\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n}\r\n","// dairy | beefforsuckler | dairybeef | dairyhightype\r\n\r\nexport const getCategory = () => {\r\n const el = document.getElementById(\"table\");\r\n const breed = el.getAttribute(\"data-breed\");\r\n const category = el.getAttribute(\"data-category\");\r\n const search = el.getAttribute(\"data-search\");\r\n const panel = el.getAttribute(\"data-panel\");\r\n const coverImage = el.getAttribute(\"data-pdfcoverimage\");\r\n const animalBaseHref = el.getAttribute(\"data-animalBaseHref\");\r\n\r\n return {\r\n apiEndpoint: breed\r\n ? `${category}gridviewbybreed/${breed}`\r\n : panel\r\n ? `${category}gridviewpanels/${panel}`\r\n : `${category}gridview`,\r\n category,\r\n breed,\r\n search,\r\n coverImage,\r\n animalBaseHref,\r\n };\r\n};\r\n","import { getApiConfig } from \"./getApiConfig\";\r\nimport { getApiAuthToken } from \"./getApiAuthToken\";\r\nimport { getCategory } from \"./getCategory\";\r\n\r\nconst API_CONFIG = getApiConfig();\r\nexport const BASE_URL = API_CONFIG.base_url;\r\n\r\nconst getEndpoint = () => {\r\n const { apiEndpoint } = getCategory();\r\n return `/${apiEndpoint}`;\r\n};\r\n\r\nexport const getTableData = async () => {\r\n const authToken = getApiAuthToken();\r\n\r\n const dataRes = await fetch(`${BASE_URL}${getEndpoint()}`, {\r\n headers: { Authorization: `Bearer ${authToken}` },\r\n });\r\n\r\n fetch(`${BASE_URL}/bullbreeds`, {\r\n headers: { Authorization: `Bearer ${authToken}` },\r\n });\r\n\r\n fetch(`${BASE_URL}/bullpanels`, {\r\n headers: { Authorization: `Bearer ${authToken}` },\r\n });\r\n\r\n const data = await dataRes.json();\r\n\r\n const parsedData = data\r\n .map(({ Bulls }) =>\r\n Bulls.map(({ Details, Media, Bull_Breed }) => ({\r\n ...Details,\r\n Media,\r\n Breed: Bull_Breed,\r\n }))\r\n )\r\n .flat();\r\n\r\n return parsedData;\r\n};\r\n\r\nexport const getShortlistAnimalData = async ({ category, shortlist }) => {\r\n const authToken = getApiAuthToken();\r\n\r\n const dataRes = await fetch(`${BASE_URL}/${category}gridview`, {\r\n headers: {\r\n Authorization: `Bearer ${authToken}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n method: \"POST\",\r\n body: JSON.stringify({ AnimalIds: shortlist }),\r\n });\r\n\r\n const data = await dataRes.json();\r\n\r\n return data\r\n .map(({ Bulls }) =>\r\n Bulls.map(({ Details, Media, Bull_Breed }) => ({\r\n ...Details,\r\n Media,\r\n Breed: Bull_Breed,\r\n }))\r\n )\r\n .flat();\r\n};\r\n","import styled, { css } from \"styled-components\";\r\nimport Tree from \"./Tree\";\r\n\r\nconst TreeWrapper = styled.div`\r\n display: flex;\r\n /* align-items: ; */\r\n gap: 115px;\r\n`;\r\n\r\nconst Node = styled.div`\r\n min-width: 365px;\r\n padding: 20px 15px;\r\n margin: 50px 0;\r\n box-sizing: border-box;\r\n border-radius: 4px;\r\n background-color: #b64b00;\r\n`;\r\n\r\nconst ParentNode = styled(Node)`\r\n align-self: center;\r\n`;\r\n\r\nconst NameWrapper = styled.p`\r\n span {\r\n font-weight: 600;\r\n }\r\n`;\r\n\r\nconst TreeContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n`;\r\n\r\nconst beforeChild = css`\r\n &:before {\r\n content: \"\";\r\n width: 76.5px;\r\n border: 1px solid #fff;\r\n right: -51px;\r\n top: 50%;\r\n position: absolute;\r\n z-index: -1;\r\n }\r\n`;\r\n\r\nconst afterChild = css`\r\n &:after {\r\n content: \"\";\r\n top: 50%;\r\n right: -115px;\r\n width: 130px;\r\n border: 1px solid #fff;\r\n position: absolute;\r\n z-index: -1;\r\n }\r\n`;\r\n\r\nconst afterTwoChildren = css`\r\n &:after {\r\n content: \"\";\r\n top: 25%;\r\n right: -113.5px;\r\n border: 1px solid #fff;\r\n border-right: none;\r\n width: 62.5px;\r\n position: absolute;\r\n height: 50%;\r\n }\r\n`;\r\n\r\nconst ParentContainer = styled.div`\r\n display: flex;\r\n align-items: center;\r\n height: auto;\r\n position: ${(props) => (props.nbChildren ? \"relative\" : \"static\")};\r\n z-index: 1;\r\n ${({ nbChildren }) => {\r\n if (!nbChildren) return;\r\n return beforeChild;\r\n }}\r\n ${({ nbChildren }) => {\r\n if (!nbChildren) return;\r\n if (nbChildren === 1) return afterChild;\r\n return afterTwoChildren;\r\n }}\r\n color: #fff;\r\n`;\r\n\r\nconst addSpaceToKey = (str) => str.replace(/([a-z])([A-Z])/g, \"$1 $2\");\r\n\r\nconst TreeNode = ({ title, node }) => {\r\n let name = \"\";\r\n let keys = [];\r\n let hasChildren = false;\r\n if (typeof node === \"object\" && node.hasOwnProperty(\"Name\")) {\r\n name = node[\"Name\"];\r\n hasChildren = true;\r\n keys = Object.keys(node).filter((key) => key !== \"Name\");\r\n return (\r\n \r\n \r\n \r\n

    {addSpaceToKey(title)}

    \r\n \r\n Name: \r\n {name}\r\n \r\n
    \r\n
    \r\n \r\n {hasChildren &&\r\n keys.map((key) => )}\r\n \r\n
    \r\n );\r\n }\r\n\r\n name = node;\r\n return (\r\n \r\n \r\n

    {addSpaceToKey(title)}

    \r\n \r\n Name: \r\n {name}\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TreeNode;\r\n","import TreeNode from \"./TreeNode\";\r\n\r\nconst Tree = ({ data = {} }) => {\r\n return (\r\n
    \r\n {Object.keys(data).map((key) => (\r\n \r\n ))}\r\n
    \r\n );\r\n};\r\nexport default Tree;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.div`\r\n .lds-ripple {\r\n display: inline-block;\r\n position: relative;\r\n width: 80px;\r\n height: 80px;\r\n }\r\n .lds-ripple div {\r\n position: absolute;\r\n border: 4px solid #fff;\r\n opacity: 1;\r\n border-radius: 50%;\r\n animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\r\n }\r\n .lds-ripple div:nth-child(2) {\r\n animation-delay: -0.5s;\r\n }\r\n @keyframes lds-ripple {\r\n 0% {\r\n top: 36px;\r\n left: 36px;\r\n width: 0;\r\n height: 0;\r\n opacity: 0;\r\n }\r\n 4.9% {\r\n top: 36px;\r\n left: 36px;\r\n width: 0;\r\n height: 0;\r\n opacity: 0;\r\n }\r\n 5% {\r\n top: 36px;\r\n left: 36px;\r\n width: 0;\r\n height: 0;\r\n opacity: 1;\r\n }\r\n 100% {\r\n top: 0px;\r\n left: 0px;\r\n width: 72px;\r\n height: 72px;\r\n opacity: 0;\r\n }\r\n }\r\n`;\r\n\r\nconst Loading = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Loading;\r\n","import styled from \"styled-components\";\r\nimport Tree from \"./components/Tree\";\r\nimport Loading from \"./components/Loading\";\r\n\r\nconst Wrapper = styled.div`\r\n background: #e86b11;\r\n`;\r\n\r\nconst Container = styled.div`\r\n margin: 0;\r\n max-width: 1480px;\r\n padding: 20px;\r\n font-family: \"Poppins\";\r\n margin: 0px auto;\r\n`;\r\n\r\nconst TreeContainerWrapper = styled.div`\r\n padding: 60px;\r\n overflow-y: scroll;\r\n`;\r\n\r\nconst TreeContainer = styled.div``;\r\n\r\nconst Title = styled.p`\r\n font-family: \"Poppins\";\r\n font-style: normal;\r\n font-weight: 600;\r\n font-size: 40px;\r\n line-height: 160%;\r\n letter-spacing: -0.03em;\r\n color: #fedfb3;\r\n\r\n margin-top: 157px;\r\n padding-bottom: 88px;\r\n border-bottom: 1px solid #fff;\r\n`;\r\n\r\nfunction AncestryApp({ data }) {\r\n return (\r\n \r\n \r\n Ancestry\r\n\r\n \r\n {!data ? (\r\n \r\n ) : (\r\n Object.keys(data).map((key) => (\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 AncestryApp;\r\n","import styled from \"styled-components\";\r\n\r\nconst SecondaryButton = styled.button`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n font-family: \"Poppins\";\r\n font-style: normal;\r\n font-weight: 600;\r\n font-size: 22px;\r\n line-height: 165%;\r\n text-transform: uppercase;\r\n color: #1b2430;\r\n padding: 5px 16px;\r\n\r\n background: #fdca82;\r\n border-radius: 4px;\r\n white-space: nowrap;\r\n\r\n outline: none;\r\n border: none;\r\n cursor: pointer;\r\n`;\r\n\r\nexport default SecondaryButton;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport SecondaryButton from \"../ui/SecondaryButton\";\r\nimport { SvgToPngConverter } from \"../../util/svgToPngConverter\";\r\n\r\nconst Wrapper = styled.div`\r\n padding: 43px 62px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n gap: 62px;\r\n`;\r\n\r\nconst IconsWrapper = styled.div`\r\n padding: 0px 62px;\r\n display: flex;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n\r\n gap: 25px;\r\n`;\r\n\r\nconst Icon = styled.div`\r\n display: flex;\r\n align-items: center;\r\n gap: 18px;\r\n\r\n padding-right: 35px;\r\n\r\n &:not(:last-child) {\r\n border-right: 1px solid #bdbdbd;\r\n }\r\n`;\r\n\r\nconst IconImage = styled.img`\r\n width: 50px;\r\n height: 50px;\r\n object-fit: contain;\r\n`;\r\n\r\nconst IconText = styled.p`\r\n font-family: \"Poppins\";\r\n font-style: normal;\r\n font-weight: 400;\r\n font-size: 16px;\r\n line-height: 125%;\r\n text-transform: uppercase;\r\n color: #1b2430;\r\n`;\r\n\r\nconst TitleWrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 36px;\r\n\r\n p {\r\n font-family: \"Poppins\";\r\n font-style: normal;\r\n font-weight: 400;\r\n font-size: 40px;\r\n line-height: 115%;\r\n color: #1b2430;\r\n\r\n span {\r\n font-weight: 700;\r\n }\r\n }\r\n`;\r\n\r\nconst Header = ({ data }) => {\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n

    \r\n {data.info.Code} {data.info.Name} {data.info.Cat}\r\n

    \r\n {data.info.Proof && (\r\n {data.info.Proof}\r\n )}\r\n {data.info.Stats[\"Use on\"] && (\r\n \r\n USE ON : {data.info.Stats[\"Use on\"]}\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n {data.info?.Icons.filter(({ IconFile }) => IconFile).map((icon, i) => (\r\n \r\n \r\n {icon.IconText}\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Header;\r\n","import React, { useState } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.div``;\r\n\r\nconst ImageWrapper = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst Image = styled.img`\r\n width: 100%;\r\n height: 710px;\r\n object-fit: contain;\r\n display: block;\r\n`;\r\n\r\nconst ImageCaption = styled.p`\r\n font-family: \"Poppins\";\r\n font-style: italic;\r\n font-weight: 300;\r\n font-size: 14px;\r\n line-height: 30px;\r\n color: #8d9bad;\r\n\r\n margin-top: 4px;\r\n`;\r\n\r\nconst ImagesSlider = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: 20px;\r\n margin-top: 25px;\r\n`;\r\n\r\nconst ImageSlideItem = styled.img`\r\n display: block;\r\n width: 135px;\r\n height: 100px;\r\n object-fit: cover;\r\n cursor: pointer;\r\n\r\n border: 2px solid ${({ selected }) => (selected ? \"#DE510F\" : \"transparent\")};\r\n`;\r\n\r\nconst Images = ({ data }) => {\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n\r\n return (\r\n \r\n \r\n \r\n {data?.[activeIndex]?.MedicaCaption}\r\n \r\n \r\n {data?.map((image, i) => (\r\n setActiveIndex(i)}\r\n />\r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Images;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nconst PanelWrapper = styled.div`\r\n position: relative;\r\n width: 161px;\r\n height: 56px;\r\n\r\n svg {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n z-index: 1;\r\n }\r\n\r\n p {\r\n color: #4f4f4f;\r\n position: relative;\r\n z-index: 2;\r\n text-align: center;\r\n padding: 8px 6px;\r\n\r\n font-size: 14px;\r\n font-family: Poppins;\r\n font-weight: 600;\r\n line-height: 125%;\r\n }\r\n`;\r\n\r\nconst Panel = ({ PanelName, PanelColour }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n

    {PanelName}

    \r\n
    \r\n );\r\n};\r\n\r\nexport default Panel;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport Panel from \"./Panel\";\r\n\r\nconst Wrapper = styled.div``;\r\n\r\nconst Title = styled.p`\r\n font-family: \"Poppins\";\r\n font-style: normal;\r\n font-weight: 600;\r\n font-size: 24px;\r\n line-height: 135%;\r\n color: #1b2430;\r\n\r\n margin-bottom: 25px;\r\n`;\r\n\r\nconst ListView = styled.ul`\r\n margin-bottom: 30px;\r\n\r\n font-family: \"Poppins\";\r\n font-style: normal;\r\n font-weight: 300;\r\n font-size: 22px;\r\n line-height: 165%;\r\n color: #1b2430;\r\n\r\n padding-left: 34px;\r\n`;\r\n\r\nconst Card = styled.div`\r\n padding: 32px;\r\n padding-top: ${(props) => (props.paddingTop ? \"32px\" : \"0px\")};\r\n background: #fafafa;\r\n border-radius: 4px;\r\n`;\r\n\r\nconst Item = styled.div`\r\n padding: 16px 0px;\r\n border-bottom: 1px solid\r\n ${({ noBorder }) => (noBorder ? \"transparent\" : \"#bdbdbd\")};\r\n\r\n font-family: \"Poppins\";\r\n font-style: normal;\r\n font-weight: 300;\r\n font-size: 22px;\r\n line-height: 165%;\r\n color: #1b2430;\r\n\r\n display: grid;\r\n grid-column-gap: 20px;\r\n grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n\r\n p {\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n p:first-child {\r\n font-weight: 600;\r\n font-family: Cabin;\r\n }\r\n\r\n p:last-child {\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: 12px;\r\n }\r\n\r\n .bold {\r\n font-weight: 700;\r\n font-family: Cabin;\r\n }\r\n`;\r\n\r\nconst PreOrderButton = styled.button`\r\n border-radius: 4px;\r\n background: #fdca82;\r\n padding: 5px 16px;\r\n\r\n color: #1b2430;\r\n font-size: 22px;\r\n font-family: Poppins;\r\n font-weight: 600;\r\n line-height: 165%;\r\n text-transform: uppercase;\r\n\r\n border: none;\r\n cursor: pointer;\r\n`;\r\n\r\nconst PanelsWrapper = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n gap: 20px;\r\n`;\r\n\r\nconst Info = ({ data, setIsShortlisted, isShortlisted }) => {\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n Sire Overview\r\n \r\n {data.Stats[\"Sire Overview\"].map((item, i) => (\r\n
  • {item}
  • \r\n ))}\r\n \r\n \r\n {data.Panels.length > 0 && (\r\n \r\n {data.Panels.map((panel, i) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n

    D.O.B

    \r\n

    {data.Stats.DOB}

    \r\n
    \r\n {data.Stats.ID && (\r\n \r\n

    ID

    \r\n

    {data.Stats.ID}

    \r\n
    \r\n )}\r\n \r\n

    Breed

    \r\n

    {data.Stats.Breed}

    \r\n
    \r\n {data.Stats[\"Bred By\"] && (\r\n \r\n

    Bred By

    \r\n

    {data.Stats[\"Bred By\"]}

    \r\n
    \r\n )}\r\n {data.Stats[\"Myostatin Status\"] && (\r\n \r\n

    Myostatin Status

    \r\n

    {data.Stats[\"Myostatin Status\"]}

    \r\n
    \r\n )}\r\n {data.Stats.GeneticDefect?.length > 0 && (\r\n \r\n

    Genetic Defects

    \r\n

    \r\n {data.Stats.GeneticDefect.map((defect, i) => (\r\n \r\n {defect}
    \r\n
    \r\n ))}\r\n

    \r\n
    \r\n )}\r\n {data.Stats[\"HB No.\"] && (\r\n \r\n

    HB No.

    \r\n

    {data.Stats[\"HB No.\"]}

    \r\n
    \r\n )}\r\n {data.Stats[\"BetaCasein\"] && (\r\n \r\n

    Beta Casein

    \r\n

    {data.Stats[\"BetaCasein\"]}

    \r\n
    \r\n )}\r\n {data.Stats[\"aAa\"] && (\r\n \r\n

    aAa

    \r\n

    {data.Stats[\"aAa\"]}

    \r\n
    \r\n )}\r\n\r\n \r\n

    Price

    \r\n

    \r\n {data.Stats.PriceConventional && (\r\n {data.Stats.PriceConventional} Conventional \r\n )}\r\n {data.Stats.PriceSexed && (\r\n {data.Stats.PriceSexed} Sexed \r\n )}\r\n {data.Stats.FemalePriceSexed && (\r\n {data.Stats.FemalePriceSexed} Female Sexed\r\n )}\r\n {data.Stats.MalePriceSexed && (\r\n {data.Stats.MalePriceSexed} Male Sexed\r\n )}\r\n

    \r\n
    \r\n\r\n {data.Stats.PreOrder && (\r\n \r\n PRE ORDER\r\n \r\n )}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default Info;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport Images from \"./Images\";\r\nimport Info from \"./Info\";\r\n\r\nconst Wrapper = styled.div`\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr) minmax(0, 0.66fr);\r\n grid-gap: 20px;\r\n margin: 125px 0px;\r\n`;\r\n\r\nconst Body = ({ data }) => {\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Body;\r\n","import styled from \"styled-components\";\r\nimport Header from \"./components/Header\";\r\nimport Body from \"./components/Body\";\r\n\r\nconst Wrapper = styled.div`\r\n max-width: 1610px;\r\n margin: 0 auto;\r\n padding: 20px;\r\n`;\r\n\r\nfunction ProfileApp({ data }) {\r\n return (\r\n \r\n
    \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ProfileApp;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.div`\r\n box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.25);\r\n border-radius: 0.5px;\r\n max-width: 100%;\r\n`;\r\n\r\nconst TableHeader = styled.div`\r\n background-color: ${(props) => props.background};\r\n padding: 22px 40px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n\r\n p {\r\n font-family: \"Poppins\";\r\n font-style: normal;\r\n font-weight: 600;\r\n font-size: 24px;\r\n line-height: 135%;\r\n color: #ffffff;\r\n\r\n span {\r\n font-weight: 400;\r\n margin-right: 50px;\r\n }\r\n }\r\n\r\n p:first-child {\r\n flex: 1;\r\n width: 100%;\r\n display: flex;\r\n }\r\n\r\n p:last-child {\r\n margin-left: 20px;\r\n text-align: right;\r\n ${(props) =>\r\n props.subTitleSize === \"small\" &&\r\n `\r\n font-weight: 400;\r\n font-size: 18px;\r\n `}\r\n }\r\n`;\r\n\r\nconst TableContent = styled.div`\r\n padding: 30px;\r\n`;\r\n\r\nconst TableWrapper = ({\r\n children,\r\n background = \"#000\",\r\n title,\r\n subTitle,\r\n subTitleSize,\r\n}) => {\r\n return (\r\n \r\n \r\n

    {title}

    \r\n

    {subTitle}

    \r\n
    \r\n {children}\r\n
    \r\n );\r\n};\r\n\r\nexport default TableWrapper;\r\n","import React from \"react\";\r\nimport styled, { keyframes } from \"styled-components\";\r\n\r\nconst skeletonGradientAnimation = keyframes`\r\n 0% { background-position: 100% 50%; }\r\n 100% { background-position: 0 50%; }\r\n`;\r\n\r\nconst SkeletonLoader = styled.div`\r\n display: inline-block;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nconst SkeletonRow = styled.div`\r\n display: flex;\r\n margin-bottom: 20px;\r\n`;\r\n\r\nconst SkeletonColumn = styled.div`\r\n flex: 1;\r\n margin-right: 20px;\r\n height: 30px;\r\n background: linear-gradient(to right, #f0f0f0 0%, #e0e0e0 100%, #f0f0f0 100%);\r\n background-size: 200% 100%;\r\n animation: ${skeletonGradientAnimation} 0.3s linear infinite alternate-reverse;\r\n`;\r\n\r\nconst Loading = ({ rows = 5, columns = 4 }) => {\r\n return (\r\n \r\n {Array(5)\r\n .fill(0)\r\n .map((_, i) => (\r\n \r\n {Array(columns)\r\n .fill(0)\r\n .map((_, j) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default Loading;\r\n","import styled from \"styled-components\";\r\nimport Loading from \"./Loading\";\r\n\r\nconst Wrapper = styled.div`\r\n overflow-x: auto;\r\n max-width: 100%;\r\n`;\r\n\r\nconst Row = styled.div`\r\n display: grid;\r\n min-width: ${(props) => `${props.cellcount * 200}px`};\r\n grid-template-columns: repeat(\r\n ${(props) => props.cellcount},\r\n minmax(200px, 1fr)\r\n );\r\n\r\n &:not(:last-child) {\r\n border-bottom: 1px solid #bdbdbd;\r\n }\r\n`;\r\n\r\nconst Item = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 12px 33px;\r\n min-width: 200px;\r\n\r\n &:not(:last-child) {\r\n border-right: 1px solid #bdbdbd;\r\n }\r\n\r\n &:nth-child(2n + ${(props) => props.row}) {\r\n background: #f9f9f9;\r\n }\r\n\r\n p {\r\n font-size: 18px;\r\n line-height: 165%;\r\n font-family: \"Poppins\";\r\n font-style: normal;\r\n color: #1b2430;\r\n }\r\n\r\n p:first-child {\r\n font-weight: 600;\r\n }\r\n\r\n p:last-child {\r\n width: 50px;\r\n font-weight: 400;\r\n text-align: center;\r\n }\r\n`;\r\n\r\nfunction GeneralInfoTable({ data, cellcount = 2 }) {\r\n if (!data) {\r\n return ;\r\n }\r\n\r\n const parsedData = data.reduce(\r\n (acc, item) => {\r\n const curr = acc[acc.length - 1];\r\n if (curr.length === cellcount) {\r\n acc.push([item]);\r\n } else {\r\n acc[acc.length - 1].push(item);\r\n }\r\n return acc;\r\n },\r\n [[]]\r\n );\r\n\r\n return (\r\n \r\n \r\n {parsedData.map((row, i) => (\r\n \r\n {row.map((item, j) => (\r\n \r\n

    {item.Label}

    {item.Value}

    \r\n
    \r\n ))}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default GeneralInfoTable;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.div`\r\n overflow-x: auto;\r\n`;\r\n\r\nconst Row = styled.div`\r\n /* overflow: hidden; */\r\n /* width: 100%; */\r\n width: 1170px;\r\n margin: 0 auto;\r\n display: grid;\r\n grid-template-columns: repeat(${(props) => props.cols}, minmax(0, 1fr));\r\n\r\n border-bottom: 1px solid #bdbdbd;\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n\r\n &:nth-child(even) {\r\n background-color: #f9f9f9;\r\n }\r\n`;\r\n\r\nconst Cell = styled.div`\r\n width: 100%;\r\n border-right: ${(props) =>\r\n props.borderRight ? \"1px solid #BDBDBD\" : \"none\"};\r\n padding: 15px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: ${(props) => (props.center ? \"center\" : \"unset\")};\r\n min-height: 55px;\r\n`;\r\n\r\nconst Text = styled.p`\r\n font-style: normal;\r\n font-weight: ${(props) => (props.bold ? 600 : 400)};\r\n font-size: 18px;\r\n line-height: 165%;\r\n color: #1b2430;\r\n`;\r\n\r\nfunction SimpleTable({ color, columns, data }) {\r\n const firstCol = columns[0];\r\n const restCols = columns.slice(1);\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n {firstCol}\r\n \r\n \r\n {restCols.map((col) => (\r\n \r\n {col}\r\n \r\n ))}\r\n \r\n {/* */}\r\n
    \r\n {data?.map((row, i) => (\r\n \r\n \r\n {row[0]}\r\n \r\n {row.slice(1).map((dt, j) => (\r\n \r\n {dt}\r\n \r\n ))}\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SimpleTable;\r\n","export const dairyDamColumns = [\r\n \"Dam Yields\",\r\n \"Milk Kg\",\r\n \"Fat Kg\",\r\n \"Ptn Kg\",\r\n \"Solids\",\r\n \"Fat %\",\r\n \"Ptn %\",\r\n];\r\nexport const dairyGDamColumns = [\r\n \"G Dam Yields\",\r\n \"Milk Kg\",\r\n \"Fat Kg\",\r\n \"Ptn Kg\",\r\n \"Solids\",\r\n \"Fat %\",\r\n \"Ptn %\",\r\n];\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.div`\r\n height: 15px;\r\n background: #e5e5e5;\r\n border-radius: 999px;\r\n width: 100%;\r\n\r\n display: grid;\r\n grid-template-columns: repeat(2, minmax(0, 1fr));\r\n`;\r\n\r\nconst Left = styled.div`\r\n margin-left: auto;\r\n border-top-left-radius: 999px;\r\n border-bottom-left-radius: 999px;\r\n background: #ef7912;\r\n`;\r\n\r\nconst Right = styled.div`\r\n margin-right: auto;\r\n border-top-right-radius: 999px;\r\n border-bottom-right-radius: 999px;\r\n background: #ef7912;\r\n`;\r\n\r\nconst Percentile = ({ type, width }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Percentile;\r\n","import styled from \"styled-components\";\r\nimport Percentile from \"./Percentile\";\r\nimport Loading from \"./Loading\";\r\n\r\nconst Wrapper = styled.div`\r\n overflow-x: auto;\r\n`;\r\n\r\nconst Row = styled.div`\r\n width: 1170px;\r\n margin: 0 auto;\r\n display: grid;\r\n grid-template-columns: 190px 90px minmax(600px, 1fr);\r\n\r\n border-bottom: 1px solid #bdbdbd;\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n\r\n &:nth-child(even) {\r\n background-color: #f9f9f9;\r\n }\r\n`;\r\n\r\nconst Cell = styled.div`\r\n width: 100%;\r\n border-right: ${(props) =>\r\n props.borderRight ? \"1px solid #BDBDBD\" : \"none\"};\r\n padding: 15px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: ${(props) => (props.center ? \"center\" : \"unset\")};\r\n\r\n min-height: 55px;\r\n`;\r\n\r\nconst Text = styled.p`\r\n font-style: normal;\r\n font-weight: ${(props) => (props.bold ? 600 : 400)};\r\n font-size: 18px;\r\n line-height: 165%;\r\n color: #1b2430;\r\n`;\r\n\r\nconst PercentileHeader = styled.div`\r\n width: 100%;\r\n display: grid;\r\n grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 2fr) repeat(\r\n 4,\r\n minmax(0, 1fr)\r\n );\r\n`;\r\n\r\nfunction LinearEvaluationTable({ data }) {\r\n if (!data) {\r\n return ;\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 -5\r\n \r\n \r\n \r\n \r\n 0\r\n \r\n \r\n \r\n \r\n \r\n 5\r\n \r\n \r\n \r\n \r\n {/* */}\r\n
    \r\n {data.map((_, i) => {\r\n const value = parseFloat(_.Value);\r\n const percentage = (Math.abs(value) / 5) * 100;\r\n return (\r\n \r\n \r\n {_.Label}\r\n \r\n \r\n {_.Value}\r\n \r\n \r\n 0 ? \"right\" : \"left\"}\r\n width={`${percentage}%`}\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 LinearEvaluationTable;\r\n","import styled from \"styled-components\";\r\nimport Loading from \"./Loading\";\r\n\r\nconst Wrapper = styled.div`\r\n overflow-x: auto;\r\n`;\r\n\r\nconst Row = styled.div`\r\n width: 1170px;\r\n margin: 0 auto;\r\n display: grid;\r\n grid-template-columns: 200px repeat(6, minmax(0, 1fr));\r\n\r\n border-bottom: 1px solid #bdbdbd;\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n\r\n &:nth-child(even) {\r\n background-color: #f9f9f9;\r\n }\r\n`;\r\n\r\nconst Cell = styled.div`\r\n width: 100%;\r\n border-right: ${(props) =>\r\n props.borderRight ? \"1px solid #BDBDBD\" : \"none\"};\r\n padding: 15px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: ${(props) => (props.center ? \"center\" : \"unset\")};\r\n\r\n min-height: 55px;\r\n`;\r\n\r\nconst Text = styled.p`\r\n font-style: normal;\r\n font-weight: ${(props) => (props.bold ? 600 : 400)};\r\n font-size: 18px;\r\n line-height: 165%;\r\n color: #1b2430;\r\n`;\r\nfunction IrishDaughterProduction({ data }) {\r\n if (!data) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n \r\n Milk Kg\r\n \r\n \r\n Fat Kg\r\n \r\n \r\n Ptn Kg\r\n \r\n \r\n Solids\r\n \r\n \r\n Fat %\r\n \r\n \r\n Ptn %\r\n \r\n \r\n {/* */}\r\n
    \r\n {data.map((_, i) => {\r\n return (\r\n \r\n \r\n {_.YieldName}\r\n \r\n \r\n {_.LactationData?.[\"Milk Kg\"]}\r\n \r\n\r\n \r\n {_.LactationData?.[\"Fat Kg\"]}\r\n \r\n\r\n \r\n {_.LactationData?.[\"Protein Kg\"]}\r\n \r\n\r\n \r\n {_.LactationData?.[\"Solids\"]}\r\n \r\n\r\n \r\n {_.LactationData?.[\"Fat %\"]}\r\n \r\n\r\n \r\n {_.LactationData?.[\"Protein %\"]}\r\n \r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default IrishDaughterProduction;\r\n","import React, { Fragment } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n`;\r\n\r\nconst stars = Array(5).fill(0);\r\n\r\nconst Rating = ({ star }) => {\r\n return (\r\n \r\n {stars.map((_, i) => (\r\n \r\n {i < star ? (\r\n \r\n \r\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 Rating;\r\n","import React from \"react\";\r\nimport { useBlockLayout, useTable } from \"react-table\";\r\nimport styled from \"styled-components\";\r\nimport Rating from \"./Rating\";\r\nimport Loading from \"./Loading\";\r\n\r\nconst Styles = styled.div`\r\n .table {\r\n overflow-x: auto;\r\n .tr {\r\n border-bottom: 1px solid #e0e0e0;\r\n }\r\n\r\n .td,\r\n .th {\r\n padding: 23px 10px;\r\n overflow: hidden;\r\n }\r\n\r\n .th,\r\n .td {\r\n font-family: \"Cabin\";\r\n font-style: normal;\r\n font-weight: 700;\r\n font-size: 18px;\r\n line-height: 165%;\r\n /* identical to box height, or 30px */\r\n\r\n text-align: center;\r\n\r\n /* Secondary - Colour 5 */\r\n\r\n color: #1b2430;\r\n }\r\n\r\n .td {\r\n color: #1b2430;\r\n }\r\n\r\n .tr:nth-child(odd) .td {\r\n background-color: #f9f9f9;\r\n }\r\n .tr:nth-child(even) .td {\r\n background-color: #fff;\r\n }\r\n }\r\n`;\r\n\r\nconst columns = [\r\n {\r\n Header: \"Star Rating(within breed)\",\r\n accessor: (row) => ,\r\n width: 220,\r\n },\r\n\r\n {\r\n Header: \"Economic Index\",\r\n accessor: \"economicIndex\",\r\n width: 244,\r\n },\r\n {\r\n Header: \"€ Value per progeny\",\r\n accessor: \"valuePerProgency\",\r\n width: 244,\r\n },\r\n {\r\n Header: \"Index Reliability\",\r\n accessor: \"indexReliability\",\r\n width: 244,\r\n },\r\n {\r\n Header: \"Star Rating (across breedss)\",\r\n accessor: (row) => ,\r\n width: 220,\r\n },\r\n];\r\nfunction EconomicIndexTable({ data }) {\r\n const defaultColumn = React.useMemo(\r\n () => ({\r\n minWidth: 40,\r\n maxWidth: 400,\r\n }),\r\n []\r\n );\r\n\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } =\r\n useTable(\r\n {\r\n columns,\r\n data: data || [],\r\n defaultColumn,\r\n },\r\n useBlockLayout\r\n );\r\n\r\n if (!data) {\r\n return ;\r\n }\r\n\r\n return (\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
    \r\n ))}\r\n
    \r\n ))}\r\n
    \r\n\r\n
    \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n
    \r\n {row.cells.map((cell, j) => {\r\n return (\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\r\nexport default EconomicIndexTable;\r\n","import React from \"react\";\r\nimport { useBlockLayout, useTable } from \"react-table\";\r\nimport styled from \"styled-components\";\r\n\r\nimport Loading from \"./Loading\";\r\n\r\nconst Styles = styled.div`\r\n .table {\r\n overflow-x: auto;\r\n .tr {\r\n border-bottom: 1px solid #e0e0e0;\r\n }\r\n\r\n .td,\r\n .th {\r\n padding: 23px 10px;\r\n overflow: hidden;\r\n }\r\n\r\n .th,\r\n .td {\r\n font-family: \"Cabin\";\r\n font-style: normal;\r\n font-weight: 700;\r\n font-size: 18px;\r\n line-height: 165%;\r\n /* identical to box height, or 30px */\r\n\r\n text-align: center;\r\n\r\n /* Secondary - Colour 5 */\r\n\r\n color: #1b2430;\r\n }\r\n\r\n .td {\r\n color: #1b2430;\r\n }\r\n\r\n .tr:nth-child(odd) .td {\r\n background-color: #f9f9f9;\r\n }\r\n .tr:nth-child(even) .td {\r\n background-color: #fff;\r\n }\r\n }\r\n`;\r\n\r\nconst WhenMatedWithDiv = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n`;\r\n\r\nconst columns = [\r\n {\r\n Header: \"\",\r\n accessor: \"dummy\",\r\n width: 220,\r\n },\r\n\r\n {\r\n Header: \"When Mated With\",\r\n accessor: \"whenMatedWith\",\r\n Cell: ({ value }) => {\r\n return (\r\n \r\n
    {value.AnimalType}
    \r\n
    Breed Avg: {value[\"Breed Avg\"]}
    \r\n
    All Breeds Avg: {value[\"All Breeds Avg\"]}
    \r\n
    \r\n );\r\n },\r\n width: 244,\r\n },\r\n {\r\n Header: \"%\",\r\n accessor: \"percentage\",\r\n width: 244,\r\n },\r\n {\r\n Header: \"Reliability\",\r\n accessor: \"reliability\",\r\n width: 244,\r\n },\r\n {\r\n Header: \"\",\r\n accessor: \"dummy2\",\r\n width: 220,\r\n },\r\n];\r\n\r\nfunction CalvinDifficultyTable({ data }) {\r\n const defaultColumn = React.useMemo(\r\n () => ({\r\n minWidth: 40,\r\n maxWidth: 400,\r\n }),\r\n []\r\n );\r\n\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } =\r\n useTable(\r\n {\r\n columns,\r\n data: data?.parsedData || [],\r\n defaultColumn,\r\n },\r\n useBlockLayout\r\n );\r\n\r\n if (!data) {\r\n return ;\r\n }\r\n\r\n return (\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
    \r\n ))}\r\n
    \r\n ))}\r\n
    \r\n\r\n
    \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n
    \r\n {row.cells.map((cell, j) => {\r\n return (\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\r\nexport default CalvinDifficultyTable;\r\n","import React from \"react\";\r\nimport { useBlockLayout, useTable } from \"react-table\";\r\nimport styled from \"styled-components\";\r\nimport Rating from \"./Rating\";\r\nimport Loading from \"./Loading\";\r\n\r\nconst Styles = styled.div`\r\n .table {\r\n overflow-x: auto;\r\n .tr {\r\n border-bottom: 1px solid #e0e0e0;\r\n }\r\n\r\n .td,\r\n .th {\r\n padding: 23px 10px;\r\n overflow: hidden;\r\n }\r\n\r\n .th,\r\n .td {\r\n font-family: \"Cabin\";\r\n font-style: normal;\r\n font-weight: 700;\r\n font-size: 18px;\r\n line-height: 165%;\r\n /* identical to box height, or 30px */\r\n\r\n text-align: center;\r\n\r\n /* Secondary - Colour 5 */\r\n\r\n color: #1b2430;\r\n }\r\n\r\n .td {\r\n color: #1b2430;\r\n }\r\n\r\n .tr:nth-child(odd) .td {\r\n background-color: #f9f9f9;\r\n }\r\n .tr:nth-child(even) .td {\r\n background-color: #fff;\r\n }\r\n }\r\n`;\r\n\r\nconst columns = [\r\n {\r\n Header: \"Star Rating (within breed)\",\r\n accessor: (row) =>\r\n row.starRatingWithinBreed && ,\r\n width: 220,\r\n },\r\n\r\n {\r\n Header: \"Key Profit Traits\",\r\n accessor: \"keyProfitTraits\",\r\n width: 244,\r\n },\r\n {\r\n Header: \"Index Value\",\r\n accessor: \"indexValue\",\r\n width: 244,\r\n },\r\n {\r\n Header: \"Trait Reliability\",\r\n accessor: \"traitReliability\",\r\n width: 244,\r\n },\r\n {\r\n Header: \"Star Rating (across all beef breeds)\",\r\n accessor: (row) =>\r\n row.starRatingAcrossBreed && ,\r\n width: 220,\r\n },\r\n];\r\n\r\nfunction ProgenyPerfromanceTable({ data }) {\r\n const defaultColumn = React.useMemo(\r\n () => ({\r\n minWidth: 40,\r\n maxWidth: 400,\r\n }),\r\n []\r\n );\r\n\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } =\r\n useTable(\r\n {\r\n columns,\r\n data: data?.parsedData || [],\r\n defaultColumn,\r\n },\r\n useBlockLayout\r\n );\r\n\r\n if (!data) {\r\n return ;\r\n }\r\n\r\n return (\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
    \r\n ))}\r\n
    \r\n ))}\r\n
    \r\n\r\n
    \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n
    \r\n {row.cells.map((cell, j) => {\r\n return (\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\r\nexport default ProgenyPerfromanceTable;\r\n","import React, { useMemo } from \"react\";\r\nimport { useBlockLayout, useTable } from \"react-table\";\r\nimport styled from \"styled-components\";\r\nimport Rating from \"./Rating\";\r\nimport Loading from \"./Loading\";\r\n\r\nconst Styles = styled.div`\r\n .table {\r\n overflow-x: auto;\r\n .tr {\r\n border-bottom: 1px solid #e0e0e0;\r\n }\r\n\r\n .td,\r\n .th {\r\n padding: 23px 10px;\r\n overflow: hidden;\r\n }\r\n\r\n .th,\r\n .td {\r\n font-family: \"Cabin\";\r\n font-style: normal;\r\n font-weight: 700;\r\n font-size: 18px;\r\n line-height: 165%;\r\n /* identical to box height, or 30px */\r\n\r\n text-align: center;\r\n\r\n /* Secondary - Colour 5 */\r\n\r\n color: #1b2430;\r\n }\r\n\r\n .td {\r\n color: #1b2430;\r\n }\r\n\r\n .tr:nth-child(odd) .td {\r\n background-color: #f9f9f9;\r\n }\r\n .tr:nth-child(even) .td {\r\n background-color: #fff;\r\n }\r\n }\r\n`;\r\n\r\nfunction ExpectedDaughterBreedingPerformance({ data }) {\r\n const defaultColumn = React.useMemo(\r\n () => ({\r\n minWidth: 40,\r\n maxWidth: 400,\r\n }),\r\n []\r\n );\r\n\r\n const firstRow = data?.parsedData?.[0];\r\n const tableData = data?.parsedData?.slice(1) ?? [];\r\n\r\n const columns = useMemo(\r\n () => [\r\n {\r\n Header: \"Star Rating (within breed)\",\r\n accessor: (row) => ,\r\n width: 220,\r\n },\r\n\r\n {\r\n Header: firstRow?.keyProfitTraits,\r\n accessor: \"keyProfitTraits\",\r\n width: 244,\r\n },\r\n {\r\n Header: firstRow?.indexValue,\r\n accessor: \"indexValue\",\r\n width: 244,\r\n },\r\n {\r\n Header: firstRow?.traitReliability,\r\n accessor: \"traitReliability\",\r\n width: 244,\r\n },\r\n {\r\n Header: \"Star Rating (across all beef breeds)\",\r\n accessor: (row) => ,\r\n width: 220,\r\n },\r\n ],\r\n [firstRow]\r\n );\r\n\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } =\r\n useTable(\r\n {\r\n columns,\r\n data: tableData,\r\n defaultColumn,\r\n },\r\n useBlockLayout\r\n );\r\n\r\n if (!data) {\r\n return ;\r\n }\r\n\r\n return (\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
    \r\n ))}\r\n
    \r\n ))}\r\n
    \r\n\r\n
    \r\n {rows.map((row, i) => {\r\n prepareRow(row);\r\n return (\r\n
    \r\n {row.cells.map((cell, j) => {\r\n return (\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\r\nexport default ExpectedDaughterBreedingPerformance;\r\n","import styled from \"styled-components\";\r\nimport Percentile from \"./Percentile\";\r\nimport Loading from \"./Loading\";\r\n\r\nconst Wrapper = styled.div`\r\n overflow-x: auto;\r\n`;\r\n\r\nconst Row = styled.div`\r\n width: 1170px;\r\n margin: 0 auto;\r\n display: grid;\r\n grid-template-columns: 190px 100px 100px minmax(710px, 1fr);\r\n\r\n border-bottom: 1px solid #bdbdbd;\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n\r\n &:nth-child(even) {\r\n background-color: #f9f9f9;\r\n }\r\n`;\r\n\r\nconst Cell = styled.div`\r\n width: 100%;\r\n border-right: ${(props) =>\r\n props.borderRight ? \"1px solid #BDBDBD\" : \"none\"};\r\n padding: 15px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: ${(props) => (props.center ? \"center\" : \"unset\")};\r\n\r\n min-height: 55px;\r\n`;\r\n\r\nconst Text = styled.p`\r\n font-style: normal;\r\n font-weight: ${(props) => (props.bold ? 600 : 400)};\r\n font-size: 18px;\r\n line-height: 165%;\r\n color: #1b2430;\r\n`;\r\n\r\nconst PercentileHeader1 = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n margin-bottom: 16px;\r\n width: 100%;\r\n`;\r\n\r\nconst PercentileHeader2 = styled.div`\r\n width: 100%;\r\n display: grid;\r\n grid-template-columns: repeat(10, minmax(0, 1fr));\r\n`;\r\n\r\nfunction EBISummaryTable({ data }) {\r\n if (!data) {\r\n return ;\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 REL\r\n \r\n \r\n \r\n \r\n BOTTOM\r\n \r\n \r\n MEAN\r\n \r\n \r\n TOP\r\n \r\n \r\n\r\n \r\n \r\n 10%\r\n \r\n \r\n 20%\r\n \r\n \r\n 30%\r\n \r\n \r\n 40%\r\n \r\n \r\n \r\n 40%\r\n 30%\r\n 20%\r\n 10%\r\n \r\n \r\n \r\n {/* */}\r\n
    \r\n {data.map((_, i) => {\r\n return (\r\n \r\n \r\n {_.Label}\r\n \r\n \r\n {_.Value}\r\n \r\n \r\n {`${_.Reliability}%`}\r\n \r\n\r\n \r\n 0 ? \"right\" : \"left\"}\r\n width={`${Math.min(100, Math.abs(_.Percentile))}%`}\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 EBISummaryTable;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport TableWrapper from \"./TableWrapper\";\r\nimport GeneralInfoTable from \"./GeneralInfoTable\";\r\nimport SimpleTable from \"./SimpleTable\";\r\nimport { dairyDamColumns, dairyGDamColumns } from \"./../constants\";\r\nimport LinearEvaluationTable from \"./LinearEvaluationTable\";\r\nimport IrishDaughterProduction from \"./IrishDaughterProduction\";\r\nimport EconomicIndexTable from \"./EconomicIndexTable\";\r\nimport CalvinDifficultyTable from \"./CalvinDifficultyTable\";\r\nimport ProgenyPerfromanceTable from \"./ProgenyPerfromanceTable\";\r\nimport ExpectedDaughterBreedingPerformance from \"./ExpectedDaughterBreedingPerformanceTable\";\r\nimport EBISummaryTable from \"./EBISummaryTable\";\r\n\r\nconst Wrapper = styled.div`\r\n max-width: 1274px;\r\n padding: 20px;\r\n margin: 0 auto;\r\n\r\n & > * {\r\n margin-bottom: 20px;\r\n }\r\n\r\n p {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n`;\r\n\r\nconst TwoTablesWrapper = styled.div`\r\n display: grid;\r\n grid-template-columns: repeat(2, minmax(0, 1fr));\r\n gap: 20px;\r\n`;\r\n\r\nconst Tables = ({\r\n category,\r\n dataEBISummary,\r\n dataProduction,\r\n dataManagement,\r\n dataHealth,\r\n dataFertility,\r\n dataHeifer,\r\n dataIrishDaughterProduction,\r\n dataDairyYields,\r\n dataLinearEvolution,\r\n dataEconomicIndex,\r\n dataCalvingDifficulty,\r\n dataProgenyPerformance,\r\n dataDaughterBreedingPerformance,\r\n}) => {\r\n const renderTables = () => {\r\n const tables = [];\r\n\r\n switch (category) {\r\n case \"dairy\":\r\n tables.push(\r\n dataEBISummary && (\r\n \r\n \r\n \r\n ),\r\n (dataProduction || dataManagement) && (\r\n \r\n {dataProduction && (\r\n \r\n \r\n \r\n )}\r\n {dataManagement && (\r\n \r\n \r\n \r\n )}\r\n \r\n ),\r\n dataHealth && (\r\n \r\n \r\n \r\n ),\r\n (dataFertility || dataHeifer) && (\r\n \r\n {dataFertility && (\r\n \r\n \r\n \r\n )}\r\n {dataHeifer && (\r\n \r\n \r\n \r\n )}\r\n \r\n ),\r\n dataIrishDaughterProduction && (\r\n \r\n \r\n \r\n ),\r\n dataDairyYields?.dairyDam?.Data?.length > 0 && (\r\n \r\n Sire:\r\n {dataDairyYields.dairyDam.Sire}\r\n Dam:\r\n s{dataDairyYields.dairyDam.Dam}\r\n \r\n }\r\n background=\"#FBA32E\"\r\n >\r\n \r\n \r\n ),\r\n dataDairyYields?.dairyGdam?.Data?.length > 0 && (\r\n \r\n Grandsire:\r\n {dataDairyYields.dairyGdam.Grandsire}\r\n Grandam:\r\n {dataDairyYields.dairyGdam.Granddam}\r\n \r\n }\r\n background=\"#DE510F\"\r\n >\r\n \r\n \r\n )\r\n );\r\n break;\r\n\r\n case \"dairyhightype\":\r\n tables.push(\r\n dataEBISummary && (\r\n \r\n \r\n \r\n ),\r\n (dataProduction || dataManagement) && (\r\n \r\n {dataProduction && (\r\n \r\n \r\n \r\n )}\r\n {dataManagement && (\r\n \r\n \r\n \r\n )}\r\n \r\n ),\r\n dataHealth && (\r\n \r\n \r\n \r\n ),\r\n (dataFertility || dataHeifer) && (\r\n \r\n {dataFertility && (\r\n \r\n \r\n \r\n )}\r\n {dataHeifer && (\r\n \r\n \r\n \r\n )}\r\n \r\n ),\r\n dataLinearEvolution && (\r\n \r\n \r\n \r\n )\r\n );\r\n break;\r\n\r\n case \"dairybeef\":\r\n tables.push(\r\n dataEconomicIndex && (\r\n \r\n \r\n \r\n ),\r\n dataCalvingDifficulty && (\r\n \r\n \r\n \r\n ),\r\n dataProgenyPerformance && (\r\n \r\n \r\n \r\n )\r\n );\r\n break;\r\n\r\n case \"beefforsuckler\":\r\n tables.push(\r\n dataEconomicIndex && (\r\n \r\n \r\n \r\n ),\r\n dataCalvingDifficulty && (\r\n \r\n \r\n \r\n ),\r\n dataProgenyPerformance && (\r\n \r\n \r\n \r\n ),\r\n dataDaughterBreedingPerformance && (\r\n \r\n \r\n \r\n )\r\n );\r\n break;\r\n\r\n default:\r\n return [];\r\n }\r\n\r\n return tables;\r\n };\r\n\r\n return {renderTables()};\r\n};\r\n\r\nexport default Tables;\r\n","import Tables from \"./components/Tables\";\r\n\r\nfunction DataApp({\r\n category,\r\n dataEBISummary,\r\n dataProduction,\r\n dataManagement,\r\n dataHealth,\r\n dataFertility,\r\n dataHeifer,\r\n dataIrishDaughterProduction,\r\n dataDairyYields,\r\n dataLinearEvolution,\r\n dataEconomicIndex,\r\n dataCalvingDifficulty,\r\n dataProgenyPerformance,\r\n dataDaughterBreedingPerformance,\r\n}) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default DataApp;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\nimport IconButton from \"../ui/IconButton\";\r\n\r\nconst PaginationControl = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n\r\n flex-wrap: wrap;\r\n\r\n gap: 20px;\r\n`;\r\n\r\nconst PaginationControlButtons = styled.div`\r\n display: flex;\r\n align-items: center;\r\n gap: 20px;\r\n flex-wrap: wrap;\r\n\r\n p {\r\n cursor: pointer;\r\n margin: 0px;\r\n }\r\n\r\n button {\r\n display: flex;\r\n align-items: center;\r\n }\r\n`;\r\n\r\nconst Pagination = ({ page, allData, rowsPerPage, setPage }) => {\r\n const currentRange = page * rowsPerPage;\r\n\r\n const pageNumbers = Array(Math.ceil(allData.length / rowsPerPage))\r\n .fill(0)\r\n .map((_, i) => (\r\n setPage(i + 1)}\r\n nonHighlight={page !== i + 1}\r\n key={`Page - ${i}`}\r\n >\r\n {i + 1}\r\n \r\n ));\r\n return (\r\n \r\n

    \r\n Showing {(page - 1) * rowsPerPage + 1} to{\" \"}\r\n {Math.min(currentRange, allData.length)} of {allData.length} entries\r\n

    \r\n \r\n {pageNumbers.length > 1 && (\r\n

    setPage(Math.max(1, page - 1))}>Previous

    \r\n )}\r\n {pageNumbers}\r\n {pageNumbers.length > 1 && (\r\n \r\n setPage(\r\n Math.min(page + 1, Math.ceil(allData.length / rowsPerPage))\r\n )\r\n }\r\n >\r\n Next\r\n

    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Pagination;\r\n","import { getApiConfig } from \"./getApiConfig\";\r\nimport { getApiAuthToken } from \"./getApiAuthToken\";\r\n\r\nconst API_CONFIG = getApiConfig();\r\nexport const BASE_URL = API_CONFIG.base_url;\r\n\r\nexport const submitDownloadPDFRequest = async (body) => {\r\n const authToken = getApiAuthToken();\r\n\r\n const dataRes = await fetch(`${BASE_URL}/PdfExport/exportBullShortList`, {\r\n method: \"POST\",\r\n body: JSON.stringify(body),\r\n headers: {\r\n Authorization: `Bearer ${authToken}`,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n });\r\n\r\n const data = await dataRes.json();\r\n return data;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport styled, { keyframes } from \"styled-components\";\r\nimport { submitDownloadPDFRequest } from \"../util/submitDownloadPdfRequest\";\r\nimport OutlineButton from \"../ui/OutlineButton\";\r\n\r\nconst fadeIn = keyframes`\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n`;\r\n\r\nconst fadeOut = keyframes`\r\n from {\r\n opacity: 1;\r\n }\r\n to {\r\n opacity: 0;\r\n }\r\n`;\r\n\r\nconst slideIn = keyframes`\r\n from {\r\n transform: translateY(-100%);\r\n }\r\n to {\r\n transform: translateY(0);\r\n }\r\n`;\r\n\r\nconst slideOut = keyframes`\r\n from {\r\n transform: translateY(0);\r\n }\r\n to {\r\n transform: translateY(-100%);\r\n }\r\n`;\r\n\r\nconst ModalWrapper = styled.div`\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 10;\r\n display: ${({ isOpen }) => (isOpen ? \"flex\" : \"none\")};\r\n align-items: center;\r\n justify-content: center;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n animation: ${({ isOpen }) => (isOpen ? fadeIn : fadeOut)} 0.3s forwards;\r\n`;\r\n\r\nconst ModalContent = styled.form`\r\n background-color: white;\r\n padding: 20px;\r\n border-radius: 4px;\r\n max-width: 600px;\r\n width: 100%;\r\n animation: ${({ isOpen }) => (isOpen ? slideIn : slideOut)} 0.3s forwards;\r\n`;\r\n\r\nconst Input = styled.input`\r\n padding: 20px;\r\n border: none;\r\n border: solid 1px #e0e0e0;\r\n padding: 6px 12px;\r\n font-size: 16px;\r\n font-weight: 400;\r\n line-height: 165%;\r\n color: #1b2430;\r\n background: #fff;\r\n width: 100%;\r\n font-family: Poppins;\r\n margin-top: 30px;\r\n`;\r\n\r\nconst Message = styled.p`\r\n color: ${(props) => (props.error ? \"red\" : \"green\")};\r\n font-size: 14px;\r\n margin-top: 10px;\r\n padding: 0;\r\n`;\r\n\r\nconst Loading = styled.div`\r\n width: ${(props) => props.size}px;\r\n height: ${(props) => props.size}px;\r\n border: ${(props) => Math.ceil(props.size / 10)}px solid #fff;\r\n border-bottom-color: transparent;\r\n border-radius: 50%;\r\n display: inline-block;\r\n box-sizing: border-box;\r\n animation: rotation 1s linear infinite;\r\n\r\n @keyframes rotation {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n`;\r\n\r\nconst Buttons = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n gap: 12px;\r\n margin-top: 30px;\r\n`;\r\n\r\nconst Title = styled.p`\r\n font-size: 24px;\r\n font-weight: 600;\r\n color: #1b2430;\r\n margin-bottom: 12px;\r\n`;\r\n\r\nconst DownloadPDFModal = ({ open, category, checked, setOpen }) => {\r\n const [email, setEmail] = useState(\"\");\r\n const [error, setError] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [message, setMessage] = useState({\r\n type: \"\",\r\n message: \"\",\r\n });\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n // Reset\r\n setEmail(\"\");\r\n setError(false);\r\n setLoading(false);\r\n setMessage({ type: \"\", message: \"\" });\r\n };\r\n }, [open]);\r\n\r\n const handleDownloadPDF = async (e) => {\r\n e.preventDefault();\r\n // Validate email\r\n const isValidEmail = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email);\r\n if (!isValidEmail) {\r\n return setError(true);\r\n }\r\n setError(false);\r\n setLoading(true);\r\n setMessage(\"\");\r\n\r\n try {\r\n const res = await submitDownloadPDFRequest({\r\n EmailAddress: email,\r\n ShortListType: category,\r\n BullCodes: checked,\r\n });\r\n\r\n if (res?.SendSuccess === true) {\r\n setMessage({ type: \"success\", message: res.ResponseMessage });\r\n } else {\r\n setMessage({\r\n type: \"error\",\r\n message: res?.ResponseMessage || \"Something went wrong\",\r\n });\r\n }\r\n } catch (err) {\r\n setMessage({\r\n type: \"error\",\r\n message: \"An error occurred. Please try again.\",\r\n });\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {message?.type !== \"success\" && (\r\n <>\r\n Email Me My Shortlist\r\n

    \r\n Please enter your email address so we can send you your shortlist.\r\n

    \r\n setEmail(e.target.value.trim())}\r\n type=\"email\"\r\n required\r\n />\r\n {error && Please enter a valid email}\r\n \r\n )}\r\n {message?.message && (\r\n {message.message}\r\n )}\r\n\r\n \r\n {message?.type !== \"success\" && (\r\n \r\n {loading ? : \"Send Me My Shortlist\"}\r\n \r\n )}\r\n \r\n Close\r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default DownloadPDFModal;\r\n","import { useState, useMemo, useEffect } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport CardView from \"../assets/icons/CardView\";\r\nimport ListView from \"../assets/icons/ListView\";\r\nimport Cards from \"../components/Cards\";\r\nimport Table from \"../components/Table\";\r\nimport IconButton from \"../ui/IconButton\";\r\nimport Select from \"../ui/Select\";\r\nimport { getColumns } from \"./tableColumns/getColumns\";\r\nimport Loading from \"./Loading\";\r\nimport OutlineButton from \"../ui/OutlineButton\";\r\nimport {\r\n shortlistAddToShortlist,\r\n shortlistGetShortlist,\r\n shortlistRemoveFromShortlist,\r\n} from \"../util/shortlistUtil\";\r\nimport { downloadPdf } from \"../util/downloadPdf\";\r\nimport AncestryApp from \"../ancestry/AncestryApp\";\r\nimport ProfileApp from \"../profile/ProfileApp\";\r\nimport DataApp from \"../data/DataApp\";\r\nimport { handleSearch } from \"../util/handleSearch\";\r\nimport Pagination from \"./Pagination\";\r\nimport DownloadPDFModal from \"./DownloadPDFModal\";\r\n\r\nconst PDFDownloadWrapper = styled.div`\r\n min-width: 1481px;\r\n width: 100%;\r\n margin: 0 auto;\r\n padding: 20px;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n gap: 80px;\r\n\r\n position: fixed;\r\n right: 100vw;\r\n top: 0;\r\n`;\r\n\r\nconst InputWrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n gap: 4px;\r\n font-family: Poppins;\r\n\r\n margin: 40px 0px;\r\n\r\n @media (max-width: 768px) {\r\n margin: 20px 0px;\r\n }\r\n`;\r\n\r\nconst Label = styled.label`\r\n font-size: 14px;\r\n`;\r\n\r\nconst Input = styled.input`\r\n max-width: 300px;\r\n padding: 20px;\r\n border: none;\r\n border: solid 1px rgb(184, 184, 184);\r\n padding: 8px 12px;\r\n font-size: 18px;\r\n font-weight: 400;\r\n line-height: 165%;\r\n color: #1b2430;\r\n background: #fff;\r\n\r\n font-family: Poppins;\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n max-width: 1481px;\r\n margin: 0 auto;\r\n padding: 20px;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n padding: 40px 20px;\r\n\r\n @media (max-width: 768px) {\r\n padding: 20px;\r\n }\r\n`;\r\n\r\nconst TableControl = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 10px;\r\n flex-wrap: wrap;\r\n\r\n margin-right: ${({ marginRight }) => marginRight || 0}px;\r\n\r\n p {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n a {\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nconst TableInfo = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 10px;\r\n flex-wrap: wrap;\r\n\r\n p {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n a {\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nconst Buttons = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n gap: 10px;\r\n flex-wrap: wrap;\r\n\r\n margin-right: ${({ marginRight }) => marginRight || 0}px;\r\n\r\n @media (max-width: 768px) {\r\n margin-right: 0px;\r\n button {\r\n font-size: 14px;\r\n padding: 12px 21px;\r\n }\r\n }\r\n`;\r\n\r\nconst Spinner = styled.div`\r\n width: ${(props) => props.size}px;\r\n height: ${(props) => props.size}px;\r\n border: ${(props) => Math.ceil(props.size / 10)}px solid #fff;\r\n border-bottom-color: transparent;\r\n border-radius: 50%;\r\n display: inline-block;\r\n box-sizing: border-box;\r\n animation: rotation 1s linear infinite;\r\n\r\n @keyframes rotation {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n`;\r\nfunction Body({\r\n category,\r\n allData: allDataWithoutSearch,\r\n setData,\r\n loading,\r\n search,\r\n coverImage,\r\n animalBaseHref,\r\n isShortlist,\r\n}) {\r\n const [checked, setChecked] = useState([]);\r\n const [view, setView] = useState(\"card\");\r\n const [query, setQuery] = useState(\"\");\r\n\r\n const [openDownloadPDFModal, setOpenDownloadPDFModal] = useState(false);\r\n\r\n const [rowsPerPage, setRowsPerPage] = useState(30);\r\n const [page, setPage] = useState(1);\r\n const [sort, setSort] = useState({\r\n arrowOnly: true,\r\n key:\r\n category === \"beefforsuckler\"\r\n ? \"Myostatin Status\"\r\n : category === \"dairybeef\"\r\n ? \"Breed\"\r\n : \"Cat\",\r\n direction: \"ASC\",\r\n valueFunc: (row) =>\r\n row[\r\n category === \"beefforsuckler\"\r\n ? \"Myostatin Status\"\r\n : category === \"dairybeef\"\r\n ? \"Breed\"\r\n : \"Cat\"\r\n ],\r\n });\r\n\r\n const [pdfData, setPdfData] = useState([]);\r\n const [pdfDataLoading, setPdfDataLoading] = useState(false);\r\n\r\n const allData = useMemo(\r\n () =>\r\n allDataWithoutSearch.filter(\r\n handleSearch(search?.toLowerCase(), query.toLowerCase())\r\n ),\r\n [search, query, allDataWithoutSearch]\r\n );\r\n\r\n const data = useMemo(() => {\r\n const newSetOfData = [...allData];\r\n\r\n return newSetOfData\r\n .sort((a, b) => {\r\n if (sort.key && !sort.arrowOnly) {\r\n const valA = sort.valueFunc(a);\r\n const valB = sort.valueFunc(b);\r\n\r\n // Check if value is number or string\r\n if (typeof valA === \"number\") {\r\n // If string is empty they need to be palced at last of array\r\n\r\n if (!Number.isFinite(valA)) {\r\n return 1;\r\n }\r\n\r\n if (!Number.isFinite(valB)) {\r\n return -1;\r\n }\r\n\r\n return sort.direction === \"ASC\" ? valA - valB : valB - valA;\r\n } else {\r\n if (!valA) {\r\n return 1;\r\n }\r\n\r\n if (!valB) {\r\n return -1;\r\n }\r\n\r\n return sort.direction === \"ASC\"\r\n ? valA.localeCompare(valB)\r\n : valB.localeCompare(valA);\r\n }\r\n } else {\r\n return 0;\r\n }\r\n })\r\n .slice(rowsPerPage * (page - 1), rowsPerPage * page);\r\n }, [allData, sort, rowsPerPage, page]);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n const shortlisted = shortlistGetShortlist(category) || [];\r\n\r\n const checked = [];\r\n\r\n data.forEach((row) => {\r\n if (shortlisted.includes(row.Code)) {\r\n checked.push(row.Code);\r\n }\r\n });\r\n\r\n setChecked(checked);\r\n }\r\n }, [data, category]);\r\n\r\n useEffect(() => {\r\n shortlistAddToShortlist(category, checked);\r\n shortlistRemoveFromShortlist(\r\n category,\r\n data.filter(({ Code }) => !checked.includes(Code)).map(({ Code }) => Code)\r\n );\r\n }, [checked, category, data]);\r\n\r\n const columns = getColumns({\r\n checked,\r\n category,\r\n setChecked,\r\n animalCodes: data.map((row) => row.Code),\r\n animalBaseHref,\r\n });\r\n\r\n const handlePDFDownload = () => {\r\n setOpenDownloadPDFModal(true);\r\n };\r\n\r\n const handleClearShortlist = () => {\r\n shortlistRemoveFromShortlist(category, checked);\r\n setData([]);\r\n setChecked([]);\r\n };\r\n\r\n const handleCSVDownload = () => {\r\n const allColumns = columns\r\n .map(({ columns }) => columns)\r\n .flat()\r\n .slice(1);\r\n\r\n const date = new Date();\r\n const year = date.getFullYear();\r\n const day = (\"0\" + date.getDate()).slice(-2);\r\n const month = (\"0\" + (date.getMonth() + 1)).slice(-2);\r\n\r\n const content = `Report Date : ${day}/${month}/${year}\\n${allColumns\r\n .map((column) => column.Header)\r\n .join(\",\")}\\n${allData\r\n .filter(({ Code }) => checked.includes(Code)) // Filter checked data\r\n .map((row) => {\r\n return allColumns\r\n .map((column) => {\r\n const value = column.value(row);\r\n return `\"${value || \"\"}\"`;\r\n })\r\n .join(\",\");\r\n })\r\n .join(\"\\n\")}`;\r\n // Download CSV\r\n const csvContent = `data:text/csv;charset=utf-8,${content}`;\r\n\r\n const encodedUri = encodeURI(csvContent);\r\n const link = document.createElement(\"a\");\r\n link.setAttribute(\"href\", encodedUri);\r\n\r\n const formattedDate = `${day}_${month}_${year}`;\r\n link.setAttribute(\"download\", `${formattedDate}-${category}-shortlist.csv`);\r\n document.body.appendChild(link); // Required for FF\r\n\r\n link.click();\r\n link.remove();\r\n };\r\n\r\n const handleClearFilter = () => {\r\n window.location.search = \"\";\r\n };\r\n\r\n const handleRowClick = (i, e) => {\r\n const index = parseInt(e.target.getAttribute(\"data-col-id\"));\r\n\r\n if (index === 0) {\r\n return;\r\n }\r\n\r\n const row = data[i];\r\n window.location.href = animalBaseHref + row.Code;\r\n };\r\n\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (allDataWithoutSearch?.length === 0 && !loading && isShortlist) {\r\n return (\r\n \r\n

    \r\n You dont have anything in your shortlist. Add some items to your\r\n shortlist to see them here.\r\n

    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {pdfData.map((dt, i) => (\r\n
    \r\n \r\n \r\n \r\n
    \r\n ))}\r\n
    \r\n\r\n \r\n {allData.length > 0 && (\r\n \r\n \r\n {checked.length > 0 && (\r\n <>\r\n {search && (\r\n \r\n Clear filter\r\n \r\n )}\r\n {isShortlist && (\r\n \r\n Clear shortlist\r\n \r\n )}\r\n {!isShortlist && (\r\n \r\n \r\n View Shortlist ({checked.length})\r\n \r\n \r\n )}\r\n\r\n {isShortlist && (\r\n \r\n {pdfDataLoading ? : \"Download PDF\"}\r\n \r\n )}\r\n\r\n \r\n Export to Excel\r\n \r\n \r\n )}\r\n \r\n {/* */}\r\n \r\n

    Show

    \r\n {\r\n setPage(1);\r\n setRowsPerPage(Number(value));\r\n }}\r\n />{\" \"}\r\n

    entries

    \r\n \r\n setView(\"card\")}\r\n >\r\n \r\n \r\n setView(\"table\")}\r\n >\r\n \r\n \r\n \r\n
    \r\n {/* */}\r\n
    \r\n )}\r\n \r\n \r\n setQuery(e.target.value)}\r\n placeholder={\"Enter bull code\"}\r\n />\r\n \r\n {allData.length === 0 && (\r\n \r\n

    No Data!

    \r\n
    \r\n )}\r\n {allData.length > 0 && (\r\n <>\r\n {view === \"table\" ? (\r\n \r\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 Body;\r\n","export const handleSearch = (search, query) => (item) => {\r\n let matched = true;\r\n if (query) {\r\n if (item.Code.toLowerCase().includes(query)) {\r\n matched = true;\r\n } else {\r\n matched = false;\r\n }\r\n }\r\n\r\n if (search && matched) {\r\n if (item.Code.toLowerCase().includes(search)) {\r\n matched = true;\r\n } else if (item.Name.toLowerCase().includes(search)) {\r\n matched = true;\r\n } else {\r\n matched = false;\r\n }\r\n }\r\n\r\n return matched;\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport Body from \"./components/Body\";\r\n\r\nimport { getCategory } from \"./util/getCategory\";\r\nimport { getTableData } from \"./util/getData\";\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst App = () => {\r\n const [data, setData] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const { category, search, coverImage, animalBaseHref } = getCategory();\r\n\r\n useEffect(() => {\r\n getTableData()\r\n .then((data) => {\r\n setData(data);\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n setLoading(false);\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n {/*
    */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Body from \"./components/Body\";\r\nimport { getShortlistAnimalData } from \"./util/getData\";\r\nimport { shortlistRemoveFromShortlist } from \"./util/shortlistUtil\";\r\n\r\nconst ShortlistApp = ({ category, shortlist, coverImage, animalBaseHref }) => {\r\n const [data, setData] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n getShortlistAnimalData({ category, shortlist })\r\n .then((data) => {\r\n setData(data);\r\n\r\n // Check for response\r\n const notFetchedAnimals = shortlist.filter(\r\n (Code) => !data.find((dt) => dt.Code === Code)\r\n );\r\n\r\n // Remove animals that are not present in the response\r\n shortlistRemoveFromShortlist(category, notFetchedAnimals);\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n setLoading(false);\r\n });\r\n }, [category, shortlist]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ShortlistApp;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom/client\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport ShortlistApp from \"./ShortlistApp\";\r\nimport { getApiAuthToken } from \"./util/getApiAuthToken\";\r\n\r\nconst el = document.getElementById(\"table\");\r\n\r\nif (el) {\r\n getApiAuthToken({\r\n callback: () => {\r\n const root = ReactDOM.createRoot(el);\r\n root.render(\r\n \r\n \r\n \r\n );\r\n },\r\n });\r\n}\r\n\r\ndocument.addEventListener(\"DisplayShortlistCategory\", (e) => {\r\n const category = e.detail.category;\r\n const shortlist = e.detail.shortlist;\r\n const targetcontainer = e.detail.targetcontainer;\r\n const pdfCoverImage = e.detail.pdfcoverimage;\r\n const animalBaseHref = e.detail.animalbasehref;\r\n const categoryName = e.detail.categoryname;\r\n\r\n getApiAuthToken({\r\n callback: () => {\r\n const root = ReactDOM.createRoot(targetcontainer);\r\n root.render(\r\n \r\n \r\n \r\n );\r\n },\r\n });\r\n});\r\n"],"names":["reactIs","require","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","name","length","prototype","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","module","exports","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","i","key","descriptor","e","b","Symbol","for","c","d","f","g","h","k","l","m","n","p","q","r","t","v","w","x","y","z","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","extendStatics","setPrototypeOf","__proto__","Array","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","s","apply","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","_","label","sent","trys","ops","verb","iterator","op","pop","push","__spreadArray","to","from","pack","ar","slice","Bounds","left","top","width","height","add","fromClientRect","context","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","find","rect","EMPTY","parseBounds","node","getBoundingClientRect","parseDocumentSize","document","documentElement","Error","Math","max","scrollWidth","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","toCodePoints$1","str","codePoints","charCodeAt","extra","fromCodePoint$1","_i","fromCodePoint","codeUnits","index","codePoint","fromCharCode","chars$2","lookup$2","Uint8Array","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","len","buffer","ArrayBuffer","bytes","isArray","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_MASK$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","start","end","Uint16Array","slice32$1","Uint32Array","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","data","ceil","Trie$1","Trie","initialValue","errorValue","highStart","highValueIndex","get","ix","chars$3","lookup$3","i$3","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","forEach","classType","indexOf","prev","isAdjacentWithSpaceIgnored","currentIndex","classTypes","current","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","before","prevIndex","count","cssFormattedClasses","options","wordBreak","_a","isLetterNumber","map","forbiddenBreakpoints","letterNumber","undefined","Break","required","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","E","F","U","Z","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c1","c2","isIdentifierStart","c3","isNumberStart","stringToNumber","sign","integers","int","parseInt","fraction","fracd","frac","expsign","exponent","exp","pow","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","_value","write","chunk","read","tokens","token","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","flags","consumeName","reconsumeCodePoint","consumeNumericToken","e1","e2","e3","consumeIdentLikeToken","a1","a2","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","shift","unshift","delta","digits","questionMarks","digit","endDigits","toLowerCase","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","SLICE_STACK_SIZE","amount","min","splice","endingCodePoint","consumeNumber","repr","number","unit","hex","hexCodePoint","Parser","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","values","consumeSimpleBlock","consumeFunction","block","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","args","arg","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","parent","DEG","GRAD","RAD","TURN","angle","parse","_context","PI","isAngle","parseNamedSide","filter","ident","join","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","substring","namedColor","COLORS","toUpperCase","TRANSPARENT","isTransparent","color","asString","alpha","blue","green","red","round","getTokenColorValue","rgb","_b","hue2rgb","t1","t2","hue","hsl","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","prefix","backgroundColor","format","parseColorStop","stop","processColorStops","stops","lineLength","first","last","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","gapValue","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","abs","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","sqrt","findCorner","closest","reduce","stat","cx","cy","optimumDistance","optimumCorner","Infinity","calculateRadius","gradient","rx","ry","size","shape","prefixLinearGradient","angle$1","firstToken","colorStop","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","prefixRadialGradient","position","isColorStop","acc","isLinearGradient","background","isRadialGradient","image","image_1","url","cache","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","isAtPosition_1","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","style","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","display","bit","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","fontSize","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflow","overflowWrap","paddingForSide","paddingTop","paddingRight","paddingBottom","paddingLeft","textAlign","textShadow","shadow","offsetX","offsetY","blur","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","auto","order","time","opacity","textDecorationColor","textDecorationLine","line","fontFamily","accumulator","results","toString","fontWeight","fontVariant","fontStyle","contains","content","counterIncrement","increments","filtered","counter","increment","counterReset","resets","reset","duration","quotes","open_1","close_1","open","close","getQuote","depth","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","textDecoration","transform","isVisible","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","element","getAttribute","isDebugging","elementType","ElementContainer","textNodes","elements","styles","window","getComputedStyle","isHTMLElementNode","some","bounds","chars$1","lookup$1","i$1","decode","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_MASK","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","lookup","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","L","V","T","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","createRange","range","testElement","createElement","appendChild","selectNode","rangeBounds","rangeHeight","removeChild","testIOSLineBreak","wordSpacing","innerHTML","repeat","firstChild","textList","offset","supports","every","text","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","XMLHttpRequest","responseType","testSVG","img","canvas","ctx","getContext","src","drawImage","toDataURL","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","getImageData","catch","xmlns","createElementNS","foreignObject","setAttributeNS","onload","onerror","encodeURIComponent","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","SUPPORT_WORD_BREAKING","SUPPORT_SVG_DRAWING","SUPPORT_FOREIGNOBJECT_DRAWING","fetch","SUPPORT_CORS_IMAGES","SUPPORT_RESPONSE_TYPE","SUPPORT_CORS_XHR","SUPPORT_NATIVE_TEXT_SEGMENTATION","Intl","Segmenter","TextBounds","parseTextBounds","breakText","textBounds","trim","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","ownerDocument","wrapper","cloneNode","parentNode","replaceChild","segmenter","granularity","segment","segmentWords","breakWords","wordSeparators","words","word_1","TextContainer","replace","CAPITALIZE","capitalize","p1","p2","ImageElementContainer","_super","_this","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","setAttribute","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","placeholder","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","input","checked","SelectElementContainer","option","selectedIndex","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","root","childNode","nextNode","nextSibling","isTextNode","isElementNode","isSlotElement","assignedNodes","container","createContainer","createsRealStackingContext","createsStackingContext","tagName","slot","shadowRoot","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","nodeType","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","className","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","CounterState","counters","getCounterValue","getCounterValues","canReset","entry","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","fallback","suffix","createCounterText","string","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","floor","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","tmp","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","scrolledElements","referenceElement","quoteDepth","toIFrame","windowSize","createIFrameContainer","scrollX","defaultView","pageXOffset","scrollY","pageYOffset","cloneWindow","documentClone","iframeLoad","iframeLoader","restoreNodeScroll","scrollTo","test","navigator","userAgent","logger","warn","onclone","clonedReferenceElement","nodeName","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","clone","srcset","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","css","rule","cssText","textContent","error","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","child","copyStyles","hasAttribute","ignoreElements","cloneChildNodes","assignedNode","createTextNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","insertBefore","after","AFTER","scrollTop","scrollLeft","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","destroy","CORNER","cloneIframeContainer","border","scrolling","imageReady","complete","all","images","interval","setInterval","childNodes","readyState","clearInterval","ignoredStyleProperties","target","property","item","setProperty","getPropertyValue","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","getOrigin","link","_link","href","protocol","hostname","port","isSameOrigin","_origin","setContext","location","Cache","_options","_cache","has","isBlobImage","isRenderable","loadImage","match","useCORS","isInlineImage","useProxy","proxy","debug","isInlineBase64Image","setTimeout","imageTimeout","xhr","status","response","reader_1","FileReader","addEventListener","readAsDataURL","queryString","timeout_1","timeout","ontimeout","send","INLINE_SVG","INLINE_BASE64","INLINE_IMG","isSVG","substr","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","ab","bc","cd","abbc","bccd","dest","reverse","isBezierCurve","path","BoundCurves","tlh","tlv","trh","trv","_c","brh","brv","_d","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","effects","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","order_1","index_1","index_2","processListItems","owner","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","second","hasIntrinsicProportion","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_data","_document","parseMetrics","span","margin","padding","whiteSpace","verticalAlign","baseline","offsetTop","middle","getMetrics","Renderer","MASK_OFFSET","CanvasRenderer","_activeEffects","scale","fontMetrics","translate","textBaseline","applyEffects","popEffect","applyEffect","save","globalAlpha","clip","restore","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","fillText","letter","measureText","createFontStyle","variant","fixIOSSystemFonts","renderTextNode","font","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","renderReplacedElement","box","fill","beginPath","arc","isTextInputElement","canvasTextAlign","_p","_e","_g","_f","_j","_h","_l","_k","_o","_m","mask","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","renderRepeat","pattern","resizeImage","renderBackgroundImage","this_1","createPattern","x0","x1","y0","y1","gradient_1","createLinearGradient","addColorStop","top_1","radialGradient_1","createRadialGradient","midX","midY","invF","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","borders_1","renderDashedDottedBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","setLineDash","lineCap","stroke","path1","path2","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","id","enabled","Date","now","console","getTime","instances","Context","instanceName","instanceCount","logging","html2canvas","renderElement","opts","resourceOptions","contextOptions","windowOptions","windowWidth","innerWidth","windowHeight","innerHeight","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","_u","parseBackgroundColor","renderOptions","devicePixelRatio","_q","_r","_s","_t","removeContainer","backgroundColorOverride","defaultBackgroundColor","aa","ca","da","Set","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","split","ra","sa","ta","pa","isNaN","qa","oa","removeAttribute","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","set","Reflect","construct","includes","Pa","tag","Qa","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","bb","cb","db","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","kb","lb","mb","nb","namespaceURI","valueOf","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","charAt","tb","menuitem","area","base","br","col","embed","hr","keygen","meta","param","source","track","wbr","ub","vb","is","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","removeEventListener","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Meta","Shift","Pd","Qd","code","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","search","tel","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","compareDocumentPosition","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","removeAllRanges","addRange","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","pf","qf","rf","random","sf","bind","capture","passive","J","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","clearTimeout","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","bh","ch","eventTime","lane","payload","callback","dh","K","eh","fh","gh","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","state","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","props","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","message","digest","Li","Mi","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","autoFocus","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","ok","pk","Y","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","el","fl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","querySelectorAll","JSON","stringify","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","version","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","err","_defineProperty","getStickyValue","column","sticky","columnIsLastLeftSticky","columnId","findIndex","_ref3","nextColumn","columnIsLeftSticky","nextColumnIsLeftSticky","columnIsFirstRightSticky","_ref4","prevColumn","columnIsRightSticky","prevColumnIsRightSticky","getMarginRight","rightMargin","_ref5","checkErrors","hasGroups","stickyColumnsWithoutGroup","_ref","Header","bugWithUnderColumnsSticky","parentCol","childBugs","_ref2","cellStylesSticky","getStickyProps","header","dataAttrs","headers","flatHeaderItem","findHeadersSameLevel","flatHeaders","totalLeft","useSticky","hooks","getHeaderProps","_ref6","getCellProps","_ref7","cell","pluginName","init","Cell","minWidth","maxWidth","Number","MAX_SAFE_INTEGER","o","userProps","description","accessor","Footer","originalWidth","originalId","placeholderOf","manualExpandedKey","expanded","expandSubRows","isExpanded","original","canExpand","subRows","role","j","colSpan","totalVisibleHeaderCount","row","useOptions","stateReducers","useControlledState","columnsDeps","allColumns","allColumnsDeps","accessValue","materializedColumns","materializedColumnsDeps","useInstanceAfterData","visibleColumns","visibleColumnsDeps","headerGroups","headerGroupsDeps","useInstanceBeforeDimensions","useInstance","prepareRow","getTableProps","getTableBodyProps","getHeaderGroupProps","getFooterGroupProps","getFooterProps","getRowProps","useFinalInstance","resetHiddenColumns","toggleHideColumn","setHiddenColumns","toggleHideAllColumns","getToggleHiddenProps","getToggleHideAllColumnsProps","$","hiddenColumns","onChange","toggleHidden","cursor","title","allColumnsHidden","indeterminate","initialState","getHooks","autoResetHiddenColumns","defaultColumn","getSubRows","getRowId","stateReducer","totalMinWidth","totalWidth","totalMaxWidth","totalFlexWidth","canResize","rows","flatRows","rowsById","accessValueHooks","getInstance","originalSubRows","cells","resetExpanded","toggleRowExpanded","toggleAllRowsExpanded","getToggleAllRowsExpandedProps","getToggleRowExpandedProps","paginateExpandedRows","autoResetExpanded","plugins","Boolean","preExpandedRows","expandedRows","expandedDepth","isAllRowsExpanded","autoRemove","freeze","exactText","exactTextCase","includesAll","includesSome","includesValue","exact","equals","between","resetFilters","setFilter","setAllFilters","filters","filterValue","filterTypes","manualFilters","defaultCanFilter","disableFilters","autoResetFilters","canFilter","preFilteredRows","filteredRows","preFilteredFlatRows","preFilteredRowsById","filteredFlatRows","filteredRowsById","resetGlobalFilter","setGlobalFilter","Ge","globalFilter","userFilterTypes","manualGlobalFilter","autoResetGlobalFilter","disableGlobalFilter","preGlobalFilteredRows","preGlobalFilteredFlatRows","preGlobalFilteredRowsById","globalFilteredRows","globalFilteredFlatRows","globalFilteredRowsById","sum","minMax","average","median","sort","unique","uniqueCount","resetGroupBy","setGroupBy","toggleGroupBy","getGroupByToggleProps","groupBy","canGroupBy","isGrouped","groupedIndex","groupByFn","manualGroupBy","aggregations","autoResetGroupBy","disableGroupBy","defaultCanGroupBy","defaultGroupBy","Aggregated","entries","aggregate","aggregateValue","groupByID","groupByVal","leafRows","preGroupedRows","preGroupedFlatRow","preGroupedRowsById","groupedRows","groupedFlatRows","groupedRowsById","onlyGroupedFlatRows","onlyGroupedRowsById","nonGroupedFlatRows","nonGroupedRowsById","allCells","isPlaceholder","isAggregated","alphanumeric","basic","resetSortBy","setSortBy","toggleSortBy","clearSortBy","sortType","sortDescFirst","getSortByToggleProps","isMultiSortEvent","canSort","disableMultiSort","sortBy","desc","multi","disableSortRemove","disableMultiRemove","maxMultiSortColCount","orderByFn","sortTypes","manualSortBy","defaultCanSort","disableSortBy","autoResetSortBy","isSorted","sortedIndex","isSortedDesc","sortInverted","preSortedRows","preSortedFlatRows","sortedRows","sortedFlatRows","resetPage","gotoPage","setPageSize","et","tt","pageSize","pageIndex","pageCount","page","autoResetPage","manualPagination","pageOptions","canPreviousPage","canNextPage","previousPage","nextPage","resetPivot","togglePivot","nt","getPivotToggleProps","rt","it","ut","lt","st","at","ct","dt","ft","pt","gt","ot","canPivot","pivotColumns","isPivotSource","uniqueValues","PivotHeader","isPivotGroup","pivotValue","isPivoted","autoResetPivot","manaulPivot","disablePivot","defaultCanPivot","defaultPivot","resetSelectedRows","toggleAllRowsSelected","toggleRowSelected","toggleAllPageRowsSelected","vt","getToggleRowSelectedProps","mt","getToggleAllRowsSelectedProps","ht","getToggleAllPageRowsSelectedProps","yt","wt","Rt","bt","manualRowSelectedKey","isSelected","isSomeSelected","isAllRowsSelected","selectedRowIds","isAllPageRowsSelected","selectSubRows","autoResetSelectedRows","selectedFlatRows","St","Ct","setRowState","setCellState","resetRowState","xt","Pt","Bt","Et","initialRowStateAccessor","initialCellStateAccessor","rowState","rowId","cellState","autoResetRowState","setState","resetColumnOrder","setColumnOrder","It","Ft","columnOrder","Gt","At","columnStartResizing","columnResizing","columnDoneResizing","resetResize","kt","getResizerProps","Ht","Wt","Tt","zt","cancelAnimationFrame","requestAnimationFrame","mouse","moveEvent","moveHandler","upEvent","upHandler","touch","columnWidth","headerIdWidths","onMouseDown","onTouchStart","draggable","columnWidths","isResizingColumn","disableResizing","isResizing","autoResetResize","resetResizing","Ot","Mt","jt","totalColumnsWidth","Lt","boxSizing","Nt","Dt","Vt","Xt","qt","Kt","Ut","totalColumnsMinWidth","$t","Zt","Jt","Yt","Qt","gridTemplateColumns","gridLayout","startWidths","en","minWidths","maxWidths","headerIdGridWidths","getElementById","_UNSTABLE_usePivotColumns","actions","defaultGroupByFn","defaultOrderByFn","defaultRenderer","emptyRenderer","ensurePluginOrder","flexRender","functionalUpdate","loopHooks","makePropGetter","makeRenderer","reduceHooks","safeUseLayoutEffect","useAbsoluteLayout","useAsyncDebounce","_regeneratorRuntime","mark","wrap","promise","t0","finish","abrupt","useBlockLayout","useColumnOrder","useExpanded","useFilters","useFlexLayout","useGetLatest","useGlobalFilter","useGridLayout","useGroupBy","useMountedLayoutEffect","usePagination","useResizeColumns","useRowSelect","useRowState","useSortBy","useTable","initialRows","totalColumnsMaxWidth","headerGroup","footerGroups","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","default","Children","toArray","only","PureComponent","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","toPropertyKey","obj","writable","__esModule","_typeof","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","makeInvokeMethod","tryCatch","fn","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","methodName","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","awrap","async","iter","val","object","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","hint","prim","toPrimitive","res","_arrayLikeToArray","arr","arr2","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_slicedToArray","_x","_arr","_n","unsupportedIterableToArray","_toConsumableArray","arrayLikeToArray","_toPropertyKey","_unsupportedIterableToArray","minLen","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","leafPrototypes","ns","def","definition","chunkId","promises","miniCssF","globalThis","Function","prop","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","charset","nc","onScriptComplete","doneFns","head","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","_taggedTemplateLiteral","strings","raw","defineProperties","use","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","reactPropsRegex","memoize","styledComponentId","process","REACT_APP_SC_ATTR","SC_ATTR","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","groupSizes","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","RegExp","registerName","getTag","__webpack_nonce__","styleSheets","ownerNode","nodes","rules","isServer","useCSSOMInjection","gs","names","server","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clear","clearRules","clearTag","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","hash","lastIndexOf","stylisPlugins","disableCSSOMInjection","disableVendorPrefixes","getName","isCss","theme","attrs","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","$as","as","withComponent","_foldedDefaultProps","withConfig","removeStyles","renderStyles","_emitSheetCSS","getStyleTags","sealed","getStyleElement","nonce","seal","collectStyles","interleaveWithNodeStream","ownKeys","enumerableOnly","sym","_objectSpread2","getOwnPropertyDescriptors","_jsx","viewBox","styled","_templateObject","filled","fillColor","getLink","animalBaseHref","munsterBovineShortlistStorageKey","getShortlistStorage","storage","localStorage","setItem","removeItem","isLocalStorageSupported","sessionStorage","isSessionStorageSupported","shortlistGetShortlist","category","sysstorage","baseShortlist","allcategories","shortlistJson","getItem","shortlist","shortlistSetCategoryItems","idList","itemIds","CustomEvent","shortlistAddToShortlist","categoryItems","itemId","shortlistRemoveFromShortlist","Wrapper","stars","star","_ref2$size","InfoWrapper","Info","_templateObject2","InfoRow","_templateObject3","_templateObject4","bold","small","center","BreedInfo","_templateObject5","Row","_templateObject6","childBorder","_data$ReplacementInd","_data$TerminalIndex","_data$DBIStarsWithi","_jsxs","Breed","Rating","Caption","Title","ButtonWrapper","_data$Media","_data$Media2","_data$Media3","shortlisted","setShortlisted","isShortlisted","Code","Media","MediaSrc","alt","MedicaCaption","Name","Cat","CardDetailDairy","CardDetailBeefForSuckler","CardDetailDairyBeef","LinkButton","OutlineButton","_useState","_useState2","Card","DuplicateTable","Styles","reverseDirection","ASC","DESC","setSort","handleRowClick","React","hoveredCell","setHoveredCell","_useTable","duplicateTableContent","querySelector","tableHeader","handleTableBodyScroll","duplicateTable","handleDuplicateTableScroll","tableBody","_objectSpread","valueFunc","ArrowIcon","onMouseOver","onMouseLeave","nonHighlight","SelectContainer","SelectButton","isOpen","SelectMenu","SelectOption","setIsOpen","_useState3","_useState4","selectedOption","setSelectedOption","fillRule","clipRule","handleOptionClick","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","CheckboxContainer","Icon","HiddenCheckbox","StyledCheckbox","CheckboxLabel","_excluded","strokeLinecap","strokeLinejoin","getColumns","setChecked","animalCodes","handleChange","isChecked","nameCol","Checkbox","Proof","EBI","Sire","Sexed","Ticked","getDairySireColumns","Type","Mammary","getDairyHightypeColumns","_row$ReplacementInde","_row$ReplacementInde2","_row$ReplacementInde3","_row$ReplacementInde4","_row$TerminalIndex","_row$TerminalIndexR","_row$TerminalIndexS","_row$TerminalIndexS2","_row$DBIIndex","_row$DBIRel","_row$DBIStarsWithin","_row$DBIStarsWithin2","_row$BeefHeiferCalv","_row$BeefHeiferCalv2","_row$BeefCowCalvDi","_row$BeefCowCalvDi2","_row$DaughterCalving","_row$DaughterMilkKg","getBeefForSucklerColumns","_row$DBIBeefSubInd","_row$DBICalvingSub","_row$DairyHeiferCdi","_row$DairyHeiferCdi2","_row$DairyCowCdiff","_row$DairyCowCdiff2","_row$DBI","DBI","getDairyBeefColumns","skeletonGradientAnimation","keyframes","SkeletonLoader","SkeletonRow","SkeletonColumn","u8","u16","u32","fleb","fdeb","clim","freb","revfl","revfd","rev","hMap","co","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","subarray","inflt","dat","buf","noBuf","noSt","cbuf","nbuf","final","pos","lm","dm","lbt","dbt","tbts","hLit","hcLen","ldt","clt","clb","clbmsk","clm","lms","dms","mxa","dsym","wbits","wbits16","hTree","i0","i1","i2","maxSym","tr","mbt","ln","lft","cst","i2_1","i2_2","i2_3","cli","cln","cls","clen","wfblk","out","wblk","syms","bs","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","flen","ftlen","dtlen","llm","lcts","clct","dst","deo","dflt","lvl","plvl","pre","post","lst","opt","msk_1","bs1_1","bs2_1","hsh","lc_1","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","mmd","lin","din","adler","dopt","level","mem","wbytes","zlh","lv","zlv","zlibSync","unzlibSync","global","MouseEvent","createEvent","initMouseEvent","saveAs","HTMLAnchorElement","URL","webkitURL","download","rel","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","innerText","HTMLElement","safari","onloadend","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","example","exec","toRGB","toHex","atob","btoa","print","modify","copy","perm","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","subscribe","unsubscribe","publish","getTopics","objectNumber","gState","coords","colors","boundingBox","xStep","yStep","stream","cloneIndex","orientation","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","precision","floatPrecision","defaultPathOperation","putOnlyUsedFonts","internal","__private__","PubSub","getPdfVersion","setPdfVersion","a0","a5","a6","a7","a8","a9","a10","b0","b3","b5","b6","b7","b8","b9","b10","c0","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","getPageFormats","getPageFormat","COMPAT","ADVANCED","saveGraphicsState","Rr","setFontSize","getFontSize","restoreGraphicsState","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","roundToPrecision","toFixed","hpf","f2","f3","setPrecision","getFileId","setFileId","convertDateToPDFDate","getTimezoneOffset","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","convertPDFDateToDate","setCreationDate","getCreationDate","padd2","padd2Hex","setCustomOutputDestination","resetCustomOutputDestination","getArrayBuffer","getStandardFonts","R2L","setR2L","getR2L","setZoomMode","getZoomMode","setPageMode","getPageMode","setLayoutMode","getLayoutMode","setDisplayMode","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","hotfixes","_matrix","shx","sx","decompose","sy","shy","tx","ty","multiply","rotate","skew","inversed","applyToPoint","Cr","applyToRectangle","jr","Matrix","matrixMult","unitMatrix","identityMatrix","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Br","endTilingPattern","newObject","newObjectDeferred","newAdditionalObject","objId","decodeColorString","parseFloat","encodeColorString","ch1","ch2","ch3","ch4","pdfColorType","getFilters","putStream","alreadyAppliedFilters","addLength1","objectId","encryptor","additionalKeyValues","API","processDataByFilters","reverseChain","putPage","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageNumber","putPages","isAlreadyPutted","postScriptName","encoding","pages","resourcesOid","objectOid","fontName","isStandardFont","metadata","pdfEscape","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","beginPage","pr","fr","Lr","kr","Ir","setPage","getNumberOfPages","disableWarning","noFallback","times","normal","putInfo","putCatalog","putTrailer","oid","putHeader","putXRef","buildDocument","toHexString","getBlob","output","filename","unescape","pdfObjectUrl","pdfJsUrl","PDFViewerApplication","foo","alert","bar","getPageInfo","getPageInfoByObjId","getCurrentPageInfo","addPage","insertPage","movePage","deletePage","scope","align","lineHeightFactor","lr","scaleFactor","TabLen","splitTextToSize","mutex","activeFontKey","activeFontSize","rotationDirection","charSpace","setCharSpace","getCharSpace","horizontalScale","lang","renderingMode","usedRenderingMode","getWidth","getStringUnitWidth","doKerning","yr","xr","clipEvenOdd","discardPath","isValidStyle","setDefaultPathOperation","getStyle","er","rr","fillEvenOdd","fillStroke","fillStrokeEvenOdd","nr","ir","or","setGState","sr","cr","ur","curveTo","lines","triangle","roundedRect","SQRT2","ellipse","circle","setFont","getFont","getFontList","addFont","dr","getLineWidth","setLineWidth","setLineDashPattern","gr","getLineHeight","mr","setLineHeightFactor","vr","getLineHeightFactor","getHorizontalCoordinate","getVerticalCoordinate","wr","getHorizontalCoordinateString","Nr","getVerticalCoordinateString","strokeColor","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","Ar","getFillColor","setFillColor","textColor","Sr","getTextColor","setTextColor","Pr","CapJoinStyles","butt","but","miter","rounded","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Fr","addGState","setCurrentTransformationMatrix","comment","Or","currentPage","pagesContext","qr","outputDestination","Dr","Tr","Er","beginFormObject","endFormObject","Mr","doFormObject","getFormObject","returnPromise","unload","events","getPageWidth","setPageWidth","getPageHeight","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","setWidth","getHeight","setHeight","encryptionOptions","getEncryptor","getPDFVersion","Point","Rectangle","hasHotfix","dictionary","__acroform__","BBox","setBit","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","_V","maxFontSize","multiline","fields","xForms","acroFormDictionaryRoot","printedOut","isInitialized","annotations","acroformPlugin","FieldNum","_eventID","Fields","hasAnnotation","Kids","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","arrayToPdfArray","_objId","_scope","FT","getOptions","setOptions","addOption","removeOption","combo","edit","CA","pushButton","radio","caption","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","Parent","CheckBox","isInteger","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","x2","x4","x3","addField","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","__addimage__","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","Uint8ClampedArray","colorSpace","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","addImage_images","loadFile","alias","color_spaces","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","byteLength","validateStringAsBase64","extractImageFromDataUrl","mimeType","supportsArrayBuffer","isArrayBuffer","isArrayBufferView","Int8Array","Int16Array","Int32Array","Float32Array","Float64Array","binaryStringToUint8Array","arrayBufferToBinaryString","imageData","compression","rotation","convertBase64ToBinaryString","getImageProperties","fileType","contents","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","getTextWidth","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","addJS","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","pdf","context2d","_canvas","bottom","right","__cell__","headerFunction","margins","lastCell","lineNumber","setHeaderFunction","getTextDimensions","cellAddPage","tableHeaderRow","printHeaders","printHeaderRow","table","autoSize","headerBackgroundColor","headerTextColor","table_font_size","prompt","setTableHeaderRow","rowStart","cellStart","table_x","table_y","italic","oblique","family","weight","stretch","fixed","monospace","terminal","cursive","fantasy","serif","icon","menu","trimLeft","isStrokeTransparent","isFillTransparent","globalCompositeOperation","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","prevPageLastElemOffset","ignoreClearRect","fontFaces","defaultFontFamily","genericFontFamilies","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","quadraticCurveTo","y2","isIdentity","radius","startAngle","endAngle","counterclockwise","arcTo","strokeRect","clearRect","ctxStack","isCanvasGradient","getColor","scaleX","setTransform","autoPaging","posY","posX","begin","deltas","colorStops","y3","y4","prevLineDash","overrideMimeType","responseText","loadImageFile","DOMPurify","dompurify","sanitize","convert","template","setProgress","overlay","progress","enableLinks","jsPDF","toContainer","toCanvas","toImg","toPdf","thenList","javascriptEnabled","onrendered","toContext2d","quality","outputImg","outputPdf","doCallback","setMargin","getPageSize","inner","px","ratio","updateProgress","thenCore","thenExternal","catchExternal","using","export","run","html","worker","outline","createNamedDestinations","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processJPEG","numcomponents","imgData","readUInt32","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","xOffset","yOffset","readUInt16","disposeOp","blendOp","indexed","grayscale","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","decodeFrames","createImageData","renderFrame","animate","_timeout","stopAnimation","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","encode","datav","DataView","is_with_alpha","bottom_up","flag","parseHeader","parseBGR","Ur","zr","Hr","Hn","Wn","Vn","Gn","Ed","Cd","RGBA","Sd","Tn","Sn","An","qn","Rn","Un","memory","$n","Gr","Wr","Vr","Zr","$r","Yr","En","Qr","tn","Dn","nn","xn","zn","rn","Xr","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Qn","Xn","Zn","Jn","Yn","Kn","Kd","Ud","Gd","ga","put","Cn","Pn","kn","In","Fn","an","on","cn","un","hn","sn","dn","pn","gn","mn","vn","bn","yn","wn","Nn","Ln","Bn","jn","Mn","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","WebPDecodeRGBA","src_off","src_size","feature_flags","canvas_width","canvas_height","bgcolor","loop_count","offset_x","offset_y","dispose","blend","rgbaoutput","dataurl","loop_counter","imgwidth","imgheight","processPNG","processGIF89A","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","importantColors","getUint8","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","getData","processBMP","processWEBP","processRGBA","setLanguage","languageSettings","isSubscribed","sq","hy","ast","az","eu","my","cv","cs","eo","fo","fy","fur","gu","hu","iu","ks","km","ky","ko","ms","mo","nv","no","om","qu","rm","ro","ru","sz","so","es","sw","tig","ts","hsb","vo","zu","languageCode","getCharWidthsArray","widths","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","textIndent","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","explicitSet","valueSet","pdfVersion","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","configuration","__metadata__","namespaceuri","metadata_object_number","addMetadata","toUnicode","subset","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","rawData","hmtx","unitsPerEm","cmap","unicode","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","hiLevel","doBidiReorder","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","os2","loca","glyf","exists","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","advance","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","checksum","__super__","file","revision","checkSumAdjustment","magicNumber","created","modified","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","language","isUnicode","old","new","charMap","subtable","maxGlyphID","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","selection","firstCharIndex","lastCharIndex","ascent","descent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","offsets","numGlyphs","languageID","nameID","copyright","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","metrics","lsb","leftSideBearings","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","unicodes","generateCmap","glyphsFor","isString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getApiConfig","instanceConfig","base_url","grant_type","client_id","client_secret","account_name","pdf_cover_image","getApiAuthToken","authToken","jsonData","cookie","decodeURIComponent","oData","expires","readAPIAuthToken","refreshingApiAuthToken","access_token","once","refreshApiAuthToken","API_CONFIG","json","expiresIn","jsonDataEscaped","storeAPIAuthToken","expires_in","getCategory","breed","panel","coverImage","apiEndpoint","BASE_URL","getEndpoint","getTableData","_callee","dataRes","parsedData","Authorization","Bulls","Details","Bull_Breed","flat","getShortlistAnimalData","_callee2","_context2","AnimalIds","TreeWrapper","ParentNode","NameWrapper","TreeContainer","beforeChild","afterChild","_templateObject7","afterTwoChildren","_templateObject8","ParentContainer","_templateObject9","nbChildren","addSpaceToKey","hasChildren","Tree","_ref$data","TreeNode","class","Container","TreeContainerWrapper","Loading","IconsWrapper","IconImage","IconText","TitleWrapper","_data$info","_Fragment","SecondaryButton","Stats","Icons","IconFile","ImageWrapper","ImageCaption","ImagesSlider","ImageSlideItem","_data$activeIndex","_data$activeIndex2","_data$activeIndex3","activeIndex","setActiveIndex","MediaAlt","PanelWrapper","PanelName","PanelColour","ListView","Item","noBorder","PreOrderButton","PanelsWrapper","_data$Stats$GeneticDe","setIsShortlisted","Panels","_createElement","Panel","DOB","GeneticDefect","defect","PriceConventional","PriceSexed","FemalePriceSexed","MalePriceSexed","PreOrder","Images","media","Body","TableHeader","subTitleSize","TableContent","_ref$background","subTitle","_ref$columns","cellcount","_ref$cellcount","Label","Value","cols","borderRight","Text","firstCol","restCols","dairyDamColumns","dairyGDamColumns","PercentileHeader","flexDirection","percentage","Percentile","_$LactationData","_$LactationData2","_$LactationData3","_$LactationData4","_$LactationData5","_$LactationData6","YieldName","LactationData","starRatingWithinBreed","starRatingAcrossBreed","WhenMatedWithDiv","AnimalType","_data$parsedData","_data$parsedData$slic","_data$parsedData2","firstRow","tableData","keyProfitTraits","indexValue","traitReliability","PercentileHeader1","PercentileHeader2","alignItems","Reliability","TwoTablesWrapper","dataEBISummary","dataProduction","dataManagement","dataHealth","dataFertility","dataHeifer","dataIrishDaughterProduction","dataDairyYields","dataLinearEvolution","dataEconomicIndex","dataCalvingDifficulty","dataProgenyPerformance","dataDaughterBreedingPerformance","_dataDairyYields$dair","_dataDairyYields$dair2","_dataDairyYields$dair3","_dataDairyYields$dair4","_dataCalvingDifficult","_dataCalvingDifficult2","TableWrapper","publicationDate","EBISummaryTable","GeneralInfoTable","IrishDaughterProduction","dairyDam","Data","Dam","SimpleTable","dairyGdam","Grandsire","Granddam","LinearEvaluationTable","EconomicIndexTable","totalCalvingRecords","CalvinDifficultyTable","ProgenyPerfromanceTable","ExpectedDaughterBreedingPerformance","renderTables","Tables","PaginationControl","PaginationControlButtons","allData","rowsPerPage","currentRange","pageNumbers","IconButton","submitDownloadPDFRequest","fadeIn","fadeOut","slideIn","slideOut","ModalWrapper","ModalContent","Input","Message","Buttons","_templateObject10","_templateObject11","setOpen","setEmail","setError","_useState5","_useState6","setLoading","_useState7","_useState8","setMessage","handleDownloadPDF","EmailAddress","ShortListType","BullCodes","SendSuccess","ResponseMessage","PDFDownloadWrapper","InputWrapper","TableControl","TableInfo","Spinner","allDataWithoutSearch","setData","isShortlist","setView","query","setQuery","openDownloadPDFModal","setOpenDownloadPDFModal","_useState9","_useState10","setRowsPerPage","_useState11","_useState12","_useState13","arrowOnly","_useState14","_useState15","_useState16","pdfData","_useState17","_useState18","pdfDataLoading","matched","handleSearch","valA","valB","isFinite","localeCompare","ProfileApp","profileData","DataApp","AncestryApp","ancestryData","year","day","csvContent","encodedUri","encodeURI","formattedDate","click","remove","Select","CardView","Table","Cards","Pagination","DownloadPDFModal","_getCategory","notFetchedAnimals","ReactDOM","App","targetcontainer","pdfCoverImage","pdfcoverimage","animalbasehref","categoryname","ShortlistApp"],"sourceRoot":""}