{"version":3,"file":"static/js/main.06687963.js","mappings":"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CnBH,IAAS67B,GAAa,IAAR17B,EACdA,IAAU,EAGM,OAAdP,GAAsBP,EAAY,OACpCG,EAAWH,KAAgBO,GAAa,EAAKg8B,EAMzCv8B,GAAaI,EAAY,GAAKe,EAAgB,OAC9CA,EACFf,EAAaA,GAAa,EAAK,IAInCG,EAAYM,CAAA,MA9EVb,EAAY4a,EAAW,EAEvBxa,GAAa,IADbe,EAAgB1B,EAAgB,IACG,EAGnCc,EAAY,YA4EZN,IAAOO,GACTU,GAAQsuB,IAAI,8CAGP7uB,CAAA,CCz1BT,SAASirC,GAAYhrC,GAAA,IAMfhB,EACAe,EACAH,EACAf,EAeAyB,EAvBAiX,EAASrN,KAAKsT,MACdxD,EAAS,IAAIhX,MAAM,IACnB5D,EAAU,IAAI4D,MAAM,IACpBzC,EAAU,IAAIyC,MAAM,IACpBxD,EAAW,IAAIwD,MAAM,IAMrBtD,EAAU,IAAIsD,MAAM,OACpB1D,EAAW,IAAI0D,MAAM,OACrB3D,EAAkB,IAAI2D,MAAM,IAC5BnD,EAAK,IAAImD,MAAM,IACfzD,EAAU,GACVI,EAAU,EACVM,EAAU,EAEVhB,EAAM,IAAI+D,MAAM,IAChB5C,EAAM,IAAI4C,MAAM,IAChB9C,EAAM,IAAI8C,MAAM,IAChB24B,EAAM,IAAI34B,MAAM,KAChB44B,EAAgB,IAAI54B,MAAM,MAG1BvC,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,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,IAGEN,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE07B,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DP,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEQ,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,KAGEr8B,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEy8B,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DQ,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,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,cAuKOhY,EAAkB3kB,EAAShB,GAAA,QAC9Be,EAAY,EACZH,EAAe,EACff,EAAK,IAAImE,MACJ1C,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAIiX,EAAI,EAAGA,GAAKvX,EAAQM,GAAIiX,IAC/B1Y,EAAGG,EAAUY,IAAiB,GAC9Bf,EAAGG,EAAUY,IAAe,GAAKG,EACjClB,EAAGG,EAAUY,IAAe,GAAKU,EACjCV,IACAG,IAEFA,GAAa,SAERlB,CAAA,UA2DAu9B,EAAUp8B,GAAA,QACbhB,EAAQgB,EAAG,GACXD,EAASC,EAAG,GAAK,EACdD,GAAU,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IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEF2Y,GAAK,GACLigB,GAAK,GACLC,GAAK,EACLC,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EAC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A,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,KAEFkD,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEF5zC,GAAK,EACLy6C,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,KAEFC,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,KAEFF,GAAK,KACLM,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,IAE1DC,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACxDiC,GAAK,EAAE,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GACnEpC,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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AAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,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I,4BACK,2BACA,0BACA,0BACA,8BACA,0BACA,uBACTyiC,GAAI,UACJC,IAAK,WACLhL,GAAI,yBACK,iBACTiL,GAAI,WACJhW,GAAI,WACJ7uB,GAAI,4BACK,2BACA,2BACA,iCACA,8BACA,uBACT8kC,GAAI,QACJC,GAAI,WACJluC,GAAI,UACJgK,GAAI,SACJm6B,GAAI,QACJgK,GAAI,YACJC,GAAI,YACJp8D,GAAI,aACJq8D,GAAI,YACJrL,GAAI,QACJx7C,GAAI,6BACK,wBACTo7C,GAAI,WACJ+B,GAAI,UACJ2J,GAAI,WACJC,GAAI,SACJC,GAAI,QACJC,GAAI,UACJC,IAAK,UACLC,GAAI,iBACK,+BACA,uBACTtP,GAAI,QACJn1C,GAAI,UACJxG,GAAI,aACJkzC,GAAI,gBACJgY,GAAI,kBACJC,GAAI,QACJ3lD,GAAI,YACJuX,GAAI,UACJw7B,GAAI,QACJhpB,GAAI,UACJ67B,GAAI,YACJC,GAAI,SACJC,GAAI,SACJnoC,GAAI,SACJooC,GAAI,YACJ3L,GAAI,qBACJ7H,GAAI,sBACJ0G,GAAI,UACJxwB,GAAI,QACJu9B,GAAI,QACJnY,GAAI,kBACK,eACToY,GAAI,SACJ7uC,GAAI,qBACK,sBACT40B,GAAI,kBACK,0BACA,qBACTka,GAAI,UACJC,GAAI,iBACJC,GAAI,mBACK,sBACTC,GAAI,kBACK,qBACTC,GAAI,iBACJC,GAAI,QACJpN,GAAI,WACJ7B,GAAI,YACJrJ,GAAI,SACJ+M,GAAI,aACJryB,GAAI,UACJ69B,GAAI,SACJxtD,GAAI,YACJytD,GAAI,SACJzN,GAAI,UACJ0N,GAAI,kBACK,8BACA,4BACA,0BACA,6BACA,+BACA,uCACA,4BACA,gCACA,8BACA,6BACA,2BACA,8BACA,2BACA,6BACA,yBACA,gCACA,0BACA,4BACA,sBACTjsC,GAAI,OACJksC,GAAI,UACJnvD,GAAI,kBACK,4BACA,mBACT4hD,GAAI,QACJ7iC,GAAI,QACJ2G,GAAI,SACJ0pC,GAAI,OACJC,IAAK,QACLC,GAAI,SACJzU,GAAI,SACJx2C,GAAI,UAC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ACzCC,EAAO27B,EAAc37B,EAAMhB,QACtB,IAAKH,IAAgB0Y,GAAgBjX,EAAW0Z,EAAW,KAE5Dpa,EAA0BR,EAC1BkB,GAEFL,EAvZM,EAwZND,EAAOG,EAASH,EAAMhB,EAAmBe,GACzCE,EA1ZM,EA2ZNb,GAAA,EACAY,EAAOG,EAASH,EAAMhB,EAAmBe,GACzCX,EAAuBQ,IAGvBK,EAhaM,EAiaND,EAAOG,EAASH,EAAMhB,EAAmBe,GACzCC,EAAO27B,EAAc37B,EAAMhB,GAC3BiB,EAlaM,EAmaNb,GAAA,EACAY,EAAOG,EAASH,EAAMhB,EAAmBe,GACzCX,EAAuBQ,EACvBI,EAAO27B,EAAc37B,EAAMhB,GAAA,OAxC7BiB,EA/XQ,EAgYRD,EAAOG,EAASH,EAAMhB,EAAmBe,QAdzCE,EAAOK,EAjXC,EADA,EAmXRN,EAAOG,EAASH,EAAMhB,EAAmBe,GAAA,OAuDpCC,CAAA,OAcJ65E,eAAeh7B,WAAa,SAAS7+C,GACpCA,IACFnB,EAAcmB,EAAQk6E,cACtB3iE,EAAevX,EAAQm6E,eACvB75E,EAAWN,EAAQo6E,WACnBpgE,EAAYha,EAAQq6E,YACpBj7E,EAAuBY,EAAQs6E,oBAAA,OAI9BT,eAAeh7B,WAAW7+C,GACxBqC,KAAKw3E,cAAA,MAGV76E,EA5jFmB,CACrB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,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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CnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,cAAeN,EAAEm0O,GACpC,IAAe,CAAE7zO,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAAE,MACnB,IAAe,CAAEA,EAA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,IAAK,QACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,MACL,IAAK,cACL,IAAK,iBACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,eACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,kBACL,IAAK,YACL,IAAK,iBACL,IAAK,cACL,IAAK,eACL,IAAK,eACL,IAAK,YACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,gBACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,gBACL,IAAK,YACL,IAAK,aACL,IAAK,UACL,IAAK,OACL,IAAK,cACL,IAAK,UACL,IAAK,YACL,IAAK,iBACL,IAAK,cACL,IAAK,oBACL,IAAK,gBACL,IAAK,eACL,IAAK,iBACL,IAAK,kBACL,IAAK,cACL,IAAK,qBACL,IAAK,SACL,IAAK,cACL,IAAK,WACL,IAAK,WACL,IAAK,eACL,IAAK,eACL,IAAK,iBACL,IAAK,eACL,IAAK,kBACL,IAAK,qBACL,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,gBACL,IAAK,cACL,IAAK,eACL,IAAK,kBACL,IAAK,oBACL,IAAK,kBACL,IAAK,iBACL,IAAK,UACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,cACL,IAAK,UACL,IAAK,SACL,IAAK,cACL,IAAK,UACL,IAAK,oBACL,IAAK,kBACL,IAAK,QACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,mBACL,IAAK,oBACL,IAAK,cACL,IAAK,cACL,IAAK,mBACL,IAAK,eACL,IAAK,aACL,IAAK,eACL,IAAK,gBACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,iBACL,IAAK,YACL,IAAK,cACL,IAAK,eACL,IAAK,aACL,IAAK,aACL,IAAK,gBACL,IAAK,eACL,IAAK,kBACL,IAAK,gBACL,IAAK,qBACL,IAAK,WACL,IAAK,OACL,IAAK,gBACL,IAAK,kBACL,IAAK,aACL,IAAK,aACL,IAAK,eACL,IAAK,iBACL,IAAK,cACL,IAAK,iBACL,IAAK,qBACL,IAAK,YACL,IAAK,oBACL,IAAK,WACL,IAAK,cACL,IAAK,iBACL,IAAK,WACL,IAAK,eACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,iBACL,IAAK,eACL,IAAK,cACL,IAAK,YACL,IAAK,kBACL,IAAK,oBACL,IAAK,iBACL,IAAK,YACL,IAAK,aACL,IAAK,oBACL,IAAK,aACL,IAAK,eACL,IAAK,iBACL,IAAK,kBACL,IAAK,eACL,IAAK,gBACL,IAAK,gBACL,IAAK,qBACL,IAAK,mBACL,IAAK,qBACL,IAAK,yBACL,IAAK,cACL,IAAK,aACL,IAAK,mBACL,IAAK,sBACL,IAAK,eACL,IAAK,eACL,IAAK,gBACL,IAAK,cACL,IAAK,kBACL,IAAK,cACL,IAAK,gBACL,IAAK,kBACL,IAAK,2BACL,IAAK,eACL,IAAK,iBACL,IAAK,aACL,IAAK,iBACL,IAAK,YACL,IAAK,mBACL,IAAK,cACL,IAAK,wBACL,IAAK,kBACL,IAAK,qBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,qBACL,IAAK,aACL,IAAK,iBACL,IAAK,eACL,IAAK,mBACL,IAAK,aACL,IAAK,eACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,kBACL,IAAK,kBACL,IAAK,gBACL,IAAK,iBACL,IAAK,uBACL,IAAK,0BACL,IAAK,iBACL,IAAK,eACL,IAAK,YACL,IAAK,cACL,IAAK,aACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,qBACL,IAAK,cACL,IAAK,mBACL,IAAK,uBACL,IAAK,mBACL,IAAK,kBACL,IAAK,mBACL,IAAK,cACL,IAAK,iBACL,IAAK,kBACL,IAAK,eACL,IAAK,eACL,IAAK,oBACL,IAAK,sBACL,IAAK,sBACL,IAAK,mBACL,IAAK,qBACL,IAAK,qBACL,IAAK,gBACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,mBACL,IAAK,gBACL,IAAK,wBACL,IAAK,qBACL,IAAK,SACL,IAAK,kBACL,IAAK,gBACL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L,IAAK,OACL,IAAK,WACL,IAAK,UACL,IAAK,OACL,IAAK,UACL,IAAK,YACL,IAAK,UACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,OACL,IAAK,WACL,IAAK,gBACL,IAAK,aACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,OACL,IAAK,SACL,IAAK,OACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,YACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,SACL,IAAK,WACL,IAAK,SACL,IAAK,aACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,gBACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,WACL,IAAK,OACL,IAAK,QACL,IAAK,aACL,IAAK,KACL,IAAK,QACL,IAAK,SACL,IAAK,YACL,IAAK,cACL,IAAK,iBACL,IAAK,OACL,IAAK,gBACL,IAAK,WACL,IAAK,cACL,IAAK,WACL,IAAK,iBACL,IAAK,aACL,IAAK,YACL,IAAK,eACL,IAAK,eACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,eACL,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,YACL,IAAK,UACL,IAAK,SACL,IAAK,SACL,IAAK,aACL,IAAK,YACL,IAAK,OACL,IAAK,YACL,IAAK,QACL,IAAK,OACL,IAAK,SACL,IAAK,YACL,IAAK,QACL,IAAK,YACL,IAAK,WACL,IAAK,UACL,IAAK,cACL,IAAK,cACL,IAAK,SACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,UACL,IAAK,WACL,IAAK,cACL,IAAK,MACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,MACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,OACL,IAAK,WACL,IAAK,OACL,IAAK,gBACL,IAAK,YACL,IAAK,cACL,IAAK,QACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACL,IAAK,iBACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,oBACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,QACL,IAAK,cACL,IAAK,cACL,IAAK,WACL,IAAK,eACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,WACL,IAAK,gBACL,IAAK,YACL,IAAK,kBACL,IAAK,eACL,IAAK,gBACL,IAAK,mBACL,IAAK,cACL,IAAK,gBACL,IAAK,cACL,IAAK,WACL,IAAK,MACL,IAAK,YACL,IAAK,aACL,IAAK,qBACL,IAAK,mBACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,UACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,aACL,IAAK,cACL,IAAK,YACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,SACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,OACL,IAAK,OACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,OACL,IAAK,YACL,IAAK,YACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,QACL,IAAK,QACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,cACL,IAAK,UACL,IAAK,YACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,cACL,IAAK,MACL,IAAK,cACL,IAAK,MACL,IAAK,aACL,IAAK,gBACL,IAAK,UACL,IAAK,eACL,IAAK,UACL,IAAK,WACL,IAAK,SACL,IAAK,YACL,IAAK,cAEHD,GAAW,CACb,EAAG,EACH,EAAG,EACH,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,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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/jspdf-autotable/dist/jspdf.plugin.autotable.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","../node_modules/moment/moment.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-moment/dist/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/sweetalert2/dist/sweetalert2.all.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/deprecations.ts","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","Topbar.jsx","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","Navbar.jsx","home/Carousel.jsx","home/Featured.jsx","home/Categories.jsx","home/FeaturedProduct.jsx","home/Offer.jsx","../node_modules/swiper/shared/ssr-window.esm.mjs","../node_modules/swiper/shared/utils.mjs","../node_modules/swiper/shared/swiper-core.mjs","../node_modules/swiper/shared/update-swiper.mjs","../node_modules/swiper/swiper-react.mjs","../node_modules/swiper/shared/update-on-virtual-data.mjs","../node_modules/swiper/shared/create-element-if-not-defined.mjs","../node_modules/swiper/modules/navigation.mjs","../node_modules/swiper/shared/classes-to-selector.mjs","../node_modules/swiper/modules/pagination.mjs","../node_modules/swiper/modules/autoplay.mjs","home/Vendor.jsx","Footer.jsx","home/Home.jsx","BackToTop.jsx","shop/Breadcrumb.jsx","shop/ShopProduct.jsx","shop/Shop.jsx","../node_modules/react-toastify/node_modules/clsx/dist/clsx.mjs","shopdetails/ShopD.jsx","shopdetails/ShopDetailProduct.jsx","shopdetails/ShopDetails.jsx","shopingCart/Cart.jsx","shopingCart/ShopingCart.jsx","checkout/BillingAddress.jsx","checkout/Checkout.jsx","contact/ContactUs.jsx","contact/Contact.jsx","products/Products.jsx","products/AllProducts.jsx","signIn/SignIn.jsx","signIn/Login.jsx","signUp/SignUp.jsx","signUp/Registration.jsx","components/AdminLogin.js","components/Header.js","components/Footer.js","components/SideMenu.js","components/Dashboard.js","components/AdminProfile.js","components/user/Add.js","../node_modules/react-switch/dist/index.prod.mjs","../node_modules/xlsx/xlsx.mjs","../node_modules/@mui/material/node_modules/clsx/dist/clsx.mjs","../node_modules/@mui/utils/esm/composeClasses/composeClasses.js","../node_modules/@mui/material/utils/isHostComponent.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","../node_modules/@emotion/cache/node_modules/stylis/src/Utility.js","../node_modules/@emotion/cache/node_modules/stylis/src/Tokenizer.js","../node_modules/@emotion/cache/node_modules/stylis/src/Enum.js","../node_modules/@emotion/cache/node_modules/stylis/src/Serializer.js","../node_modules/@emotion/cache/node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/@emotion/cache/node_modules/stylis/src/Middleware.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/serialize/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","../node_modules/@emotion/serialize/node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js","../node_modules/@emotion/styled/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../node_modules/@mui/styled-engine/index.js","../node_modules/@mui/utils/esm/deepmerge/deepmerge.js","../node_modules/@mui/system/esm/createBreakpoints/createBreakpoints.js","../node_modules/@mui/system/esm/createTheme/shape.js","../node_modules/@mui/system/esm/breakpoints/breakpoints.js","../node_modules/@mui/system/esm/cssContainerQueries/cssContainerQueries.js","../node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js","../node_modules/@mui/utils/esm/capitalize/capitalize.js","../node_modules/@mui/system/esm/style/style.js","../node_modules/@mui/system/esm/merge/merge.js","../node_modules/@mui/system/esm/spacing/spacing.js","../node_modules/@mui/system/esm/memoize/memoize.js","../node_modules/@mui/system/esm/createTheme/createSpacing.js","../node_modules/@mui/system/esm/compose/compose.js","../node_modules/@mui/system/esm/borders/borders.js","../node_modules/@mui/system/esm/cssGrid/cssGrid.js","../node_modules/@mui/system/esm/palette/palette.js","../node_modules/@mui/system/esm/sizing/sizing.js","../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../node_modules/@mui/system/esm/createTheme/applyStyles.js","../node_modules/@mui/system/esm/createTheme/createTheme.js","../node_modules/@mui/system/esm/preprocessStyles.js","../node_modules/@mui/system/esm/createStyled/createStyled.js","../node_modules/@mui/utils/esm/clamp/clamp.js","../node_modules/@mui/system/esm/colorManipulator/colorManipulator.js","../node_modules/@mui/material/colors/common.js","../node_modules/@mui/material/colors/grey.js","../node_modules/@mui/material/colors/purple.js","../node_modules/@mui/material/colors/red.js","../node_modules/@mui/material/colors/orange.js","../node_modules/@mui/material/colors/blue.js","../node_modules/@mui/material/colors/lightBlue.js","../node_modules/@mui/material/colors/green.js","../node_modules/@mui/material/styles/createPalette.js","../node_modules/@mui/system/esm/cssVars/createGetCssVar.js","../node_modules/@mui/system/esm/cssVars/prepareTypographyVars.js","../node_modules/@mui/system/esm/cssVars/cssVarsParser.js","../node_modules/@mui/system/esm/cssVars/prepareCssVars.js","../node_modules/@mui/material/styles/createMixins.js","../node_modules/@mui/material/styles/createTypography.js","../node_modules/@mui/material/styles/shadows.js","../node_modules/@mui/material/styles/createTransitions.js","../node_modules/@mui/material/styles/zIndex.js","../node_modules/@mui/material/styles/stringifyTheme.js","../node_modules/@mui/material/styles/createThemeNoVars.js","../node_modules/@mui/material/styles/getOverlayAlpha.js","../node_modules/@mui/material/styles/createColorScheme.js","../node_modules/@mui/material/styles/shouldSkipGeneratingVar.js","../node_modules/@mui/material/styles/excludeVariablesFromRoot.js","../node_modules/@mui/material/styles/createGetSelector.js","../node_modules/@mui/material/styles/createThemeWithVars.js","../node_modules/@mui/system/esm/cssVars/getColorSchemeSelector.js","../node_modules/@mui/material/styles/createTheme.js","../node_modules/@mui/material/styles/defaultTheme.js","../node_modules/@mui/material/styles/identifier.js","../node_modules/@mui/material/styles/slotShouldForwardProp.js","../node_modules/@mui/material/styles/rootShouldForwardProp.js","../node_modules/@mui/material/styles/styled.js","../node_modules/@mui/system/esm/memoTheme.js","../node_modules/@mui/material/utils/memoTheme.js","../node_modules/@mui/utils/esm/resolveProps/resolveProps.js","../node_modules/@mui/system/esm/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js","../node_modules/@mui/utils/esm/setRef/setRef.js","../node_modules/@mui/utils/esm/useForkRef/useForkRef.js","../node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js","../node_modules/@mui/utils/esm/ownerWindow/ownerWindow.js","../node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","../node_modules/@mui/utils/esm/debounce/debounce.js","../node_modules/@mui/material/TextareaAutosize/TextareaAutosize.js","../node_modules/@mui/material/FormControl/formControlState.js","../node_modules/@mui/material/FormControl/FormControlContext.js","../node_modules/@mui/material/FormControl/useFormControl.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js","../node_modules/@mui/system/esm/useThemeWithoutDefault/useThemeWithoutDefault.js","../node_modules/@mui/system/esm/useTheme/useTheme.js","../node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js","../node_modules/@mui/material/GlobalStyles/GlobalStyles.js","../node_modules/@mui/material/utils/capitalize.js","../node_modules/@mui/material/utils/useForkRef.js","../node_modules/@mui/material/utils/useEnhancedEffect.js","../node_modules/@mui/material/InputBase/utils.js","../node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js","../node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js","../node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js","../node_modules/@mui/material/InputBase/inputBaseClasses.js","../node_modules/@mui/material/InputBase/InputBase.js","../node_modules/@mui/material/zero-styled/index.js","../node_modules/@mui/material/List/ListContext.js","../node_modules/@mui/utils/esm/isFocusVisible/isFocusVisible.js","../node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","../node_modules/@mui/material/utils/useEventCallback.js","../node_modules/@mui/utils/esm/useLazyRef/useLazyRef.js","../node_modules/@mui/material/useLazyRipple/useLazyRipple.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@mui/utils/esm/useOnMount/useOnMount.js","../node_modules/@mui/utils/esm/useTimeout/useTimeout.js","../node_modules/@mui/material/ButtonBase/Ripple.js","../node_modules/@mui/material/ButtonBase/touchRippleClasses.js","../node_modules/@mui/material/ButtonBase/TouchRipple.js","../node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","../node_modules/@mui/material/ButtonBase/ButtonBase.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","../node_modules/@mui/material/ListItemText/listItemTextClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/@mui/utils/esm/getReactElementRef/getReactElementRef.js","../node_modules/@mui/utils/esm/useId/useId.js","../node_modules/@mui/material/utils/ownerDocument.js","../node_modules/@mui/system/esm/RtlProvider/index.js","../node_modules/@mui/utils/esm/isHostComponent/isHostComponent.js","../node_modules/@mui/utils/esm/appendOwnerState/appendOwnerState.js","../node_modules/@mui/utils/node_modules/clsx/dist/clsx.mjs","../node_modules/@mui/utils/esm/extractEventHandlers/extractEventHandlers.js","../node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js","../node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js","../node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js","../node_modules/@mui/utils/esm/useSlotProps/useSlotProps.js","../node_modules/@mui/material/List/listClasses.js","../node_modules/@mui/material/List/List.js","../node_modules/@mui/utils/esm/getScrollbarSize/getScrollbarSize.js","../node_modules/@mui/material/utils/getScrollbarSize.js","../node_modules/@mui/material/utils/ownerWindow.js","../node_modules/@mui/material/MenuList/MenuList.js","../node_modules/@mui/material/utils/debounce.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@mui/material/styles/useTheme.js","../node_modules/@mui/material/transitions/utils.js","../node_modules/@mui/material/Grow/Grow.js","../node_modules/@mui/material/Unstable_TrapFocus/FocusTrap.js","../node_modules/@mui/material/Portal/Portal.js","../node_modules/@mui/material/utils/useSlot.js","../node_modules/@mui/material/Fade/Fade.js","../node_modules/@mui/material/Backdrop/backdropClasses.js","../node_modules/@mui/material/Backdrop/Backdrop.js","../node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js","../node_modules/@mui/material/Modal/ModalManager.js","../node_modules/@mui/material/Modal/useModal.js","../node_modules/@mui/material/Modal/modalClasses.js","../node_modules/@mui/material/Modal/Modal.js","../node_modules/@mui/material/Paper/paperClasses.js","../node_modules/@mui/material/Paper/Paper.js","../node_modules/@mui/material/Popover/popoverClasses.js","../node_modules/@mui/material/Popover/Popover.js","../node_modules/@mui/material/Menu/menuClasses.js","../node_modules/@mui/material/Menu/Menu.js","../node_modules/@mui/material/NativeSelect/nativeSelectClasses.js","../node_modules/@mui/material/NativeSelect/NativeSelectInput.js","../node_modules/@mui/material/utils/useControlled.js","../node_modules/@mui/utils/esm/useControlled/useControlled.js","../node_modules/@mui/material/Select/selectClasses.js","../node_modules/@mui/material/Select/SelectInput.js","../node_modules/@mui/material/SvgIcon/svgIconClasses.js","../node_modules/@mui/material/SvgIcon/SvgIcon.js","../node_modules/@mui/material/utils/createSvgIcon.js","../node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js","../node_modules/@mui/material/utils/createSimplePaletteValueFilter.js","../node_modules/@mui/material/Input/inputClasses.js","../node_modules/@mui/material/Input/Input.js","../node_modules/@mui/material/FilledInput/filledInputClasses.js","../node_modules/@mui/material/FilledInput/FilledInput.js","../node_modules/@mui/material/OutlinedInput/NotchedOutline.js","../node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js","../node_modules/@mui/material/OutlinedInput/OutlinedInput.js","../node_modules/@mui/material/Select/Select.js","../node_modules/@mui/material/Table/TableContext.js","../node_modules/@mui/material/Table/Tablelvl2Context.js","../node_modules/@mui/material/TableCell/tableCellClasses.js","../node_modules/@mui/material/TableCell/TableCell.js","../node_modules/@mui/material/Toolbar/toolbarClasses.js","../node_modules/@mui/material/Toolbar/Toolbar.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js","../node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js","../node_modules/@mui/material/IconButton/iconButtonClasses.js","../node_modules/@mui/material/IconButton/IconButton.js","../node_modules/@mui/material/internal/svg-icons/LastPage.js","../node_modules/@mui/material/internal/svg-icons/FirstPage.js","../node_modules/@mui/material/TablePagination/TablePaginationActions.js","../node_modules/@mui/material/utils/useId.js","../node_modules/@mui/material/TablePagination/tablePaginationClasses.js","../node_modules/@mui/material/TablePagination/TablePagination.js","components/user/User.js","components/user/Edit.js","components/category/AddCategory.js","components/category/Category.js","components/category/EditCategory.js","components/product/AddProduct.js","components/product/Product.js","components/product/EditProduct.js","components/contact/Contact.js","profile/Profile.jsx","profile/EditProfile.jsx","payment/SuccessPayment.jsx","payment/CancelPayment.jsx","components/order/Order.js","App.js","reportWebVitals.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","/*!\n * \n * jsPDF AutoTable plugin v3.8.4\n *\n * Copyright (c) 2024 Simon Bengtsson, https://github.com/simonbengtsson/jsPDF-AutoTable\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n *\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jspdf\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }())) : factory(root[\"jspdf\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(typeof globalThis !== 'undefined' ? globalThis : typeof this !== 'undefined' ? this : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : global , function(__WEBPACK_EXTERNAL_MODULE__964__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 172:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.CellHookData = exports.HookData = void 0;\nvar HookData = /** @class */ (function () {\n function HookData(doc, table, cursor) {\n this.table = table;\n this.pageNumber = table.pageNumber;\n this.pageCount = this.pageNumber;\n this.settings = table.settings;\n this.cursor = cursor;\n this.doc = doc.getDocument();\n }\n return HookData;\n}());\nexports.HookData = HookData;\nvar CellHookData = /** @class */ (function (_super) {\n __extends(CellHookData, _super);\n function CellHookData(doc, table, cell, row, column, cursor) {\n var _this = _super.call(this, doc, table, cursor) || this;\n _this.cell = cell;\n _this.row = row;\n _this.column = column;\n _this.section = row.section;\n return _this;\n }\n return CellHookData;\n}(HookData));\nexports.CellHookData = CellHookData;\n\n\n/***/ }),\n\n/***/ 340:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar htmlParser_1 = __webpack_require__(4);\nvar autoTableText_1 = __webpack_require__(136);\nvar documentHandler_1 = __webpack_require__(744);\nvar inputParser_1 = __webpack_require__(776);\nvar tableDrawer_1 = __webpack_require__(664);\nvar tableCalculator_1 = __webpack_require__(972);\nfunction default_1(jsPDF) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n jsPDF.API.autoTable = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var options;\n if (args.length === 1) {\n options = args[0];\n }\n else {\n console.error('Use of deprecated autoTable initiation');\n options = args[2] || {};\n options.columns = args[0];\n options.body = args[1];\n }\n var input = (0, inputParser_1.parseInput)(this, options);\n var table = (0, tableCalculator_1.createTable)(this, input);\n (0, tableDrawer_1.drawTable)(this, table);\n return this;\n };\n // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n jsPDF.API.lastAutoTable = false;\n jsPDF.API.previousAutoTable = false; // deprecated in v3\n jsPDF.API.autoTable.previous = false; // deprecated in v3\n jsPDF.API.autoTableText = function (text, x, y, styles) {\n (0, autoTableText_1.default)(text, x, y, styles, this);\n };\n jsPDF.API.autoTableSetDefaults = function (defaults) {\n documentHandler_1.DocHandler.setDefaults(defaults, this);\n return this;\n };\n jsPDF.autoTableSetDefaults = function (defaults, doc) {\n documentHandler_1.DocHandler.setDefaults(defaults, doc);\n };\n jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n var _a;\n if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n if (typeof window === 'undefined') {\n console.error('Cannot run autoTableHtmlToJson in non browser environment');\n return null;\n }\n var doc = new documentHandler_1.DocHandler(this);\n var _b = (0, htmlParser_1.parseHtml)(doc, tableElem, window, includeHiddenElements, false), head = _b.head, body = _b.body;\n var columns = ((_a = head[0]) === null || _a === void 0 ? void 0 : _a.map(function (c) { return c.content; })) || [];\n return { columns: columns, rows: body, data: body };\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableEndPosY = function () {\n console.error('Use of deprecated function: autoTableEndPosY. Use doc.lastAutoTable.finalY instead.');\n var prev = this.lastAutoTable;\n if (prev && prev.finalY) {\n return prev.finalY;\n }\n else {\n return 0;\n }\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPageContent = function (hook) {\n console.error('Use of deprecated function: autoTableAddPageContent. Use jsPDF.autoTableSetDefaults({didDrawPage: () => {}}) instead.');\n if (!jsPDF.API.autoTable.globalDefaults) {\n jsPDF.API.autoTable.globalDefaults = {};\n }\n jsPDF.API.autoTable.globalDefaults.addPageContent = hook;\n return this;\n };\n /**\n * @deprecated\n */\n jsPDF.API.autoTableAddPage = function () {\n console.error('Use of deprecated function: autoTableAddPage. Use doc.addPage()');\n this.addPage();\n return this;\n };\n}\nexports[\"default\"] = default_1;\n\n\n/***/ }),\n\n/***/ 136:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction default_1(text, x, y, styles, doc) {\n styles = styles || {};\n var PHYSICAL_LINE_HEIGHT = 1.15;\n var k = doc.internal.scaleFactor;\n var fontSize = doc.internal.getFontSize() / k;\n var lineHeightFactor = doc.getLineHeightFactor\n ? doc.getLineHeightFactor()\n : PHYSICAL_LINE_HEIGHT;\n var lineHeight = fontSize * lineHeightFactor;\n var splitRegex = /\\r\\n|\\r|\\n/g;\n var splitText = '';\n var lineCount = 1;\n if (styles.valign === 'middle' ||\n styles.valign === 'bottom' ||\n styles.halign === 'center' ||\n styles.halign === 'right') {\n splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n lineCount = splitText.length || 1;\n }\n // Align the top\n y += fontSize * (2 - PHYSICAL_LINE_HEIGHT);\n if (styles.valign === 'middle')\n y -= (lineCount / 2) * lineHeight;\n else if (styles.valign === 'bottom')\n y -= lineCount * lineHeight;\n if (styles.halign === 'center' || styles.halign === 'right') {\n var alignSize = fontSize;\n if (styles.halign === 'center')\n alignSize *= 0.5;\n if (splitText && lineCount >= 1) {\n for (var iLine = 0; iLine < splitText.length; iLine++) {\n doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n y += lineHeight;\n }\n return doc;\n }\n x -= doc.getStringUnitWidth(text) * alignSize;\n }\n if (styles.halign === 'justify') {\n doc.text(text, x, y, {\n maxWidth: styles.maxWidth || 100,\n align: 'justify',\n });\n }\n else {\n doc.text(text, x, y);\n }\n return doc;\n}\nexports[\"default\"] = default_1;\n\n\n/***/ }),\n\n/***/ 420:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getPageAvailableWidth = exports.parseSpacing = exports.getFillStyle = exports.addTableBorder = exports.getStringWidth = void 0;\nfunction getStringWidth(text, styles, doc) {\n doc.applyStyles(styles, true);\n var textArr = Array.isArray(text) ? text : [text];\n var widestLineWidth = textArr\n .map(function (text) { return doc.getTextWidth(text); })\n .reduce(function (a, b) { return Math.max(a, b); }, 0);\n return widestLineWidth;\n}\nexports.getStringWidth = getStringWidth;\nfunction addTableBorder(doc, table, startPos, cursor) {\n var lineWidth = table.settings.tableLineWidth;\n var lineColor = table.settings.tableLineColor;\n doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n var fillStyle = getFillStyle(lineWidth, false);\n if (fillStyle) {\n doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n }\n}\nexports.addTableBorder = addTableBorder;\nfunction getFillStyle(lineWidth, fillColor) {\n var drawLine = lineWidth > 0;\n var drawBackground = fillColor || fillColor === 0;\n if (drawLine && drawBackground) {\n return 'DF'; // Fill then stroke\n }\n else if (drawLine) {\n return 'S'; // Only stroke (transparent background)\n }\n else if (drawBackground) {\n return 'F'; // Only fill, no stroke\n }\n else {\n return null;\n }\n}\nexports.getFillStyle = getFillStyle;\nfunction parseSpacing(value, defaultValue) {\n var _a, _b, _c, _d;\n value = value || defaultValue;\n if (Array.isArray(value)) {\n if (value.length >= 4) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[3],\n };\n }\n else if (value.length === 3) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[2],\n left: value[1],\n };\n }\n else if (value.length === 2) {\n return {\n top: value[0],\n right: value[1],\n bottom: value[0],\n left: value[1],\n };\n }\n else if (value.length === 1) {\n value = value[0];\n }\n else {\n value = defaultValue;\n }\n }\n if (typeof value === 'object') {\n if (typeof value.vertical === 'number') {\n value.top = value.vertical;\n value.bottom = value.vertical;\n }\n if (typeof value.horizontal === 'number') {\n value.right = value.horizontal;\n value.left = value.horizontal;\n }\n return {\n left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n };\n }\n if (typeof value !== 'number') {\n value = defaultValue;\n }\n return { top: value, right: value, bottom: value, left: value };\n}\nexports.parseSpacing = parseSpacing;\nfunction getPageAvailableWidth(doc, table) {\n var margins = parseSpacing(table.settings.margin, 0);\n return doc.pageSize().width - (margins.left + margins.right);\n}\nexports.getPageAvailableWidth = getPageAvailableWidth;\n\n\n/***/ }),\n\n/***/ 796:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.getTheme = exports.defaultStyles = exports.HtmlRowInput = void 0;\nvar HtmlRowInput = /** @class */ (function (_super) {\n __extends(HtmlRowInput, _super);\n function HtmlRowInput(element) {\n var _this = _super.call(this) || this;\n _this._element = element;\n return _this;\n }\n return HtmlRowInput;\n}(Array));\nexports.HtmlRowInput = HtmlRowInput;\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n return {\n font: 'helvetica', // helvetica, times, courier\n fontStyle: 'normal', // normal, bold, italic, bolditalic\n overflow: 'linebreak', // linebreak, ellipsize, visible or hidden\n fillColor: false, // Either false for transparent, rbg array e.g. [255, 255, 255] or gray level e.g 200\n textColor: 20,\n halign: 'left', // left, center, right, justify\n valign: 'top', // top, middle, bottom\n fontSize: 10,\n cellPadding: 5 / scaleFactor, // number or {top,left,right,left,vertical,horizontal}\n lineColor: 200,\n lineWidth: 0,\n cellWidth: 'auto', // 'auto'|'wrap'|number\n minCellHeight: 0,\n minCellWidth: 0,\n };\n}\nexports.defaultStyles = defaultStyles;\nfunction getTheme(name) {\n var themes = {\n striped: {\n table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n body: {},\n foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n alternateRow: { fillColor: 245 },\n },\n grid: {\n table: {\n fillColor: 255,\n textColor: 80,\n fontStyle: 'normal',\n lineWidth: 0.1,\n },\n head: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n body: {},\n foot: {\n textColor: 255,\n fillColor: [26, 188, 156],\n fontStyle: 'bold',\n lineWidth: 0,\n },\n alternateRow: {},\n },\n plain: {\n head: { fontStyle: 'bold' },\n foot: { fontStyle: 'bold' },\n },\n };\n return themes[name];\n}\nexports.getTheme = getTheme;\n\n\n/***/ }),\n\n/***/ 903:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseCss = void 0;\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nvar common_1 = __webpack_require__(420);\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n var result = {};\n var pxScaleFactor = 96 / 72;\n var backgroundColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['backgroundColor'];\n });\n if (backgroundColor != null)\n result.fillColor = backgroundColor;\n var textColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)['color'];\n });\n if (textColor != null)\n result.textColor = textColor;\n var padding = parsePadding(style, scaleFactor);\n if (padding)\n result.cellPadding = padding;\n var borderColorSide = 'borderTopColor';\n var finalScaleFactor = pxScaleFactor * scaleFactor;\n var btw = style.borderTopWidth;\n if (style.borderBottomWidth === btw &&\n style.borderRightWidth === btw &&\n style.borderLeftWidth === btw) {\n var borderWidth = (parseFloat(btw) || 0) / finalScaleFactor;\n if (borderWidth)\n result.lineWidth = borderWidth;\n }\n else {\n result.lineWidth = {\n top: (parseFloat(style.borderTopWidth) || 0) / finalScaleFactor,\n right: (parseFloat(style.borderRightWidth) || 0) / finalScaleFactor,\n bottom: (parseFloat(style.borderBottomWidth) || 0) / finalScaleFactor,\n left: (parseFloat(style.borderLeftWidth) || 0) / finalScaleFactor,\n };\n // Choose border color of first available side\n // could be improved by supporting object as lineColor\n if (!result.lineWidth.top) {\n if (result.lineWidth.right) {\n borderColorSide = 'borderRightColor';\n }\n else if (result.lineWidth.bottom) {\n borderColorSide = 'borderBottomColor';\n }\n else if (result.lineWidth.left) {\n borderColorSide = 'borderLeftColor';\n }\n }\n }\n var borderColor = parseColor(element, function (elem) {\n return window.getComputedStyle(elem)[borderColorSide];\n });\n if (borderColor != null)\n result.lineColor = borderColor;\n var accepted = ['left', 'right', 'center', 'justify'];\n if (accepted.indexOf(style.textAlign) !== -1) {\n result.halign = style.textAlign;\n }\n accepted = ['middle', 'bottom', 'top'];\n if (accepted.indexOf(style.verticalAlign) !== -1) {\n result.valign = style.verticalAlign;\n }\n var res = parseInt(style.fontSize || '');\n if (!isNaN(res))\n result.fontSize = res / pxScaleFactor;\n var fontStyle = parseFontStyle(style);\n if (fontStyle)\n result.fontStyle = fontStyle;\n var font = (style.fontFamily || '').toLowerCase();\n if (supportedFonts.indexOf(font) !== -1) {\n result.font = font;\n }\n return result;\n}\nexports.parseCss = parseCss;\nfunction parseFontStyle(style) {\n var res = '';\n if (style.fontWeight === 'bold' ||\n style.fontWeight === 'bolder' ||\n parseInt(style.fontWeight) >= 700) {\n res = 'bold';\n }\n if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n res += 'italic';\n }\n return res;\n}\nfunction parseColor(element, styleGetter) {\n var cssColor = realColor(element, styleGetter);\n if (!cssColor)\n return null;\n var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n if (!rgba || !Array.isArray(rgba)) {\n return null;\n }\n var color = [\n parseInt(rgba[1]),\n parseInt(rgba[2]),\n parseInt(rgba[3]),\n ];\n var alpha = parseInt(rgba[4]);\n if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n return null;\n }\n return color;\n}\nfunction realColor(elem, styleGetter) {\n var bg = styleGetter(elem);\n if (bg === 'rgba(0, 0, 0, 0)' ||\n bg === 'transparent' ||\n bg === 'initial' ||\n bg === 'inherit') {\n if (elem.parentElement == null) {\n return null;\n }\n return realColor(elem.parentElement, styleGetter);\n }\n else {\n return bg;\n }\n}\nfunction parsePadding(style, scaleFactor) {\n var val = [\n style.paddingTop,\n style.paddingRight,\n style.paddingBottom,\n style.paddingLeft,\n ];\n var pxScaleFactor = 96 / (72 / scaleFactor);\n var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n var inputPadding = val.map(function (n) {\n return parseInt(n || '0') / pxScaleFactor;\n });\n var padding = (0, common_1.parseSpacing)(inputPadding, 0);\n if (linePadding > padding.top) {\n padding.top = linePadding;\n }\n if (linePadding > padding.bottom) {\n padding.bottom = linePadding;\n }\n return padding;\n}\n\n\n/***/ }),\n\n/***/ 744:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.DocHandler = void 0;\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n function DocHandler(jsPDFDocument) {\n this.jsPDFDocument = jsPDFDocument;\n this.userStyles = {\n // Black for versions of jspdf without getTextColor\n textColor: jsPDFDocument.getTextColor\n ? this.jsPDFDocument.getTextColor()\n : 0,\n fontSize: jsPDFDocument.internal.getFontSize(),\n fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n font: jsPDFDocument.internal.getFont().fontName,\n // 0 for versions of jspdf without getLineWidth\n lineWidth: jsPDFDocument.getLineWidth\n ? this.jsPDFDocument.getLineWidth()\n : 0,\n // Black for versions of jspdf without getDrawColor\n lineColor: jsPDFDocument.getDrawColor\n ? this.jsPDFDocument.getDrawColor()\n : 0,\n };\n }\n DocHandler.setDefaults = function (defaults, doc) {\n if (doc === void 0) { doc = null; }\n if (doc) {\n doc.__autoTableDocumentDefaults = defaults;\n }\n else {\n globalDefaults = defaults;\n }\n };\n DocHandler.unifyColor = function (c) {\n if (Array.isArray(c)) {\n return c;\n }\n else if (typeof c === 'number') {\n return [c, c, c];\n }\n else if (typeof c === 'string') {\n return [c];\n }\n else {\n return null;\n }\n };\n DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n // Font style needs to be applied before font\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n var _a, _b, _c;\n if (fontOnly === void 0) { fontOnly = false; }\n if (styles.fontStyle)\n this.jsPDFDocument.setFontStyle &&\n this.jsPDFDocument.setFontStyle(styles.fontStyle);\n var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n if (styles.font)\n fontName = styles.font;\n if (styles.fontStyle) {\n fontStyle = styles.fontStyle;\n var availableFontStyles = this.getFontList()[fontName];\n if (availableFontStyles &&\n availableFontStyles.indexOf(fontStyle) === -1) {\n // Common issue was that the default bold in headers\n // made custom fonts not work. For example:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n this.jsPDFDocument.setFontStyle &&\n this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n fontStyle = availableFontStyles[0];\n }\n }\n this.jsPDFDocument.setFont(fontName, fontStyle);\n if (styles.fontSize)\n this.jsPDFDocument.setFontSize(styles.fontSize);\n if (fontOnly) {\n return; // Performance improvement\n }\n var color = DocHandler.unifyColor(styles.fillColor);\n if (color)\n (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n color = DocHandler.unifyColor(styles.textColor);\n if (color)\n (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n color = DocHandler.unifyColor(styles.lineColor);\n if (color)\n (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n if (typeof styles.lineWidth === 'number') {\n this.jsPDFDocument.setLineWidth(styles.lineWidth);\n }\n };\n DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n return this.jsPDFDocument.splitTextToSize(text, size, opts);\n };\n /**\n * Adds a rectangle to the PDF\n * @param x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param width Width (in units declared at inception of PDF document)\n * @param height Height (in units declared at inception of PDF document)\n * @param fillStyle A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke.\n */\n DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n // null is excluded from fillStyle possible values because it isn't needed\n // and is prone to bugs as it's used to postpone setting the style\n // https://rawgit.com/MrRio/jsPDF/master/docs/jsPDF.html#rect\n return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n };\n DocHandler.prototype.getLastAutoTable = function () {\n return this.jsPDFDocument.lastAutoTable || null;\n };\n DocHandler.prototype.getTextWidth = function (text) {\n return this.jsPDFDocument.getTextWidth(text);\n };\n DocHandler.prototype.getDocument = function () {\n return this.jsPDFDocument;\n };\n DocHandler.prototype.setPage = function (page) {\n this.jsPDFDocument.setPage(page);\n };\n DocHandler.prototype.addPage = function () {\n return this.jsPDFDocument.addPage();\n };\n DocHandler.prototype.getFontList = function () {\n return this.jsPDFDocument.getFontList();\n };\n DocHandler.prototype.getGlobalOptions = function () {\n return globalDefaults || {};\n };\n DocHandler.prototype.getDocumentOptions = function () {\n return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n };\n DocHandler.prototype.pageSize = function () {\n var pageSize = this.jsPDFDocument.internal.pageSize;\n // JSPDF 1.4 uses get functions instead of properties on pageSize\n if (pageSize.width == null) {\n pageSize = {\n width: pageSize.getWidth(),\n height: pageSize.getHeight(),\n };\n }\n return pageSize;\n };\n DocHandler.prototype.scaleFactor = function () {\n return this.jsPDFDocument.internal.scaleFactor;\n };\n DocHandler.prototype.getLineHeightFactor = function () {\n var doc = this.jsPDFDocument;\n return doc.getLineHeightFactor ? doc.getLineHeightFactor() : 1.15;\n };\n DocHandler.prototype.getLineHeight = function (fontSize) {\n return (fontSize / this.scaleFactor()) * this.getLineHeightFactor();\n };\n DocHandler.prototype.pageNumber = function () {\n var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n if (!pageInfo) {\n // Only recent versions of jspdf has pageInfo\n return this.jsPDFDocument.internal.getNumberOfPages();\n }\n return pageInfo.pageNumber;\n };\n return DocHandler;\n}());\nexports.DocHandler = DocHandler;\n\n\n/***/ }),\n\n/***/ 4:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseHtml = void 0;\nvar cssParser_1 = __webpack_require__(903);\nvar config_1 = __webpack_require__(796);\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n var _a, _b;\n if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n if (useCss === void 0) { useCss = false; }\n var tableElement;\n if (typeof input === 'string') {\n tableElement = window.document.querySelector(input);\n }\n else {\n tableElement = input;\n }\n var supportedFonts = Object.keys(doc.getFontList());\n var scaleFactor = doc.scaleFactor();\n var head = [], body = [], foot = [];\n if (!tableElement) {\n console.error('Html table could not be found with input: ', input);\n return { head: head, body: body, foot: foot };\n }\n for (var i = 0; i < tableElement.rows.length; i++) {\n var element = tableElement.rows[i];\n var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n if (!row)\n continue;\n if (tagName === 'thead') {\n head.push(row);\n }\n else if (tagName === 'tfoot') {\n foot.push(row);\n }\n else {\n // Add to body both if parent is tbody or table\n body.push(row);\n }\n }\n return { head: head, body: body, foot: foot };\n}\nexports.parseHtml = parseHtml;\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n var resultRow = new config_1.HtmlRowInput(row);\n for (var i = 0; i < row.cells.length; i++) {\n var cell = row.cells[i];\n var style_1 = window.getComputedStyle(cell);\n if (includeHidden || style_1.display !== 'none') {\n var cellStyles = void 0;\n if (useCss) {\n cellStyles = (0, cssParser_1.parseCss)(supportedFonts, cell, scaleFactor, style_1, window);\n }\n resultRow.push({\n rowSpan: cell.rowSpan,\n colSpan: cell.colSpan,\n styles: cellStyles,\n _element: cell,\n content: parseCellContent(cell),\n });\n }\n }\n var style = window.getComputedStyle(row);\n if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n return resultRow;\n }\n}\nfunction parseCellContent(orgCell) {\n // Work on cloned node to make sure no changes are applied to html table\n var cell = orgCell.cloneNode(true);\n // Remove extra space and line breaks in markup to make it more similar to\n // what would be shown in html\n cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n // Preserve
tags as line breaks in the pdf\n cell.innerHTML = cell.innerHTML\n .split(//) //start with ''.\n .map(function (part) { return part.trim(); })\n .join('\\n');\n // innerText for ie\n return cell.innerText || cell.textContent || '';\n}\n\n\n/***/ }),\n\n/***/ 776:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.parseInput = void 0;\nvar htmlParser_1 = __webpack_require__(4);\nvar polyfills_1 = __webpack_require__(356);\nvar common_1 = __webpack_require__(420);\nvar documentHandler_1 = __webpack_require__(744);\nvar inputValidator_1 = __webpack_require__(792);\nfunction parseInput(d, current) {\n var doc = new documentHandler_1.DocHandler(d);\n var document = doc.getDocumentOptions();\n var global = doc.getGlobalOptions();\n (0, inputValidator_1.default)(doc, global, document, current);\n var options = (0, polyfills_1.assign)({}, global, document, current);\n var win;\n if (typeof window !== 'undefined') {\n win = window;\n }\n var styles = parseStyles(global, document, current);\n var hooks = parseHooks(global, document, current);\n var settings = parseSettings(doc, options);\n var content = parseContent(doc, options, win);\n return {\n id: current.tableId,\n content: content,\n hooks: hooks,\n styles: styles,\n settings: settings,\n };\n}\nexports.parseInput = parseInput;\nfunction parseStyles(gInput, dInput, cInput) {\n var styleOptions = {\n styles: {},\n headStyles: {},\n bodyStyles: {},\n footStyles: {},\n alternateRowStyles: {},\n columnStyles: {},\n };\n var _loop_1 = function (prop) {\n if (prop === 'columnStyles') {\n var global_1 = gInput[prop];\n var document_1 = dInput[prop];\n var current = cInput[prop];\n styleOptions.columnStyles = (0, polyfills_1.assign)({}, global_1, document_1, current);\n }\n else {\n var allOptions = [gInput, dInput, cInput];\n var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n styleOptions[prop] = (0, polyfills_1.assign)({}, styles[0], styles[1], styles[2]);\n }\n };\n for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n var prop = _a[_i];\n _loop_1(prop);\n }\n return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n var allOptions = [global, document, current];\n var result = {\n didParseCell: [],\n willDrawCell: [],\n didDrawCell: [],\n willDrawPage: [],\n didDrawPage: [],\n };\n for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n var options = allOptions_1[_i];\n if (options.didParseCell)\n result.didParseCell.push(options.didParseCell);\n if (options.willDrawCell)\n result.willDrawCell.push(options.willDrawCell);\n if (options.didDrawCell)\n result.didDrawCell.push(options.didDrawCell);\n if (options.willDrawPage)\n result.willDrawPage.push(options.willDrawPage);\n if (options.didDrawPage)\n result.didDrawPage.push(options.didDrawPage);\n }\n return result;\n}\nfunction parseSettings(doc, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var margin = (0, common_1.parseSpacing)(options.margin, 40 / doc.scaleFactor());\n var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n var showFoot;\n if (options.showFoot === true) {\n showFoot = 'everyPage';\n }\n else if (options.showFoot === false) {\n showFoot = 'never';\n }\n else {\n showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n }\n var showHead;\n if (options.showHead === true) {\n showHead = 'everyPage';\n }\n else if (options.showHead === false) {\n showHead = 'never';\n }\n else {\n showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n }\n var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n var theme = options.theme || (useCss ? 'plain' : 'striped');\n var horizontalPageBreak = !!options.horizontalPageBreak;\n var horizontalPageBreakRepeat = (_e = options.horizontalPageBreakRepeat) !== null && _e !== void 0 ? _e : null;\n return {\n includeHiddenHtml: (_f = options.includeHiddenHtml) !== null && _f !== void 0 ? _f : false,\n useCss: useCss,\n theme: theme,\n startY: startY,\n margin: margin,\n pageBreak: (_g = options.pageBreak) !== null && _g !== void 0 ? _g : 'auto',\n rowPageBreak: (_h = options.rowPageBreak) !== null && _h !== void 0 ? _h : 'auto',\n tableWidth: (_j = options.tableWidth) !== null && _j !== void 0 ? _j : 'auto',\n showHead: showHead,\n showFoot: showFoot,\n tableLineWidth: (_k = options.tableLineWidth) !== null && _k !== void 0 ? _k : 0,\n tableLineColor: (_l = options.tableLineColor) !== null && _l !== void 0 ? _l : 200,\n horizontalPageBreak: horizontalPageBreak,\n horizontalPageBreakRepeat: horizontalPageBreakRepeat,\n horizontalPageBreakBehaviour: (_m = options.horizontalPageBreakBehaviour) !== null && _m !== void 0 ? _m : 'afterAllRows',\n };\n}\nfunction getStartY(doc, userStartY) {\n var previous = doc.getLastAutoTable();\n var sf = doc.scaleFactor();\n var currentPage = doc.pageNumber();\n var isSamePageAsPreviousTable = false;\n if (previous && previous.startPageNumber) {\n var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n isSamePageAsPreviousTable = endingPage === currentPage;\n }\n if (typeof userStartY === 'number') {\n return userStartY;\n }\n else if (userStartY == null || userStartY === false) {\n if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n // Some users had issues with overlapping tables when they used multiple\n // tables without setting startY so setting it here to a sensible default.\n return previous.finalY + 20 / sf;\n }\n }\n return null;\n}\nfunction parseContent(doc, options, window) {\n var head = options.head || [];\n var body = options.body || [];\n var foot = options.foot || [];\n if (options.html) {\n var hidden = options.includeHiddenHtml;\n if (window) {\n var htmlContent = (0, htmlParser_1.parseHtml)(doc, options.html, window, hidden, options.useCss) || {};\n head = htmlContent.head || head;\n body = htmlContent.body || head;\n foot = htmlContent.foot || head;\n }\n else {\n console.error('Cannot parse html in non browser environment');\n }\n }\n var columns = options.columns || parseColumns(head, body, foot);\n return {\n columns: columns,\n head: head,\n body: body,\n foot: foot,\n };\n}\nfunction parseColumns(head, body, foot) {\n var firstRow = head[0] || body[0] || foot[0] || [];\n var result = [];\n Object.keys(firstRow)\n .filter(function (key) { return key !== '_element'; })\n .forEach(function (key) {\n var colSpan = 1;\n var input;\n if (Array.isArray(firstRow)) {\n input = firstRow[parseInt(key)];\n }\n else {\n input = firstRow[key];\n }\n if (typeof input === 'object' && !Array.isArray(input)) {\n colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n }\n for (var i = 0; i < colSpan; i++) {\n var id = void 0;\n if (Array.isArray(firstRow)) {\n id = result.length;\n }\n else {\n id = key + (i > 0 ? \"_\".concat(i) : '');\n }\n var rowResult = { dataKey: id };\n result.push(rowResult);\n }\n });\n return result;\n}\n\n\n/***/ }),\n\n/***/ 792:\n/***/ (function(__unused_webpack_module, exports) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nfunction default_1(doc, global, document, current) {\n var _loop_1 = function (options) {\n if (options && typeof options !== 'object') {\n console.error('The options parameter should be of type object, is: ' + typeof options);\n }\n if (typeof options.extendWidth !== 'undefined') {\n options.tableWidth = options.extendWidth ? 'auto' : 'wrap';\n console.error('Use of deprecated option: extendWidth, use tableWidth instead.');\n }\n if (typeof options.margins !== 'undefined') {\n if (typeof options.margin === 'undefined')\n options.margin = options.margins;\n console.error('Use of deprecated option: margins, use margin instead.');\n }\n if (options.startY && typeof options.startY !== 'number') {\n console.error('Invalid value for startY option', options.startY);\n delete options.startY;\n }\n if (!options.didDrawPage &&\n (options.afterPageContent ||\n options.beforePageContent ||\n options.afterPageAdd)) {\n console.error('The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead');\n options.didDrawPage = function (data) {\n doc.applyStyles(doc.userStyles);\n if (options.beforePageContent)\n options.beforePageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageContent)\n options.afterPageContent(data);\n doc.applyStyles(doc.userStyles);\n if (options.afterPageAdd && data.pageNumber > 1) {\n ;\n data.afterPageAdd(data);\n }\n doc.applyStyles(doc.userStyles);\n };\n }\n ;\n [\n 'createdHeaderCell',\n 'drawHeaderRow',\n 'drawRow',\n 'drawHeaderCell',\n ].forEach(function (name) {\n if (options[name]) {\n console.error(\"The \\\"\".concat(name, \"\\\" hook has changed in version 3.0, check the changelog for how to migrate.\"));\n }\n });\n [\n ['showFoot', 'showFooter'],\n ['showHead', 'showHeader'],\n ['didDrawPage', 'addPageContent'],\n ['didParseCell', 'createdCell'],\n ['headStyles', 'headerStyles'],\n ].forEach(function (_a) {\n var current = _a[0], deprecated = _a[1];\n if (options[deprecated]) {\n console.error(\"Use of deprecated option \".concat(deprecated, \". Use \").concat(current, \" instead\"));\n options[current] = options[deprecated];\n }\n });\n [\n ['padding', 'cellPadding'],\n ['lineHeight', 'rowHeight'],\n 'fontSize',\n 'overflow',\n ].forEach(function (o) {\n var deprecatedOption = typeof o === 'string' ? o : o[0];\n var style = typeof o === 'string' ? o : o[1];\n if (typeof options[deprecatedOption] !== 'undefined') {\n if (typeof options.styles[style] === 'undefined') {\n options.styles[style] = options[deprecatedOption];\n }\n console.error('Use of deprecated option: ' +\n deprecatedOption +\n ', use the style ' +\n style +\n ' instead.');\n }\n });\n for (var _b = 0, _c = [\n 'styles',\n 'bodyStyles',\n 'headStyles',\n 'footStyles',\n ]; _b < _c.length; _b++) {\n var styleProp = _c[_b];\n checkStyles(options[styleProp] || {});\n }\n var columnStyles = options['columnStyles'] || {};\n for (var _d = 0, _e = Object.keys(columnStyles); _d < _e.length; _d++) {\n var key = _e[_d];\n checkStyles(columnStyles[key] || {});\n }\n };\n for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n var options = _a[_i];\n _loop_1(options);\n }\n}\nexports[\"default\"] = default_1;\nfunction checkStyles(styles) {\n if (styles.rowHeight) {\n console.error('Use of deprecated style rowHeight. It is renamed to minCellHeight.');\n if (!styles.minCellHeight) {\n styles.minCellHeight = styles.rowHeight;\n }\n }\n else if (styles.columnWidth) {\n console.error('Use of deprecated style columnWidth. It is renamed to cellWidth.');\n if (!styles.cellWidth) {\n styles.cellWidth = styles.columnWidth;\n }\n }\n}\n\n\n/***/ }),\n\n/***/ 260:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Column = exports.Cell = exports.Row = exports.Table = void 0;\nvar config_1 = __webpack_require__(796);\nvar HookData_1 = __webpack_require__(172);\nvar common_1 = __webpack_require__(420);\nvar Table = /** @class */ (function () {\n function Table(input, content) {\n this.pageNumber = 1;\n // Deprecated, use pageNumber instead\n // Not using getter since:\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/596\n this.pageCount = 1;\n this.id = input.id;\n this.settings = input.settings;\n this.styles = input.styles;\n this.hooks = input.hooks;\n this.columns = content.columns;\n this.head = content.head;\n this.body = content.body;\n this.foot = content.foot;\n }\n Table.prototype.getHeadHeight = function (columns) {\n return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.getFootHeight = function (columns) {\n return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n };\n Table.prototype.allRows = function () {\n return this.head.concat(this.body).concat(this.foot);\n };\n Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var data = new HookData_1.CellHookData(doc, this, cell, row, column, cursor);\n var result = handler(data) === false;\n // Make sure text is always string[] since user can assign string\n cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n if (result) {\n return false;\n }\n }\n return true;\n };\n Table.prototype.callEndPageHooks = function (doc, cursor) {\n doc.applyStyles(doc.userStyles);\n for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.callWillDrawPageHooks = function (doc, cursor) {\n for (var _i = 0, _a = this.hooks.willDrawPage; _i < _a.length; _i++) {\n var handler = _a[_i];\n handler(new HookData_1.HookData(doc, this, cursor));\n }\n };\n Table.prototype.getWidth = function (pageWidth) {\n if (typeof this.settings.tableWidth === 'number') {\n return this.settings.tableWidth;\n }\n else if (this.settings.tableWidth === 'wrap') {\n var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n return wrappedWidth;\n }\n else {\n var margin = this.settings.margin;\n return pageWidth - margin.left - margin.right;\n }\n };\n return Table;\n}());\nexports.Table = Table;\nvar Row = /** @class */ (function () {\n function Row(raw, index, section, cells, spansMultiplePages) {\n if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n this.height = 0;\n this.raw = raw;\n if (raw instanceof config_1.HtmlRowInput) {\n this.raw = raw._element;\n this.element = raw._element;\n }\n this.index = index;\n this.section = section;\n this.cells = cells;\n this.spansMultiplePages = spansMultiplePages;\n }\n Row.prototype.getMaxCellHeight = function (columns) {\n var _this = this;\n return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n };\n Row.prototype.hasRowSpan = function (columns) {\n var _this = this;\n return (columns.filter(function (column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return false;\n return cell.rowSpan > 1;\n }).length > 0);\n };\n Row.prototype.canEntireRowFit = function (height, columns) {\n return this.getMaxCellHeight(columns) <= height;\n };\n Row.prototype.getMinimumRowHeight = function (columns, doc) {\n var _this = this;\n return columns.reduce(function (acc, column) {\n var cell = _this.cells[column.index];\n if (!cell)\n return 0;\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var oneRowHeight = vPadding + lineHeight;\n return oneRowHeight > acc ? oneRowHeight : acc;\n }, 0);\n };\n return Row;\n}());\nexports.Row = Row;\nvar Cell = /** @class */ (function () {\n function Cell(raw, styles, section) {\n var _a, _b;\n this.contentHeight = 0;\n this.contentWidth = 0;\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.height = 0;\n this.x = 0;\n this.y = 0;\n this.styles = styles;\n this.section = section;\n this.raw = raw;\n var content = raw;\n if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n this.rowSpan = raw.rowSpan || 1;\n this.colSpan = raw.colSpan || 1;\n content = (_b = (_a = raw.content) !== null && _a !== void 0 ? _a : raw.title) !== null && _b !== void 0 ? _b : raw;\n if (raw._element) {\n this.raw = raw._element;\n }\n }\n else {\n this.rowSpan = 1;\n this.colSpan = 1;\n }\n // Stringify 0 and false, but not undefined or null\n var text = content != null ? '' + content : '';\n var splitRegex = /\\r\\n|\\r|\\n/g;\n this.text = text.split(splitRegex);\n }\n Cell.prototype.getTextPos = function () {\n var y;\n if (this.styles.valign === 'top') {\n y = this.y + this.padding('top');\n }\n else if (this.styles.valign === 'bottom') {\n y = this.y + this.height - this.padding('bottom');\n }\n else {\n var netHeight = this.height - this.padding('vertical');\n y = this.y + netHeight / 2 + this.padding('top');\n }\n var x;\n if (this.styles.halign === 'right') {\n x = this.x + this.width - this.padding('right');\n }\n else if (this.styles.halign === 'center') {\n var netWidth = this.width - this.padding('horizontal');\n x = this.x + netWidth / 2 + this.padding('left');\n }\n else {\n x = this.x + this.padding('left');\n }\n return { x: x, y: y };\n };\n // TODO (v4): replace parameters with only (lineHeight)\n Cell.prototype.getContentHeight = function (scaleFactor, lineHeightFactor) {\n if (lineHeightFactor === void 0) { lineHeightFactor = 1.15; }\n var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n var lineHeight = (this.styles.fontSize / scaleFactor) * lineHeightFactor;\n var height = lineCount * lineHeight + this.padding('vertical');\n return Math.max(height, this.styles.minCellHeight);\n };\n Cell.prototype.padding = function (name) {\n var padding = (0, common_1.parseSpacing)(this.styles.cellPadding, 0);\n if (name === 'vertical') {\n return padding.top + padding.bottom;\n }\n else if (name === 'horizontal') {\n return padding.left + padding.right;\n }\n else {\n return padding[name];\n }\n };\n return Cell;\n}());\nexports.Cell = Cell;\nvar Column = /** @class */ (function () {\n function Column(dataKey, raw, index) {\n this.wrappedWidth = 0;\n this.minReadableWidth = 0;\n this.minWidth = 0;\n this.width = 0;\n this.dataKey = dataKey;\n this.raw = raw;\n this.index = index;\n }\n Column.prototype.getMaxCustomCellWidth = function (table) {\n var max = 0;\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n var cell = row.cells[this.index];\n if (cell && typeof cell.styles.cellWidth === 'number') {\n max = Math.max(max, cell.styles.cellWidth);\n }\n }\n return max;\n };\n return Column;\n}());\nexports.Column = Column;\n\n\n/***/ }),\n\n/***/ 356:\n/***/ (function(__unused_webpack_module, exports) {\n\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.assign = void 0;\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n var to = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n // eslint-disable-next-line prefer-rest-params\n var nextSource = arguments[index];\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n}\nexports.assign = assign;\n\n\n/***/ }),\n\n/***/ 972:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.createTable = void 0;\nvar documentHandler_1 = __webpack_require__(744);\nvar models_1 = __webpack_require__(260);\nvar widthCalculator_1 = __webpack_require__(324);\nvar config_1 = __webpack_require__(796);\nvar polyfills_1 = __webpack_require__(356);\nfunction createTable(jsPDFDoc, input) {\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n var content = parseContent(input, doc.scaleFactor());\n var table = new models_1.Table(input, content);\n (0, widthCalculator_1.calculateWidths)(doc, table);\n doc.applyStyles(doc.userStyles);\n return table;\n}\nexports.createTable = createTable;\nfunction parseContent(input, sf) {\n var content = input.content;\n var columns = createColumns(content.columns);\n // If no head or foot is set, try generating it with content from columns\n if (content.head.length === 0) {\n var sectionRow = generateSectionRow(columns, 'head');\n if (sectionRow)\n content.head.push(sectionRow);\n }\n if (content.foot.length === 0) {\n var sectionRow = generateSectionRow(columns, 'foot');\n if (sectionRow)\n content.foot.push(sectionRow);\n }\n var theme = input.settings.theme;\n var styles = input.styles;\n return {\n columns: columns,\n head: parseSection('head', content.head, columns, styles, theme, sf),\n body: parseSection('body', content.body, columns, styles, theme, sf),\n foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n var rowSpansLeftForColumn = {};\n var result = sectionRows.map(function (rawRow, rowIndex) {\n var skippedRowForRowSpans = 0;\n var cells = {};\n var colSpansAdded = 0;\n var columnSpansLeft = 0;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n if (rowSpansLeftForColumn[column.index] == null ||\n rowSpansLeftForColumn[column.index].left === 0) {\n if (columnSpansLeft === 0) {\n var rawCell = void 0;\n if (Array.isArray(rawRow)) {\n rawCell =\n rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n }\n else {\n rawCell = rawRow[column.dataKey];\n }\n var cellInputStyles = {};\n if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n }\n var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n var cell = new models_1.Cell(rawCell, styles, sectionName);\n // dataKey is not used internally no more but keep for\n // backwards compat in hooks\n cells[column.dataKey] = cell;\n cells[column.index] = cell;\n columnSpansLeft = cell.colSpan - 1;\n rowSpansLeftForColumn[column.index] = {\n left: cell.rowSpan - 1,\n times: columnSpansLeft,\n };\n }\n else {\n columnSpansLeft--;\n colSpansAdded++;\n }\n }\n else {\n rowSpansLeftForColumn[column.index].left--;\n columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n skippedRowForRowSpans++;\n }\n }\n return new models_1.Row(rawRow, rowIndex, sectionName, cells);\n });\n return result;\n}\nfunction generateSectionRow(columns, section) {\n var sectionRow = {};\n columns.forEach(function (col) {\n if (col.raw != null) {\n var title = getSectionTitle(section, col.raw);\n if (title != null)\n sectionRow[col.dataKey] = title;\n }\n });\n return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n if (section === 'head') {\n if (typeof column === 'object') {\n return column.header || column.title || null;\n }\n else if (typeof column === 'string' || typeof column === 'number') {\n return column;\n }\n }\n else if (section === 'foot' && typeof column === 'object') {\n return column.footer;\n }\n return null;\n}\nfunction createColumns(columns) {\n return columns.map(function (input, index) {\n var _a, _b;\n var key;\n if (typeof input === 'object') {\n key = (_b = (_a = input.dataKey) !== null && _a !== void 0 ? _a : input.key) !== null && _b !== void 0 ? _b : index;\n }\n else {\n key = index;\n }\n return new models_1.Column(key, input, index);\n });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n var theme = (0, config_1.getTheme)(themeName);\n var sectionStyles;\n if (sectionName === 'head') {\n sectionStyles = styles.headStyles;\n }\n else if (sectionName === 'body') {\n sectionStyles = styles.bodyStyles;\n }\n else if (sectionName === 'foot') {\n sectionStyles = styles.footStyles;\n }\n var otherStyles = (0, polyfills_1.assign)({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n var columnStyles = styles.columnStyles[column.dataKey] ||\n styles.columnStyles[column.index] ||\n {};\n var colStyles = sectionName === 'body' ? columnStyles : {};\n var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n ? (0, polyfills_1.assign)({}, theme.alternateRow, styles.alternateRowStyles)\n : {};\n var defaultStyle = (0, config_1.defaultStyles)(scaleFactor);\n var themeStyles = (0, polyfills_1.assign)({}, defaultStyle, otherStyles, rowStyles, colStyles);\n return (0, polyfills_1.assign)(themeStyles, cellInputStyles);\n}\n\n\n/***/ }),\n\n/***/ 664:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.addPage = exports.drawTable = void 0;\nvar common_1 = __webpack_require__(420);\nvar models_1 = __webpack_require__(260);\nvar documentHandler_1 = __webpack_require__(744);\nvar polyfills_1 = __webpack_require__(356);\nvar autoTableText_1 = __webpack_require__(136);\nvar tablePrinter_1 = __webpack_require__(224);\nfunction drawTable(jsPDFDoc, table) {\n var settings = table.settings;\n var startY = settings.startY;\n var margin = settings.margin;\n var cursor = {\n x: margin.left,\n y: startY,\n };\n var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n if (settings.pageBreak === 'avoid') {\n var rows = table.body;\n var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n minTableBottomPos += tableHeight;\n }\n var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n if (settings.pageBreak === 'always' ||\n (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n nextPage(doc);\n cursor.y = margin.top;\n }\n table.callWillDrawPageHooks(doc, cursor);\n var startPos = (0, polyfills_1.assign)({}, cursor);\n table.startPageNumber = doc.pageNumber();\n if (settings.horizontalPageBreak) {\n // managed flow for split columns\n printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n }\n else {\n // normal flow\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' ||\n settings.showHead === 'everyPage') {\n table.head.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n });\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) {\n return printRow(doc, table, row, cursor, table.columns);\n });\n }\n }\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n table.callEndPageHooks(doc, cursor);\n table.finalY = cursor.y;\n jsPDFDoc.lastAutoTable = table;\n jsPDFDoc.previousAutoTable = table; // Deprecated\n if (jsPDFDoc.autoTable)\n jsPDFDoc.autoTable.previous = table; // Deprecated\n doc.applyStyles(doc.userStyles);\n}\nexports.drawTable = drawTable;\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n // calculate width of columns and render only those which can fit into page\n var allColumnsCanFitResult = (0, tablePrinter_1.calculateAllColumnsCanFitInPage)(doc, table);\n var settings = table.settings;\n if (settings.horizontalPageBreakBehaviour === 'afterAllRows') {\n allColumnsCanFitResult.forEach(function (colsAndIndexes, index) {\n doc.applyStyles(doc.userStyles);\n // add page to print next columns in new page\n if (index > 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n }\n else {\n // print head for selected columns\n printHead(doc, table, cursor, colsAndIndexes.columns);\n }\n // print body & footer for selected columns\n printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n }\n else {\n var lastRowIndexOfLastPage_1 = -1;\n var firstColumnsToFitResult = allColumnsCanFitResult[0];\n var _loop_1 = function () {\n // Print the first columns, taking note of the last row printed\n var lastPrintedRowIndex = lastRowIndexOfLastPage_1;\n if (firstColumnsToFitResult) {\n doc.applyStyles(doc.userStyles);\n var firstColumnsToFit = firstColumnsToFitResult.columns;\n if (lastRowIndexOfLastPage_1 >= 0) {\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, firstColumnsToFit, true);\n }\n else {\n printHead(doc, table, cursor, firstColumnsToFit);\n }\n lastPrintedRowIndex = printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, firstColumnsToFit);\n printFoot(doc, table, cursor, firstColumnsToFit);\n }\n // Check how many rows were printed, so that the next columns would not print more rows than that\n var maxNumberOfRows = lastPrintedRowIndex - lastRowIndexOfLastPage_1;\n // Print the next columns, never exceding maxNumberOfRows\n allColumnsCanFitResult.slice(1).forEach(function (colsAndIndexes) {\n doc.applyStyles(doc.userStyles);\n // When adding a page here, make sure not to print the footers\n // because they were already printed before on this same loop\n addPage(doc, table, startPos, cursor, colsAndIndexes.columns, true);\n printBodyWithoutPageBreaks(doc, table, lastRowIndexOfLastPage_1 + 1, cursor, colsAndIndexes.columns, maxNumberOfRows);\n printFoot(doc, table, cursor, colsAndIndexes.columns);\n });\n lastRowIndexOfLastPage_1 = lastPrintedRowIndex;\n };\n while (lastRowIndexOfLastPage_1 < table.body.length - 1) {\n _loop_1();\n }\n }\n}\nfunction printHead(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showHead === 'firstPage' || settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n doc.applyStyles(doc.userStyles);\n table.body.forEach(function (row, index) {\n var isLastRow = index === table.body.length - 1;\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n });\n}\nfunction printBodyWithoutPageBreaks(doc, table, startRowIndex, cursor, columns, maxNumberOfRows) {\n doc.applyStyles(doc.userStyles);\n maxNumberOfRows = maxNumberOfRows !== null && maxNumberOfRows !== void 0 ? maxNumberOfRows : table.body.length;\n var endRowIndex = Math.min(startRowIndex + maxNumberOfRows, table.body.length);\n var lastPrintedRowIndex = -1;\n table.body.slice(startRowIndex, endRowIndex).forEach(function (row, index) {\n var isLastRow = startRowIndex + index === table.body.length - 1;\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n printRow(doc, table, row, cursor, columns);\n lastPrintedRowIndex = startRowIndex + index;\n }\n });\n return lastPrintedRowIndex;\n}\nfunction printFoot(doc, table, cursor, columns) {\n var settings = table.settings;\n doc.applyStyles(doc.userStyles);\n if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n var lineHeight = doc.getLineHeight(cell.styles.fontSize);\n var vPadding = cell.padding('vertical');\n var remainingLines = Math.floor((remainingPageSpace - vPadding) / lineHeight);\n return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n var cells = {};\n row.spansMultiplePages = true;\n row.height = 0;\n var rowHeight = 0;\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n if (!Array.isArray(cell.text)) {\n cell.text = [cell.text];\n }\n var remainderCell = new models_1.Cell(cell.raw, cell.styles, cell.section);\n remainderCell = (0, polyfills_1.assign)(remainderCell, cell);\n remainderCell.text = [];\n var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n if (cell.text.length > remainingLineCount) {\n remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n }\n var scaleFactor = doc.scaleFactor();\n var lineHeightFactor = doc.getLineHeightFactor();\n cell.contentHeight = cell.getContentHeight(scaleFactor, lineHeightFactor);\n if (cell.contentHeight >= remainingPageSpace) {\n cell.contentHeight = remainingPageSpace;\n remainderCell.styles.minCellHeight -= remainingPageSpace;\n }\n if (cell.contentHeight > row.height) {\n row.height = cell.contentHeight;\n }\n remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor, lineHeightFactor);\n if (remainderCell.contentHeight > rowHeight) {\n rowHeight = remainderCell.contentHeight;\n }\n cells[column.index] = remainderCell;\n }\n var remainderRow = new models_1.Row(row.raw, -1, row.section, cells, true);\n remainderRow.height = rowHeight;\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var remainderCell = remainderRow.cells[column.index];\n if (remainderCell) {\n remainderCell.height = remainderRow.height;\n }\n var cell = row.cells[column.index];\n if (cell) {\n cell.height = row.height;\n }\n }\n return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n var pageHeight = doc.pageSize().height;\n var margin = table.settings.margin;\n var marginHeight = margin.top + margin.bottom;\n var maxRowHeight = pageHeight - marginHeight;\n if (row.section === 'body') {\n // Should also take into account that head and foot is not\n // on every page with some settings\n maxRowHeight -=\n table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n }\n var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n var minRowFits = minRowHeight < remainingPageSpace;\n if (minRowHeight > maxRowHeight) {\n console.error(\"Will not be able to print row \".concat(row.index, \" correctly since it's minimum height is larger than page height\"));\n return true;\n }\n if (!minRowFits) {\n return false;\n }\n var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n if (rowHigherThanPage) {\n if (rowHasRowSpanCell) {\n console.error(\"The content of row \".concat(row.index, \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\"));\n }\n return true;\n }\n if (rowHasRowSpanCell) {\n // Currently a new page is required whenever a rowspan row don't fit a page.\n return false;\n }\n if (table.settings.rowPageBreak === 'avoid') {\n return false;\n }\n // In all other cases print the row on current page\n return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n if (row.canEntireRowFit(remainingSpace, columns)) {\n // The row fits in the current page\n printRow(doc, table, row, cursor, columns);\n }\n else if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n // The row gets split in two here, each piece in one page\n var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n printRow(doc, table, row, cursor, columns);\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n }\n else {\n // The row get printed entirelly on the next page\n addPage(doc, table, startPos, cursor, columns);\n printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n cursor.x = table.settings.margin.left;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var cell = row.cells[column.index];\n if (!cell) {\n cursor.x += column.width;\n continue;\n }\n doc.applyStyles(cell.styles);\n cell.x = cursor.x;\n cell.y = cursor.y;\n var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n if (result === false) {\n cursor.x += column.width;\n continue;\n }\n drawCellRect(doc, cell, cursor);\n var textPos = cell.getTextPos();\n (0, autoTableText_1.default)(cell.text, textPos.x, textPos.y, {\n halign: cell.styles.halign,\n valign: cell.styles.valign,\n maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n }, doc.getDocument());\n table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n cursor.x += column.width;\n }\n cursor.y += row.height;\n}\nfunction drawCellRect(doc, cell, cursor) {\n var cellStyles = cell.styles;\n // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/774\n // TODO (v4): better solution?\n doc.getDocument().setFillColor(doc.getDocument().getFillColor());\n if (typeof cellStyles.lineWidth === 'number') {\n // Draw cell background with normal borders\n var fillStyle = (0, common_1.getFillStyle)(cellStyles.lineWidth, cellStyles.fillColor);\n if (fillStyle) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n }\n }\n else if (typeof cellStyles.lineWidth === 'object') {\n // Draw cell background\n if (cellStyles.fillColor) {\n doc.rect(cell.x, cursor.y, cell.width, cell.height, 'F');\n }\n // Draw cell individual borders\n drawCellBorders(doc, cell, cursor, cellStyles.lineWidth);\n }\n}\n/**\n * Draw all specified borders. Borders are centered on cell's edge and lengthened\n * to overlap with neighbours to create sharp corners.\n * @param doc\n * @param cell\n * @param cursor\n * @param fillColor\n * @param lineWidth\n */\nfunction drawCellBorders(doc, cell, cursor, lineWidth) {\n var x1, y1, x2, y2;\n if (lineWidth.top) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.top, x1, y1, x2, y2);\n }\n if (lineWidth.bottom) {\n x1 = cursor.x;\n y1 = cursor.y + cell.height;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.right) {\n x2 += 0.5 * lineWidth.right;\n }\n if (lineWidth.left) {\n x1 -= 0.5 * lineWidth.left;\n }\n drawLine(lineWidth.bottom, x1, y1, x2, y2);\n }\n if (lineWidth.left) {\n x1 = cursor.x;\n y1 = cursor.y;\n x2 = cursor.x;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.left, x1, y1, x2, y2);\n }\n if (lineWidth.right) {\n x1 = cursor.x + cell.width;\n y1 = cursor.y;\n x2 = cursor.x + cell.width;\n y2 = cursor.y + cell.height;\n if (lineWidth.top) {\n y1 -= 0.5 * lineWidth.top;\n }\n if (lineWidth.bottom) {\n y2 += 0.5 * lineWidth.bottom;\n }\n drawLine(lineWidth.right, x1, y1, x2, y2);\n }\n function drawLine(width, x1, y1, x2, y2) {\n doc.getDocument().setLineWidth(width);\n doc.getDocument().line(x1, y1, x2, y2, 'S');\n }\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n var bottomContentHeight = table.settings.margin.bottom;\n var showFoot = table.settings.showFoot;\n if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n bottomContentHeight += table.getFootHeight(table.columns);\n }\n return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns, suppressFooter) {\n if (columns === void 0) { columns = []; }\n if (suppressFooter === void 0) { suppressFooter = false; }\n doc.applyStyles(doc.userStyles);\n if (table.settings.showFoot === 'everyPage' && !suppressFooter) {\n table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n }\n // Add user content just before adding new page ensure it will\n // be drawn above other things on the page\n table.callEndPageHooks(doc, cursor);\n var margin = table.settings.margin;\n (0, common_1.addTableBorder)(doc, table, startPos, cursor);\n nextPage(doc);\n table.pageNumber++;\n table.pageCount++;\n cursor.x = margin.left;\n cursor.y = margin.top;\n startPos.y = margin.top;\n // call didAddPage hooks before any content is added to the page\n table.callWillDrawPageHooks(doc, cursor);\n if (table.settings.showHead === 'everyPage') {\n table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n doc.applyStyles(doc.userStyles);\n }\n}\nexports.addPage = addPage;\nfunction nextPage(doc) {\n var current = doc.pageNumber();\n doc.setPage(current + 1);\n var newCurrent = doc.pageNumber();\n if (newCurrent === current) {\n doc.addPage();\n return true;\n }\n return false;\n}\n\n\n/***/ }),\n\n/***/ 224:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.calculateAllColumnsCanFitInPage = void 0;\nvar common_1 = __webpack_require__(420);\n// get columns can be fit into page\nfunction getColumnsCanFitInPage(doc, table, config) {\n var _a;\n if (config === void 0) { config = {}; }\n // Get page width\n var remainingWidth = (0, common_1.getPageAvailableWidth)(doc, table);\n // Get column data key to repeat\n var repeatColumnsMap = new Map();\n var colIndexes = [];\n var columns = [];\n var horizontalPageBreakRepeat = [];\n table.settings.horizontalPageBreakRepeat;\n if (Array.isArray(table.settings.horizontalPageBreakRepeat)) {\n horizontalPageBreakRepeat = table.settings.horizontalPageBreakRepeat;\n // It can be a single value of type string or number (even number: 0)\n }\n else if (typeof table.settings.horizontalPageBreakRepeat === 'string' ||\n typeof table.settings.horizontalPageBreakRepeat === 'number') {\n horizontalPageBreakRepeat = [table.settings.horizontalPageBreakRepeat];\n }\n // Code to repeat the given column in split pages\n horizontalPageBreakRepeat.forEach(function (field) {\n var col = table.columns.find(function (item) { return item.dataKey === field || item.index === field; });\n if (col && !repeatColumnsMap.has(col.index)) {\n repeatColumnsMap.set(col.index, true);\n colIndexes.push(col.index);\n columns.push(table.columns[col.index]);\n remainingWidth -= col.wrappedWidth;\n }\n });\n var first = true;\n var i = (_a = config === null || config === void 0 ? void 0 : config.start) !== null && _a !== void 0 ? _a : 0; // make sure couter is initiated outside the loop\n while (i < table.columns.length) {\n // Prevent duplicates\n if (repeatColumnsMap.has(i)) {\n i++;\n continue;\n }\n var colWidth = table.columns[i].wrappedWidth;\n // Take at least one column even if it doesn't fit\n if (first || remainingWidth >= colWidth) {\n first = false;\n colIndexes.push(i);\n columns.push(table.columns[i]);\n remainingWidth -= colWidth;\n }\n else {\n break;\n }\n i++;\n }\n return { colIndexes: colIndexes, columns: columns, lastIndex: i - 1 };\n}\nfunction calculateAllColumnsCanFitInPage(doc, table) {\n var allResults = [];\n for (var i = 0; i < table.columns.length; i++) {\n var result = getColumnsCanFitInPage(doc, table, { start: i });\n if (result.columns.length) {\n allResults.push(result);\n i = result.lastIndex;\n }\n }\n return allResults;\n}\nexports.calculateAllColumnsCanFitInPage = calculateAllColumnsCanFitInPage;\n\n\n/***/ }),\n\n/***/ 324:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ellipsize = exports.resizeColumns = exports.calculateWidths = void 0;\nvar common_1 = __webpack_require__(420);\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n calculate(doc, table);\n var resizableColumns = [];\n var initialTableWidth = 0;\n table.columns.forEach(function (column) {\n var customWidth = column.getMaxCustomCellWidth(table);\n if (customWidth) {\n // final column width\n column.width = customWidth;\n }\n else {\n // initial column width (will be resized)\n column.width = column.wrappedWidth;\n resizableColumns.push(column);\n }\n initialTableWidth += column.width;\n });\n // width difference that needs to be distributed\n var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n // first resize attempt: with respect to minReadableWidth and minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n return Math.max(column.minReadableWidth, column.minWidth);\n });\n }\n // second resize attempt: ignore minReadableWidth but respect minWidth\n if (resizeWidth) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n }\n resizeWidth = Math.abs(resizeWidth);\n if (!table.settings.horizontalPageBreak &&\n resizeWidth > 0.1 / doc.scaleFactor()) {\n // Table can't get smaller due to custom-width or minWidth restrictions\n // We can't really do much here. Up to user to for example\n // reduce font size, increase page size or remove custom cell widths\n // to allow more columns to be reduced in size\n resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n console.warn(\"Of the table content, \".concat(resizeWidth, \" units width could not fit page\"));\n }\n applyColSpans(table);\n fitContent(table, doc);\n applyRowSpans(table);\n}\nexports.calculateWidths = calculateWidths;\nfunction calculate(doc, table) {\n var sf = doc.scaleFactor();\n var horizontalPageBreak = table.settings.horizontalPageBreak;\n var availablePageWidth = (0, common_1.getPageAvailableWidth)(doc, table);\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n var hooks = table.hooks.didParseCell;\n table.callCellHooks(doc, hooks, cell, row, column, null);\n var padding = cell.padding('horizontal');\n cell.contentWidth = (0, common_1.getStringWidth)(cell.text, cell.styles, doc) + padding;\n // Using [^\\S\\u00A0] instead of \\s ensures that we split the text on all\n // whitespace except non-breaking spaces (\\u00A0). We need to preserve\n // them in the split process to ensure correct word separation and width\n // calculation.\n var longestWordWidth = (0, common_1.getStringWidth)(cell.text.join(' ').split(/[^\\S\\u00A0]+/), cell.styles, doc);\n cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n if (typeof cell.styles.cellWidth === 'number') {\n cell.minWidth = cell.styles.cellWidth;\n cell.wrappedWidth = cell.styles.cellWidth;\n }\n else if (cell.styles.cellWidth === 'wrap' ||\n horizontalPageBreak === true) {\n // cell width should not be more than available page width\n if (cell.contentWidth > availablePageWidth) {\n cell.minWidth = availablePageWidth;\n cell.wrappedWidth = availablePageWidth;\n }\n else {\n cell.minWidth = cell.contentWidth;\n cell.wrappedWidth = cell.contentWidth;\n }\n }\n else {\n // auto\n var defaultMinWidth = 10 / sf;\n cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n cell.wrappedWidth = cell.contentWidth;\n if (cell.minWidth > cell.wrappedWidth) {\n cell.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n table.allRows().forEach(function (row) {\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var cell = row.cells[column.index];\n // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n // Could probably be improved upon however.\n if (cell && cell.colSpan === 1) {\n column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n column.minWidth = Math.max(column.minWidth, cell.minWidth);\n column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n }\n else {\n // Respect cellWidth set in columnStyles even if there is no cells for this column\n // or if the column only have colspan cells. Since the width of colspan cells\n // does not affect the width of columns, setting columnStyles cellWidth enables the\n // user to at least do it manually.\n // Note that this is not perfect for now since for example row and table styles are\n // not accounted for\n var columnStyles = table.styles.columnStyles[column.dataKey] ||\n table.styles.columnStyles[column.index] ||\n {};\n var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n if (cellWidth && typeof cellWidth === 'number') {\n column.minWidth = cellWidth;\n column.wrappedWidth = cellWidth;\n }\n }\n if (cell) {\n // Make sure all columns get at least min width even though width calculations are not based on them\n if (cell.colSpan > 1 && !column.minWidth) {\n column.minWidth = cell.minWidth;\n }\n if (cell.colSpan > 1 && !column.wrappedWidth) {\n column.wrappedWidth = cell.minWidth;\n }\n }\n }\n });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n var initialResizeWidth = resizeWidth;\n var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n for (var i = 0; i < columns.length; i++) {\n var column = columns[i];\n var ratio = column.wrappedWidth / sumWrappedWidth;\n var suggestedChange = initialResizeWidth * ratio;\n var suggestedWidth = column.width + suggestedChange;\n var minWidth = getMinWidth(column);\n var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n resizeWidth -= newWidth - column.width;\n column.width = newWidth;\n }\n resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n // Run the resizer again if there's remaining width needs\n // to be distributed and there're columns that can be resized\n if (resizeWidth) {\n var resizableColumns = columns.filter(function (column) {\n return resizeWidth < 0\n ? column.width > getMinWidth(column) // check if column can shrink\n : true; // check if column can grow\n });\n if (resizableColumns.length) {\n resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n }\n }\n return resizeWidth;\n}\nexports.resizeColumns = resizeColumns;\nfunction applyRowSpans(table) {\n var rowSpanCells = {};\n var colRowSpansLeft = 1;\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n var column = _a[_i];\n var data = rowSpanCells[column.index];\n if (colRowSpansLeft > 1) {\n colRowSpansLeft--;\n delete row.cells[column.index];\n }\n else if (data) {\n data.cell.height += row.height;\n colRowSpansLeft = data.cell.colSpan;\n delete row.cells[column.index];\n data.left--;\n if (data.left <= 1) {\n delete rowSpanCells[column.index];\n }\n }\n else {\n var cell = row.cells[column.index];\n if (!cell) {\n continue;\n }\n cell.height = row.height;\n if (cell.rowSpan > 1) {\n var remaining = all.length - rowIndex;\n var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n }\n }\n }\n }\n}\nfunction applyColSpans(table) {\n var all = table.allRows();\n for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n var row = all[rowIndex];\n var colSpanCell = null;\n var combinedColSpanWidth = 0;\n var colSpansLeft = 0;\n for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n var column = table.columns[columnIndex];\n // Width and colspan\n colSpansLeft -= 1;\n if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n combinedColSpanWidth += column.width;\n delete row.cells[column.index];\n }\n else if (colSpanCell) {\n var cell = colSpanCell;\n delete row.cells[column.index];\n colSpanCell = null;\n cell.width = column.width + combinedColSpanWidth;\n }\n else {\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n colSpansLeft = cell.colSpan;\n combinedColSpanWidth = 0;\n if (cell.colSpan > 1) {\n colSpanCell = cell;\n combinedColSpanWidth += column.width;\n continue;\n }\n cell.width = column.width + combinedColSpanWidth;\n }\n }\n }\n}\nfunction fitContent(table, doc) {\n var rowSpanHeight = { count: 0, height: 0 };\n for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n var row = _a[_i];\n for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n var column = _c[_b];\n var cell = row.cells[column.index];\n if (!cell)\n continue;\n doc.applyStyles(cell.styles, true);\n var textSpace = cell.width - cell.padding('horizontal');\n if (cell.styles.overflow === 'linebreak') {\n // Add one pt to textSpace to fix rounding error\n cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n }\n else if (cell.styles.overflow === 'ellipsize') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n }\n else if (cell.styles.overflow === 'hidden') {\n cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n }\n else if (typeof cell.styles.overflow === 'function') {\n var result = cell.styles.overflow(cell.text, textSpace);\n if (typeof result === 'string') {\n cell.text = [result];\n }\n else {\n cell.text = result;\n }\n }\n cell.contentHeight = cell.getContentHeight(doc.scaleFactor(), doc.getLineHeightFactor());\n var realContentHeight = cell.contentHeight / cell.rowSpan;\n if (cell.rowSpan > 1 &&\n rowSpanHeight.count * rowSpanHeight.height <\n realContentHeight * cell.rowSpan) {\n rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n }\n else if (rowSpanHeight && rowSpanHeight.count > 0) {\n if (rowSpanHeight.height > realContentHeight) {\n realContentHeight = rowSpanHeight.height;\n }\n }\n if (realContentHeight > row.height) {\n row.height = realContentHeight;\n }\n }\n rowSpanHeight.count--;\n }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nexports.ellipsize = ellipsize;\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n var precision = 10000 * doc.scaleFactor();\n width = Math.ceil(width * precision) / precision;\n if (width >= (0, common_1.getStringWidth)(text, styles, doc)) {\n return text;\n }\n while (width < (0, common_1.getStringWidth)(text + overflow, styles, doc)) {\n if (text.length <= 1) {\n break;\n }\n text = text.substring(0, text.length - 1);\n }\n return text.trim() + overflow;\n}\n\n\n/***/ }),\n\n/***/ 964:\n/***/ (function(module) {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE__964__ === 'undefined') { var e = new Error(\"Cannot find module 'undefined'\"); e.code = 'MODULE_NOT_FOUND'; throw e; }\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__964__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\nvar exports = __webpack_exports__;\n\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Cell = exports.Column = exports.Row = exports.Table = exports.CellHookData = exports.__drawTable = exports.__createTable = exports.applyPlugin = void 0;\nvar applyPlugin_1 = __webpack_require__(340);\nvar inputParser_1 = __webpack_require__(776);\nvar tableDrawer_1 = __webpack_require__(664);\nvar tableCalculator_1 = __webpack_require__(972);\nvar models_1 = __webpack_require__(260);\nObject.defineProperty(exports, \"Table\", ({ enumerable: true, get: function () { return models_1.Table; } }));\nvar HookData_1 = __webpack_require__(172);\nObject.defineProperty(exports, \"CellHookData\", ({ enumerable: true, get: function () { return HookData_1.CellHookData; } }));\nvar models_2 = __webpack_require__(260);\nObject.defineProperty(exports, \"Cell\", ({ enumerable: true, get: function () { return models_2.Cell; } }));\nObject.defineProperty(exports, \"Column\", ({ enumerable: true, get: function () { return models_2.Column; } }));\nObject.defineProperty(exports, \"Row\", ({ enumerable: true, get: function () { return models_2.Row; } }));\n// export { applyPlugin } didn't export applyPlugin\n// to index.d.ts for some reason\nfunction applyPlugin(jsPDF) {\n (0, applyPlugin_1.default)(jsPDF);\n}\nexports.applyPlugin = applyPlugin;\nfunction autoTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n var table = (0, tableCalculator_1.createTable)(d, input);\n (0, tableDrawer_1.drawTable)(d, table);\n}\n// Experimental export\nfunction __createTable(d, options) {\n var input = (0, inputParser_1.parseInput)(d, options);\n return (0, tableCalculator_1.createTable)(d, input);\n}\nexports.__createTable = __createTable;\nfunction __drawTable(d, table) {\n (0, tableDrawer_1.drawTable)(d, table);\n}\nexports.__drawTable = __drawTable;\ntry {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n var jsPDF = __webpack_require__(964);\n // Webpack imported jspdf instead of jsPDF for some reason\n // while it seemed to work everywhere else.\n if (jsPDF.jsPDF)\n jsPDF = jsPDF.jsPDF;\n applyPlugin(jsPDF);\n}\ncatch (error) {\n // Importing jspdf in nodejs environments does not work as of jspdf\n // 1.5.3 so we need to silence potential errors to support using for example\n // the nodejs jspdf dist files with the exported applyPlugin\n}\nexports[\"default\"] = autoTable;\n\n}();\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Some of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// However, the vast majority of the codebase has diverged from UZIP.js to increase performance and reduce bundle size.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var w = new Worker(ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([\n c + ';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'\n ], { type: 'text/javascript' }))));\n w.onmessage = function (e) {\n var d = e.data, ed = d.$e$;\n if (ed) {\n var err = new Error(ed[0]);\n err['code'] = ed[1];\n err.stack = ed[2];\n cb(err, null);\n }\n else\n cb(null, d);\n };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, i32 = Int32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new i32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return { b: b, r: r };\n};\nvar _a = freb(fleb, 2), fl = _a.b, revfl = _a.r;\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b.b, revfd = _b.r;\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >> 8) | ((x & 0x00FF) << 8)) >> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i) {\n if (cd[i])\n ++l[cd[i] - 1];\n }\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 1; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i) {\n if (cd[i]) {\n co[i] = rev[le[cd[i] - 1]++] >> (15 - cd[i]);\n }\n }\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8)) >> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) | 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p + 7) / 8) | 0; };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n return new u8(v.subarray(s, e));\n};\n/**\n * Codes for errors generated within this library\n */\nexport var FlateErrorCode = {\n UnexpectedEOF: 0,\n InvalidBlockType: 1,\n InvalidLengthLiteral: 2,\n InvalidDistance: 3,\n StreamFinished: 4,\n NoStreamHandler: 5,\n InvalidHeader: 6,\n NoCallback: 7,\n InvalidUTF8: 8,\n ExtraFieldTooLong: 9,\n InvalidDate: 10,\n FilenameTooLong: 11,\n StreamFinishing: 12,\n InvalidZipData: 13,\n UnknownCompressionMethod: 14\n};\n// error codes\nvar ec = [\n 'unexpected EOF',\n 'invalid block type',\n 'invalid length/literal',\n 'invalid distance',\n 'stream finished',\n 'no stream handler',\n ,\n 'no callback',\n 'invalid UTF-8 data',\n 'extra field too long',\n 'date not in range 1980-2099',\n 'filename too long',\n 'stream finishing',\n 'invalid zip data'\n // determined by unknown compression method\n];\n;\nvar err = function (ind, msg, nt) {\n var e = new Error(msg || ec[ind]);\n e.code = ind;\n if (Error.captureStackTrace)\n Error.captureStackTrace(e, err);\n if (!nt)\n throw e;\n return e;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, st, buf, dict) {\n // source length dict length\n var sl = dat.length, dl = dict ? dict.length : 0;\n if (!sl || st.f && !st.l)\n return buf || new u8(0);\n var noBuf = !buf;\n // have to estimate size\n var resize = noBuf || st.i != 2;\n // no state\n var noSt = st.i;\n // Assumes roughly 33% compression ratio average\n if (noBuf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n err(0);\n break;\n }\n // ensure size\n if (resize)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8, st.f = final;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n err(1);\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17\n if (resize)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var lpos = pos;\n for (;; lpos = pos) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >> 4;\n pos += c & 15;\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (!c)\n err(2);\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lpos = pos, lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;\n if (!d)\n err(3);\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & (1 << b) - 1, pos += b;\n }\n if (pos > tbts) {\n if (noSt)\n err(0);\n break;\n }\n if (resize)\n cbuf(bt + 131072);\n var end = bt + add;\n if (bt < dt) {\n var shift = dl - dt, dend = Math.min(dt, end);\n if (shift + bt < 0)\n err(3);\n for (; bt < dend; ++bt)\n buf[bt] = dict[shift + bt];\n }\n for (; bt < end; ++bt)\n buf[bt] = buf[bt - dt];\n }\n }\n st.l = lm, st.p = lpos, st.b = bt, st.f = final;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n // don't reallocate for streams or user buffers\n return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) | 0;\n d[o] |= v;\n d[o + 1] |= v >> 8;\n d[o + 2] |= v >> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return { t: et, l: 0 };\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return { t: v, l: 1 };\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return { t: new u8(tr), l: mbt };\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return { c: cl.subarray(0, cli), n: s };\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a.t, mlb = _a.l;\n var _b = hTree(df, 15), ddt = _b.t, mdb = _b.l;\n var _c = lc(dlt), lclt = _c.c, nlc = _c.n;\n var _d = lc(ddt), lcdt = _d.c, ndc = _d.n;\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n ++lcfreq[lclt[i] & 31];\n for (var i = 0; i < lcdt.length; ++i)\n ++lcfreq[lcdt[i] & 31];\n var _e = hTree(lcfreq, 7), lct = _e.t, mlcb = _e.l;\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18];\n if (bs >= 0 && flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >> 5) & 127), p += clct[i] >> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n var sym = syms[i];\n if (sym > 255) {\n var len = (sym >> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (sym >> 23) & 31), p += fleb[len];\n var dst = sym & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (sym >> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[sym]), p += ll[sym];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, st) {\n var s = st.z || dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var lst = st.l;\n var pos = (st.r || 0) & 7;\n if (lvl) {\n if (pos)\n w[0] = st.r >> 3;\n var opt = deo[lvl - 1];\n var n = opt >> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = st.p || new u16(32768), head = st.h || new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new i32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx blkpos\n var lc_1 = 0, eb = 0, i = st.i || 0, li = 0, wi = st.w || 0, bs = 0;\n for (; i + 2 < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768 previous index mod\n var imod = i & 32767, pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = imod - pimod & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = i - dif + j & 32767;\n var pti = prev[ti];\n var cd = ti - pti & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += imod - pimod & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one int32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n for (i = Math.max(i, wi); i < s; ++i) {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n if (!lst) {\n st.r = (pos & 7) | w[(pos / 8) | 0] << 3;\n // shft(pos) now 1 less if pos & 7 != 0\n pos -= 7;\n st.h = head, st.p = prev, st.i = i, st.w = wi;\n }\n }\n else {\n for (var i = st.w || 0; i < s + lst; i += 65535) {\n // end\n var e = i + 65535;\n if (e >= s) {\n // write final block\n w[(pos / 8) | 0] = lst;\n e = s;\n }\n pos = wfblk(w, pos + 1, dat.subarray(i, e));\n }\n st.i = s;\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new Int32Array(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && -306674912) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = -1;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return ~c; }\n };\n};\n// Adler32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length | 0;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 2655, l);\n for (; i < e; ++i)\n m += n += d[i];\n n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16);\n }\n a = n, b = m;\n },\n d: function () {\n a %= 65521, b %= 65521;\n return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | (b >> 8);\n }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n if (!st) {\n st = { l: 1 };\n if (opt.dictionary) {\n var dict = opt.dictionary.subarray(-32768);\n var newDat = new u8(dict.length + dat.length);\n newDat.set(dict);\n newDat.set(dat, dict.length);\n dat = newDat;\n st.w = dict.length;\n }\n }\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? (st.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 20) : (12 + opt.mem), pre, post, st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/\\s+/g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return fnStr;\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k].buffer) {\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n fnStr = wcln(fns[i], fnStr, td_1);\n ch[id] = { c: wcln(fns[m], fnStr, td_1), e: td_1 };\n }\n var td = mrg({}, ch[id].e);\n return wk(ch[id].c + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, i32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, ec, hMap, max, bits, bits16, shft, slc, err, inflt, inflateSync, pbf, gopt]; };\nvar bDflt = function () { return [u8, u16, i32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zls]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get opts\nvar gopt = function (o) { return o && {\n out: o.size && new u8(o.size),\n dictionary: o.dictionary\n}; };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n w.postMessage([dat, opts], opts.consume ? [dat.buffer] : []);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) {\n if (ev.data.length) {\n strm.push(ev.data[0], ev.data[1]);\n postMessage([ev.data[0].length]);\n }\n else\n strm.flush();\n };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id, flush, ext) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else if (!Array.isArray(dat))\n ext(dat);\n else if (dat.length == 1) {\n strm.queuedSize -= dat[0];\n if (strm.ondrain)\n strm.ondrain(dat[0]);\n }\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.queuedSize = 0;\n strm.push = function (d, f) {\n if (!strm.ondata)\n err(5);\n if (t)\n strm.ondata(err(4, 0, 1), null, !!f);\n strm.queuedSize += d.length;\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n if (flush) {\n strm.flush = function () { w.postMessage([]); };\n }\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16) | (d[b + 3] << 24)) >>> 0; };\nvar b8 = function (d, b) { return b4(d, b) + (b4(d, b + 4) * 4294967296); };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n err(6, 'invalid gzip data');\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += (d[10] | d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + (o.filename ? o.filename.length + 1 : 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (o.dictionary && 32);\n c[1] |= 31 - ((c[0] << 8) | c[1]) % 31;\n if (o.dictionary) {\n var h = adler();\n h.p(o.dictionary);\n wbytes(c, 2, h.d());\n }\n};\n// zlib start\nvar zls = function (d, dict) {\n if ((d[0] & 15) != 8 || (d[0] >> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n err(6, 'invalid zlib data');\n if ((d[1] >> 5 & 1) == +!dict)\n err(6, 'invalid zlib data: ' + (d[1] & 32 ? 'need' : 'unexpected') + ' dictionary');\n return (d[1] >> 3 & 4) + 2;\n};\nfunction StrmOpt(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n this.s = { l: 0, i: 32768, w: 32768, z: 32768 };\n // Buffer length must always be 0 mod 32768 for index calculations to be correct when modifying head and prev\n // 98304 = 32768 (lookback) + 65536 (common chunk size)\n this.b = new u8(98304);\n if (this.o.dictionary) {\n var dict = this.o.dictionary.subarray(-32768);\n this.b.set(dict, 32768 - dict.length);\n this.s.i = 32768 - dict.length;\n }\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, this.s), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n var endLen = chunk.length + this.s.z;\n if (endLen > this.b.length) {\n if (endLen > 2 * this.b.length - 32768) {\n var newBuf = new u8(endLen & -32768);\n newBuf.set(this.b.subarray(0, this.s.z));\n this.b = newBuf;\n }\n var split = this.b.length - this.s.z;\n this.b.set(chunk.subarray(0, split), this.s.z);\n this.s.z = this.b.length;\n this.p(this.b, false);\n this.b.set(this.b.subarray(-32768));\n this.b.set(chunk.subarray(split), 32768);\n this.s.z = chunk.length - split + 32768;\n this.s.i = 32766, this.s.w = 32768;\n }\n else {\n this.b.set(chunk, this.s.z);\n this.s.z += chunk.length;\n }\n this.s.l = final & 1;\n if (this.s.z > this.s.w + 8191 || final) {\n this.p(this.b, final || false);\n this.s.w = this.s.i, this.s.i -= 2;\n }\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * deflated output for small inputs.\n */\n Deflate.prototype.flush = function () {\n if (!this.ondata)\n err(5);\n if (this.s.l)\n err(4);\n this.p(this.b, false);\n this.s.w = this.s.i, this.s.i -= 2;\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6, 1);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n return dopt(data, opts || {}, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n function Inflate(opts, cb) {\n // no StrmOpt here to avoid adding to workerizer\n if (typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);\n this.s = { i: 0, b: dict ? dict.length : 0 };\n this.o = new u8(32768);\n this.p = new u8(0);\n if (dict)\n this.o.set(dict);\n }\n Inflate.prototype.e = function (c) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n if (!this.p.length)\n this.p = c;\n else if (c.length) {\n var n = new u8(this.p.length + c.length);\n n.set(this.p), n.set(c, this.p.length), this.p = n;\n }\n };\n Inflate.prototype.c = function (final) {\n this.s.i = +(this.d = final || false);\n var bts = this.s.b;\n var dt = inflt(this.p, this.s, this.o);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) | 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n function AsyncInflate(opts, cb) {\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Inflate(ev.data);\n onmessage = astrm(strm);\n }, 7, 0);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gopt(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, opts) {\n return inflt(data, { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n this.l += chunk.length;\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, this.s);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * GZIPped output for small inputs.\n */\n Gzip.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8, 1);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (!opts)\n opts = {};\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming single or multi-member GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n function Gunzip(opts, cb) {\n this.v = 1;\n this.r = 0;\n Inflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n this.r += chunk.length;\n if (this.v) {\n var p = this.p.subarray(this.v - 1);\n var s = p.length > 3 ? gzs(p) : 4;\n if (s > p.length) {\n if (!final)\n return;\n }\n else if (this.v > 1 && this.onmember) {\n this.onmember(this.r - p.length);\n }\n this.p = p.subarray(s), this.v = 0;\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n // process concatenated GZIP\n if (this.s.f && !this.s.l && !final) {\n this.v = shft(this.s.p) + 9;\n this.s = { i: 0 };\n this.o = new u8(0);\n this.push(new u8(0), final);\n }\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming single or multi-member GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n function AsyncGunzip(opts, cb) {\n var _this = this;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Gunzip(ev.data);\n strm.onmember = function (offset) { return postMessage(offset); };\n onmessage = astrm(strm);\n }, 9, 0, function (offset) { return _this.onmember && _this.onmember(offset); });\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0], ev.data[1])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, opts) {\n var st = gzs(data);\n if (st + 8 > data.length)\n err(6, 'invalid gzip data');\n return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n this.c.p(chunk);\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n var raw = dopt(c, this.o, this.v && (this.o.dictionary ? 6 : 2), f && 4, this.s);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n /**\n * Flushes buffered uncompressed data. Useful to immediately retrieve the\n * zlibbed output for small inputs.\n */\n Zlib.prototype.flush = function () {\n Deflate.prototype.flush.call(this);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10, 1);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (!opts)\n opts = {};\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n function Unzlib(opts, cb) {\n Inflate.call(this, opts, cb);\n this.v = opts && opts.dictionary ? 2 : 1;\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 6 && !final)\n return;\n this.p = this.p.subarray(zls(this.p, this.v - 1)), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n err(6, 'invalid zlib data');\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n function AsyncUnzlib(opts, cb) {\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, StrmOpt.call(this, opts, cb), function (ev) {\n var strm = new Unzlib(ev.data);\n onmessage = astrm(strm);\n }, 11, 0);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gopt(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, opts) {\n return inflt(data.subarray(zls(data, opts && opts.dictionary), -4), { i: 2 }, opts && opts.out, opts && opts.dictionary);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n function Decompress(opts, cb) {\n this.o = StrmOpt.call(this, opts, cb) || {};\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n }\n // init substream\n // overriden by AsyncDecompress\n Decompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (dat, final) {\n _this.ondata(dat, final);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(this.o)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(this.o)\n : new this.Z(this.o);\n this.i();\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n function AsyncDecompress(opts, cb) {\n Decompress.call(this, opts, cb);\n this.queuedSize = 0;\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n }\n AsyncDecompress.prototype.i = function () {\n var _this = this;\n this.s.ondata = function (err, dat, final) {\n _this.ondata(err, dat, final);\n };\n this.s.ondrain = function (size) {\n _this.queuedSize -= size;\n if (_this.ondrain)\n _this.ondrain(size);\n };\n };\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n this.queuedSize += chunk.length;\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param opts The decompression options\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, opts) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, opts)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, opts)\n : unzlibSync(data, opts);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k, op = o;\n if (Array.isArray(val))\n op = mrg(o, val[1]), val = val[0];\n if (val instanceof u8)\n t[n] = [val, op];\n else {\n t[n += '/'] = [new u8(0), op];\n fltn(val, n, t, o);\n }\n }\n};\n// text encoder\nvar te = typeof TextEncoder != 'undefined' && /*#__PURE__*/ new TextEncoder();\n// text decoder\nvar td = typeof TextDecoder != 'undefined' && /*#__PURE__*/ new TextDecoder();\n// text decoder stream\nvar tds = 0;\ntry {\n td.decode(et, { stream: true });\n tds = 1;\n}\ncatch (e) { }\n// decode UTF8\nvar dutf8 = function (d) {\n for (var r = '', i = 0;;) {\n var c = d[i++];\n var eb = (c > 127) + (c > 223) + (c > 239);\n if (i + eb > d.length)\n return { s: r, r: slc(d, i - 1) };\n if (!eb)\n r += String.fromCharCode(c);\n else if (eb == 3) {\n c = ((c & 15) << 18 | (d[i++] & 63) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n else if (eb & 1)\n r += String.fromCharCode((c & 31) << 6 | (d[i++] & 63));\n else\n r += String.fromCharCode((c & 15) << 12 | (d[i++] & 63) << 6 | (d[i++] & 63));\n }\n};\n/**\n * Streaming UTF-8 decoding\n */\nvar DecodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is decoded\n */\n function DecodeUTF8(cb) {\n this.ondata = cb;\n if (tds)\n this.t = new TextDecoder();\n else\n this.p = et;\n }\n /**\n * Pushes a chunk to be decoded from UTF-8 binary\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n DecodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n final = !!final;\n if (this.t) {\n this.ondata(this.t.decode(chunk, { stream: true }), final);\n if (final) {\n if (this.t.decode().length)\n err(8);\n this.t = null;\n }\n return;\n }\n if (!this.p)\n err(4);\n var dat = new u8(this.p.length + chunk.length);\n dat.set(this.p);\n dat.set(chunk, this.p.length);\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (final) {\n if (r.length)\n err(8);\n this.p = null;\n }\n else\n this.p = r;\n this.ondata(s, final);\n };\n return DecodeUTF8;\n}());\nexport { DecodeUTF8 };\n/**\n * Streaming UTF-8 encoding\n */\nvar EncodeUTF8 = /*#__PURE__*/ (function () {\n /**\n * Creates a UTF-8 decoding stream\n * @param cb The callback to call whenever data is encoded\n */\n function EncodeUTF8(cb) {\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be encoded to UTF-8\n * @param chunk The string data to push\n * @param final Whether this is the last chunk\n */\n EncodeUTF8.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n if (this.d)\n err(4);\n this.ondata(strToU8(chunk), this.d = final || false);\n };\n return EncodeUTF8;\n}());\nexport { EncodeUTF8 };\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n if (latin1) {\n var ar_1 = new u8(str.length);\n for (var i = 0; i < str.length; ++i)\n ar_1[i] = str.charCodeAt(i);\n return ar_1;\n }\n if (te)\n return te.encode(str);\n var l = str.length;\n var ar = new u8(str.length + (str.length >> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >> 18)), w(128 | ((c >> 12) & 63)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >> 12)), w(128 | ((c >> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n if (latin1) {\n var r = '';\n for (var i = 0; i < dat.length; i += 16384)\n r += String.fromCharCode.apply(null, dat.subarray(i, i + 16384));\n return r;\n }\n else if (td) {\n return td.decode(dat);\n }\n else {\n var _a = dutf8(dat), s = _a.s, r = _a.r;\n if (r.length)\n err(8);\n return s;\n }\n}\n;\n// deflate bit flag\nvar dbf = function (l) { return l == 1 ? 3 : l < 6 ? 2 : l == 9 ? 1 : 0; };\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl, bs = b4(d, b + 20);\n var _a = z && bs == 4294967295 ? z64e(d, es) : [bs, b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b8(d, b + 12), b8(d, b + 4), b8(d, b + 20)];\n};\n// extra field length\nvar exfl = function (ex) {\n var le = 0;\n if (ex) {\n for (var k in ex) {\n var l = ex[k].length;\n if (l > 65535)\n err(9);\n le += l + 4;\n }\n }\n return le;\n};\n// write zip header\nvar wzh = function (d, b, f, fn, u, c, ce, co) {\n var fl = fn.length, ex = f.extra, col = co && co.length;\n var exl = exfl(ex);\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b++] = 20, d[b++] = f.os;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (f.flag << 1) | (c < 0 && 8), d[b++] = u && 8;\n d[b++] = f.compression & 255, d[b++] = f.compression >> 8;\n var dt = new Date(f.mtime == null ? Date.now() : f.mtime), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n err(10);\n wbytes(d, b, (y << 25) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >> 1)), b += 4;\n if (c != -1) {\n wbytes(d, b, f.crc);\n wbytes(d, b + 4, c < 0 ? -c - 2 : c);\n wbytes(d, b + 8, f.size);\n }\n wbytes(d, b + 12, fl);\n wbytes(d, b + 14, exl), b += 16;\n if (ce != null) {\n wbytes(d, b, col);\n wbytes(d, b + 6, f.attrs);\n wbytes(d, b + 10, ce), b += 14;\n }\n d.set(fn, b);\n b += fl;\n if (exl) {\n for (var k in ex) {\n var exf = ex[k], l = exf.length;\n wbytes(d, b, +k);\n wbytes(d, b + 2, l);\n d.set(exf, b + 4), b += 4 + l;\n }\n }\n if (col)\n d.set(co, b), b += col;\n return b;\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\n/**\n * A pass-through stream to keep data uncompressed in a ZIP archive.\n */\nvar ZipPassThrough = /*#__PURE__*/ (function () {\n /**\n * Creates a pass-through stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n */\n function ZipPassThrough(filename) {\n this.filename = filename;\n this.c = crc();\n this.size = 0;\n this.compression = 0;\n }\n /**\n * Processes a chunk and pushes to the output stream. You can override this\n * method in a subclass for custom behavior, but by default this passes\n * the data through. You must call this.ondata(err, chunk, final) at some\n * point in this method.\n * @param chunk The chunk to process\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.process = function (chunk, final) {\n this.ondata(null, chunk, final);\n };\n /**\n * Pushes a chunk to be added. If you are subclassing this with a custom\n * compression algorithm, note that you must push data from the source\n * file only, pre-compression.\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipPassThrough.prototype.push = function (chunk, final) {\n if (!this.ondata)\n err(5);\n this.c.p(chunk);\n this.size += chunk.length;\n if (final)\n this.crc = this.c.d();\n this.process(chunk, final || false);\n };\n return ZipPassThrough;\n}());\nexport { ZipPassThrough };\n// I don't extend because TypeScript extension adds 1kB of runtime bloat\n/**\n * Streaming DEFLATE compression for ZIP archives. Prefer using AsyncZipDeflate\n * for better performance\n */\nvar ZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function ZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new Deflate(opts, function (dat, final) {\n _this.ondata(null, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n }\n ZipDeflate.prototype.process = function (chunk, final) {\n try {\n this.d.push(chunk, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n ZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return ZipDeflate;\n}());\nexport { ZipDeflate };\n/**\n * Asynchronous streaming DEFLATE compression for ZIP archives\n */\nvar AsyncZipDeflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous DEFLATE stream that can be added to ZIP archives\n * @param filename The filename to associate with this data stream\n * @param opts The compression options\n */\n function AsyncZipDeflate(filename, opts) {\n var _this = this;\n if (!opts)\n opts = {};\n ZipPassThrough.call(this, filename);\n this.d = new AsyncDeflate(opts, function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.compression = 8;\n this.flag = dbf(opts.level);\n this.terminate = this.d.terminate;\n }\n AsyncZipDeflate.prototype.process = function (chunk, final) {\n this.d.push(chunk, final);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncZipDeflate.prototype.push = function (chunk, final) {\n ZipPassThrough.prototype.push.call(this, chunk, final);\n };\n return AsyncZipDeflate;\n}());\nexport { AsyncZipDeflate };\n// TODO: Better tree shaking\n/**\n * A zippable archive to which files can incrementally be added\n */\nvar Zip = /*#__PURE__*/ (function () {\n /**\n * Creates an empty ZIP archive to which files can be added\n * @param cb The callback to call whenever data for the generated ZIP archive\n * is available\n */\n function Zip(cb) {\n this.ondata = cb;\n this.u = [];\n this.d = 1;\n }\n /**\n * Adds a file to the ZIP archive\n * @param file The file stream to add\n */\n Zip.prototype.add = function (file) {\n var _this = this;\n if (!this.ondata)\n err(5);\n // finishing or finished\n if (this.d & 2)\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, false);\n else {\n var f = strToU8(file.filename), fl_1 = f.length;\n var com = file.comment, o = com && strToU8(com);\n var u = fl_1 != file.filename.length || (o && (com.length != o.length));\n var hl_1 = fl_1 + exfl(file.extra) + 30;\n if (fl_1 > 65535)\n this.ondata(err(11, 0, 1), null, false);\n var header = new u8(hl_1);\n wzh(header, 0, file, f, u, -1);\n var chks_1 = [header];\n var pAll_1 = function () {\n for (var _i = 0, chks_2 = chks_1; _i < chks_2.length; _i++) {\n var chk = chks_2[_i];\n _this.ondata(null, chk, false);\n }\n chks_1 = [];\n };\n var tr_1 = this.d;\n this.d = 0;\n var ind_1 = this.u.length;\n var uf_1 = mrg(file, {\n f: f,\n u: u,\n o: o,\n t: function () {\n if (file.terminate)\n file.terminate();\n },\n r: function () {\n pAll_1();\n if (tr_1) {\n var nxt = _this.u[ind_1 + 1];\n if (nxt)\n nxt.r();\n else\n _this.d = 1;\n }\n tr_1 = 1;\n }\n });\n var cl_1 = 0;\n file.ondata = function (err, dat, final) {\n if (err) {\n _this.ondata(err, dat, final);\n _this.terminate();\n }\n else {\n cl_1 += dat.length;\n chks_1.push(dat);\n if (final) {\n var dd = new u8(16);\n wbytes(dd, 0, 0x8074B50);\n wbytes(dd, 4, file.crc);\n wbytes(dd, 8, cl_1);\n wbytes(dd, 12, file.size);\n chks_1.push(dd);\n uf_1.c = cl_1, uf_1.b = hl_1 + cl_1 + 16, uf_1.crc = file.crc, uf_1.size = file.size;\n if (tr_1)\n uf_1.r();\n tr_1 = 1;\n }\n else if (tr_1)\n pAll_1();\n }\n };\n this.u.push(uf_1);\n }\n };\n /**\n * Ends the process of adding files and prepares to emit the final chunks.\n * This *must* be called after adding all desired files for the resulting\n * ZIP file to work properly.\n */\n Zip.prototype.end = function () {\n var _this = this;\n if (this.d & 2) {\n this.ondata(err(4 + (this.d & 1) * 8, 0, 1), null, true);\n return;\n }\n if (this.d)\n this.e();\n else\n this.u.push({\n r: function () {\n if (!(_this.d & 1))\n return;\n _this.u.splice(-1, 1);\n _this.e();\n },\n t: function () { }\n });\n this.d = 3;\n };\n Zip.prototype.e = function () {\n var bt = 0, l = 0, tl = 0;\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n tl += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0);\n }\n var out = new u8(tl + 22);\n for (var _b = 0, _c = this.u; _b < _c.length; _b++) {\n var f = _c[_b];\n wzh(out, bt, f, f.f, f.u, -f.c - 2, l, f.o);\n bt += 46 + f.f.length + exfl(f.extra) + (f.o ? f.o.length : 0), l += f.b;\n }\n wzf(out, bt, this.u.length, tl, l);\n this.ondata(null, out, true);\n this.d = 2;\n };\n /**\n * A method to terminate any internal workers used by the stream. Subsequent\n * calls to add() will fail.\n */\n Zip.prototype.terminate = function () {\n for (var _i = 0, _a = this.u; _i < _a.length; _i++) {\n var f = _a[_i];\n f.t();\n }\n this.d = 2;\n };\n return Zip;\n}());\nexport { Zip };\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n var l = f.c.length;\n wzh(out, tot, f, f.f, f.u, l);\n var badd = 30 + f.f.length + exfl(f.extra);\n var loc = tot + badd;\n out.set(f.c, loc);\n wzh(out, o, f, f.f, f.u, l, tot, f.m), o += 16 + badd + (f.m ? f.m.length : 0), tot = loc + l;\n }\n catch (e) {\n return cbd(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cbd(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), size = file.length;\n c.p(file);\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n var compression = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n var l = d.length;\n files[i] = mrg(p, {\n size: size,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n compression: compression\n });\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n if (!--lft)\n cbf();\n }\n };\n if (s > 65535)\n cbl(err(11, 0, 1), null);\n if (!compression)\n cbl(null, file);\n else if (size < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (!opts)\n opts = {};\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var compression = p.level == 0 ? 0 : 8;\n var f = strToU8(fn), s = f.length;\n var com = p.comment, m = com && strToU8(com), ms = m && m.length;\n var exl = exfl(p.extra);\n if (s > 65535)\n err(11);\n var d = compression ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push(mrg(p, {\n size: file.length,\n crc: c.d(),\n c: d,\n f: f,\n m: m,\n u: s != fn.length || (m && (com.length != ms)),\n o: o,\n compression: compression\n }));\n o += 30 + s + exl + l;\n tot += 76 + 2 * (s + exl) + (ms || 0) + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f, f.f, f.u, f.c.length);\n var badd = 30 + f.f.length + exfl(f.extra);\n out.set(f.c, f.o + badd);\n wzh(out, o, f, f.f, f.u, f.c.length, f.o, f.m), o += 16 + badd + (f.m ? f.m.length : 0);\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Streaming pass-through decompression for ZIP archives\n */\nvar UnzipPassThrough = /*#__PURE__*/ (function () {\n function UnzipPassThrough() {\n }\n UnzipPassThrough.prototype.push = function (data, final) {\n this.ondata(null, data, final);\n };\n UnzipPassThrough.compression = 0;\n return UnzipPassThrough;\n}());\nexport { UnzipPassThrough };\n/**\n * Streaming DEFLATE decompression for ZIP archives. Prefer AsyncZipInflate for\n * better performance.\n */\nvar UnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function UnzipInflate() {\n var _this = this;\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n UnzipInflate.prototype.push = function (data, final) {\n try {\n this.i.push(data, final);\n }\n catch (e) {\n this.ondata(e, null, final);\n }\n };\n UnzipInflate.compression = 8;\n return UnzipInflate;\n}());\nexport { UnzipInflate };\n/**\n * Asynchronous streaming DEFLATE decompression for ZIP archives\n */\nvar AsyncUnzipInflate = /*#__PURE__*/ (function () {\n /**\n * Creates a DEFLATE decompression that can be used in ZIP archives\n */\n function AsyncUnzipInflate(_, sz) {\n var _this = this;\n if (sz < 320000) {\n this.i = new Inflate(function (dat, final) {\n _this.ondata(null, dat, final);\n });\n }\n else {\n this.i = new AsyncInflate(function (err, dat, final) {\n _this.ondata(err, dat, final);\n });\n this.terminate = this.i.terminate;\n }\n }\n AsyncUnzipInflate.prototype.push = function (data, final) {\n if (this.i.terminate)\n data = slc(data, 0);\n this.i.push(data, final);\n };\n AsyncUnzipInflate.compression = 8;\n return AsyncUnzipInflate;\n}());\nexport { AsyncUnzipInflate };\n/**\n * A ZIP archive decompression stream that emits files as they are discovered\n */\nvar Unzip = /*#__PURE__*/ (function () {\n /**\n * Creates a ZIP decompression stream\n * @param cb The callback to call whenever a file in the ZIP archive is found\n */\n function Unzip(cb) {\n this.onfile = cb;\n this.k = [];\n this.o = {\n 0: UnzipPassThrough\n };\n this.p = et;\n }\n /**\n * Pushes a chunk to be unzipped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzip.prototype.push = function (chunk, final) {\n var _this = this;\n if (!this.onfile)\n err(5);\n if (!this.p)\n err(4);\n if (this.c > 0) {\n var len = Math.min(this.c, chunk.length);\n var toAdd = chunk.subarray(0, len);\n this.c -= len;\n if (this.d)\n this.d.push(toAdd, !this.c);\n else\n this.k[0].push(toAdd);\n chunk = chunk.subarray(len);\n if (chunk.length)\n return this.push(chunk, final);\n }\n else {\n var f = 0, i = 0, is = void 0, buf = void 0;\n if (!this.p.length)\n buf = chunk;\n else if (!chunk.length)\n buf = this.p;\n else {\n buf = new u8(this.p.length + chunk.length);\n buf.set(this.p), buf.set(chunk, this.p.length);\n }\n var l = buf.length, oc = this.c, add = oc && this.d;\n var _loop_2 = function () {\n var _a;\n var sig = b4(buf, i);\n if (sig == 0x4034B50) {\n f = 1, is = i;\n this_1.d = null;\n this_1.c = 0;\n var bf = b2(buf, i + 6), cmp_1 = b2(buf, i + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i + 26), es = b2(buf, i + 28);\n if (l > i + 30 + fnl + es) {\n var chks_3 = [];\n this_1.k.unshift(chks_3);\n f = 2;\n var sc_1 = b4(buf, i + 18), su_1 = b4(buf, i + 22);\n var fn_1 = strFromU8(buf.subarray(i + 30, i += 30 + fnl), !u);\n if (sc_1 == 4294967295) {\n _a = dd ? [-2] : z64e(buf, i), sc_1 = _a[0], su_1 = _a[1];\n }\n else if (dd)\n sc_1 = -1;\n i += es;\n this_1.c = sc_1;\n var d_1;\n var file_1 = {\n name: fn_1,\n compression: cmp_1,\n start: function () {\n if (!file_1.ondata)\n err(5);\n if (!sc_1)\n file_1.ondata(null, et, true);\n else {\n var ctr = _this.o[cmp_1];\n if (!ctr)\n file_1.ondata(err(14, 'unknown compression type ' + cmp_1, 1), null, false);\n d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);\n d_1.ondata = function (err, dat, final) { file_1.ondata(err, dat, final); };\n for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {\n var dat = chks_4[_i];\n d_1.push(dat, false);\n }\n if (_this.k[0] == chks_3 && _this.c)\n _this.d = d_1;\n else\n d_1.push(et, true);\n }\n },\n terminate: function () {\n if (d_1 && d_1.terminate)\n d_1.terminate();\n }\n };\n if (sc_1 >= 0)\n file_1.size = sc_1, file_1.originalSize = su_1;\n this_1.onfile(file_1);\n }\n return \"break\";\n }\n else if (oc) {\n if (sig == 0x8074B50) {\n is = i += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;\n return \"break\";\n }\n else if (sig == 0x2014B50) {\n is = i -= 4, f = 3, this_1.c = 0;\n return \"break\";\n }\n }\n };\n var this_1 = this;\n for (; i < l - 4; ++i) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n this.p = et;\n if (oc < 0) {\n var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 0x8074B50 && 4)) : buf.subarray(0, i);\n if (add)\n add.push(dat, !!f);\n else\n this.k[+(f == 2)].push(dat);\n }\n if (f & 2)\n return this.push(buf.subarray(i), final);\n this.p = buf.subarray(i);\n }\n if (final) {\n if (this.c)\n err(13);\n this.p = null;\n }\n };\n /**\n * Registers a decoder with the stream, allowing for files compressed with\n * the compression type provided to be expanded correctly\n * @param decoder The decoder constructor\n */\n Unzip.prototype.register = function (decoder) {\n this.o[decoder.compression] = decoder;\n };\n return Unzip;\n}());\nexport { Unzip };\nvar mt = typeof queueMicrotask == 'function' ? queueMicrotask : typeof setTimeout == 'function' ? setTimeout : function (fn) { fn(); };\nexport function unzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n err(7);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var cbd = function (a, b) {\n mt(function () { cb(a, b); });\n };\n mt(function () { cbd = cb; });\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cbd(err(13, 0, 1), null);\n return tAll;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (lft) {\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = lft = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n var _loop_3 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cbd(e, null);\n }\n else {\n if (d)\n files[fn] = d;\n if (!--lft)\n cbd(null, files);\n }\n };\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_1\n })) {\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n // Synchronously decompress under 512KB, or barely-compressed data\n if (su < 524288 || sc > 0.8 * su) {\n try {\n cbl(null, inflateSync(infl, { out: new u8(su) }));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl(err(14, 'unknown compression type ' + c_1, 1), null);\n }\n else\n cbl(null, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_3(i);\n }\n }\n else\n cbd(null, {});\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @param opts The ZIP extraction options\n * @returns The decompressed files\n */\nexport function unzipSync(data, opts) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n err(13);\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295 || c == 65535;\n if (z) {\n var ze = b4(data, e - 12);\n z = b4(data, ze) == 0x6064B50;\n if (z) {\n c = b4(data, ze + 32);\n o = b4(data, ze + 48);\n }\n }\n var fltr = opts && opts.filter;\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!fltr || fltr({\n name: fn,\n size: sc,\n originalSize: su,\n compression: c_2\n })) {\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), { out: new u8(su) });\n else\n err(14, 'unknown compression type ' + c_2);\n }\n }\n return files;\n}\n","export var globalObject = (function() {\n return \"undefined\" !== typeof window\n ? window\n : \"undefined\" !== typeof global\n ? global\n : \"undefined\" !== typeof self\n ? self\n : this;\n})();\n","import { globalObject } from \"./globalObject.js\";\n\nfunction consoleLog() {\n if (globalObject.console && typeof globalObject.console.log === \"function\") {\n globalObject.console.log.apply(globalObject.console, arguments);\n }\n}\n\nfunction consoleWarn(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.warn === \"function\") {\n globalObject.console.warn.apply(globalObject.console, arguments);\n } else {\n consoleLog.call(null, arguments);\n }\n }\n}\n\nfunction consoleError(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.error === \"function\") {\n globalObject.console.error.apply(globalObject.console, arguments);\n } else {\n consoleLog(str);\n }\n }\n}\nexport var console = {\n log: consoleLog,\n warn: consoleWarn,\n error: consoleError\n};\n","/**\n * @license\n * FileSaver.js\n * A saveAs() FileSaver implementation.\n *\n * By Eli Grey, http://eligrey.com\n *\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n * source : http://purl.eligrey.com/github/FileSaver.js\n */\n\nimport { globalObject as _global } from \"./globalObject.js\";\nimport { console } from \"./console.js\";\n\nfunction bom(blob, opts) {\n if (typeof opts === \"undefined\") opts = { autoBom: false };\n else if (typeof opts !== \"object\") {\n console.warn(\"Deprecated: Expected third argument to be a object\");\n opts = { autoBom: !opts };\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (\n opts.autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(\n blob.type\n )\n ) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\n\nfunction download(url, name, opts) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.onload = function() {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function() {\n console.error(\"could not download file\");\n };\n xhr.send();\n}\n\nfunction corsEnabled(url) {\n var xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open(\"HEAD\", url, false);\n try {\n xhr.send();\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299;\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent(\"click\"));\n } catch (e) {\n var evt = document.createEvent(\"MouseEvents\");\n evt.initMouseEvent(\n \"click\",\n true,\n true,\n window,\n 0,\n 0,\n 0,\n 80,\n 20,\n false,\n false,\n false,\n false,\n 0,\n null\n );\n node.dispatchEvent(evt);\n }\n}\n\nvar saveAs =\n _global.saveAs ||\n // probably in some web worker\n (typeof window !== \"object\" || window !== _global\n ? function saveAs() {\n /* noop */\n }\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a native app\n typeof HTMLAnchorElement !== \"undefined\" &&\n \"download\" in HTMLAnchorElement.prototype\n ? function saveAs(blob, name, opts) {\n var URL = _global.URL || _global.webkitURL;\n var a = document.createElement(\"a\");\n name = name || blob.name || \"download\";\n\n a.download = name;\n a.rel = \"noopener\"; // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === \"string\") {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, (a.target = \"_blank\"));\n } else {\n click(a);\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function() {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function() {\n click(a);\n }, 0);\n }\n }\n : // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in navigator\n ? function saveAs(blob, name, opts) {\n name = name || blob.name || \"download\";\n\n if (typeof blob === \"string\") {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n } else {\n var a = document.createElement(\"a\");\n a.href = blob;\n a.target = \"_blank\";\n setTimeout(function() {\n click(a);\n });\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n }\n : // Fallback to using FileReader and a popup\n function saveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open(\"\", \"_blank\");\n if (popup) {\n popup.document.title = popup.document.body.innerText =\n \"downloading...\";\n }\n\n if (typeof blob === \"string\") return download(blob, name, opts);\n\n var force = blob.type === \"application/octet-stream\";\n var isSafari =\n /constructor/i.test(_global.HTMLElement) || _global.safari;\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n\n if (\n (isChromeIOS || (force && isSafari)) &&\n typeof FileReader === \"object\"\n ) {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader();\n reader.onloadend = function() {\n var url = reader.result;\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n if (popup) popup.location.href = url;\n else location = url;\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n } else {\n var URL = _global.URL || _global.webkitURL;\n var url = URL.createObjectURL(blob);\n if (popup) popup.location = url;\n else location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function() {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n });\n\nexport { saveAs };\n","import { globalObject } from \"./globalObject.js\";\n\nvar atob, btoa;\n\n(function() {\n atob = globalObject.atob.bind(globalObject);\n btoa = globalObject.btoa.bind(globalObject);\n return;\n\n})();\n\nexport { atob, btoa };\n","/**\n * A class to parse color values\n * @author Stoyan Stefanov \n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */\n\nfunction RGBColor(color_string) {\n color_string = color_string || \"\";\n this.ok = false;\n\n // strip any leading #\n if (color_string.charAt(0) == \"#\") {\n // remove # if any\n color_string = color_string.substr(1, 6);\n }\n\n color_string = color_string.replace(/ /g, \"\");\n color_string = color_string.toLowerCase();\n\n var channels;\n\n // before getting into regexps, try simple matches\n // and overwrite the input\n var simple_colors = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"00ffff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000000\",\n blanchedalmond: \"ffebcd\",\n blue: \"0000ff\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"00ffff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dodgerblue: \"1e90ff\",\n feldspar: \"d19275\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"ff00ff\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgrey: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslateblue: \"8470ff\",\n lightslategray: \"778899\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"00ff00\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"ff00ff\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370d8\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"d87093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n red: \"ff0000\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n violetred: \"d02090\",\n wheat: \"f5deb3\",\n white: \"ffffff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ffff00\",\n yellowgreen: \"9acd32\"\n };\n color_string = simple_colors[color_string] || color_string;\n\n // array of color definition objects\n var color_defs = [\n {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n example: [\"rgb(123, 234, 45)\", \"rgb(255,234,245)\"],\n process: function(bits) {\n return [parseInt(bits[1]), parseInt(bits[2]), parseInt(bits[3])];\n }\n },\n {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n example: [\"#00ff00\", \"336699\"],\n process: function(bits) {\n return [\n parseInt(bits[1], 16),\n parseInt(bits[2], 16),\n parseInt(bits[3], 16)\n ];\n }\n },\n {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n example: [\"#fb0\", \"f0f\"],\n process: function(bits) {\n return [\n parseInt(bits[1] + bits[1], 16),\n parseInt(bits[2] + bits[2], 16),\n parseInt(bits[3] + bits[3], 16)\n ];\n }\n }\n ];\n\n // search through the definitions to find a match\n for (var i = 0; i < color_defs.length; i++) {\n var re = color_defs[i].re;\n var processor = color_defs[i].process;\n var bits = re.exec(color_string);\n if (bits) {\n channels = processor(bits);\n this.r = channels[0];\n this.g = channels[1];\n this.b = channels[2];\n this.ok = true;\n }\n }\n\n // validate/cleanup values\n this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r;\n this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g;\n this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b;\n\n // some getters\n this.toRGB = function() {\n return \"rgb(\" + this.r + \", \" + this.g + \", \" + this.b + \")\";\n };\n this.toHex = function() {\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n if (r.length == 1) r = \"0\" + r;\n if (g.length == 1) g = \"0\" + g;\n if (b.length == 1) b = \"0\" + b;\n return \"#\" + r + g + b;\n };\n}\n\nexport { RGBColor };\n","/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\n\nfunction md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a = ff(a, b, c, d, k[0], 7, -680876936);\n d = ff(d, a, b, c, k[1], 12, -389564586);\n c = ff(c, d, a, b, k[2], 17, 606105819);\n b = ff(b, c, d, a, k[3], 22, -1044525330);\n a = ff(a, b, c, d, k[4], 7, -176418897);\n d = ff(d, a, b, c, k[5], 12, 1200080426);\n c = ff(c, d, a, b, k[6], 17, -1473231341);\n b = ff(b, c, d, a, k[7], 22, -45705983);\n a = ff(a, b, c, d, k[8], 7, 1770035416);\n d = ff(d, a, b, c, k[9], 12, -1958414417);\n c = ff(c, d, a, b, k[10], 17, -42063);\n b = ff(b, c, d, a, k[11], 22, -1990404162);\n a = ff(a, b, c, d, k[12], 7, 1804603682);\n d = ff(d, a, b, c, k[13], 12, -40341101);\n c = ff(c, d, a, b, k[14], 17, -1502002290);\n b = ff(b, c, d, a, k[15], 22, 1236535329);\n\n a = gg(a, b, c, d, k[1], 5, -165796510);\n d = gg(d, a, b, c, k[6], 9, -1069501632);\n c = gg(c, d, a, b, k[11], 14, 643717713);\n b = gg(b, c, d, a, k[0], 20, -373897302);\n a = gg(a, b, c, d, k[5], 5, -701558691);\n d = gg(d, a, b, c, k[10], 9, 38016083);\n c = gg(c, d, a, b, k[15], 14, -660478335);\n b = gg(b, c, d, a, k[4], 20, -405537848);\n a = gg(a, b, c, d, k[9], 5, 568446438);\n d = gg(d, a, b, c, k[14], 9, -1019803690);\n c = gg(c, d, a, b, k[3], 14, -187363961);\n b = gg(b, c, d, a, k[8], 20, 1163531501);\n a = gg(a, b, c, d, k[13], 5, -1444681467);\n d = gg(d, a, b, c, k[2], 9, -51403784);\n c = gg(c, d, a, b, k[7], 14, 1735328473);\n b = gg(b, c, d, a, k[12], 20, -1926607734);\n\n a = hh(a, b, c, d, k[5], 4, -378558);\n d = hh(d, a, b, c, k[8], 11, -2022574463);\n c = hh(c, d, a, b, k[11], 16, 1839030562);\n b = hh(b, c, d, a, k[14], 23, -35309556);\n a = hh(a, b, c, d, k[1], 4, -1530992060);\n d = hh(d, a, b, c, k[4], 11, 1272893353);\n c = hh(c, d, a, b, k[7], 16, -155497632);\n b = hh(b, c, d, a, k[10], 23, -1094730640);\n a = hh(a, b, c, d, k[13], 4, 681279174);\n d = hh(d, a, b, c, k[0], 11, -358537222);\n c = hh(c, d, a, b, k[3], 16, -722521979);\n b = hh(b, c, d, a, k[6], 23, 76029189);\n a = hh(a, b, c, d, k[9], 4, -640364487);\n d = hh(d, a, b, c, k[12], 11, -421815835);\n c = hh(c, d, a, b, k[15], 16, 530742520);\n b = hh(b, c, d, a, k[2], 23, -995338651);\n\n a = ii(a, b, c, d, k[0], 6, -198630844);\n d = ii(d, a, b, c, k[7], 10, 1126891415);\n c = ii(c, d, a, b, k[14], 15, -1416354905);\n b = ii(b, c, d, a, k[5], 21, -57434055);\n a = ii(a, b, c, d, k[12], 6, 1700485571);\n d = ii(d, a, b, c, k[3], 10, -1894986606);\n c = ii(c, d, a, b, k[10], 15, -1051523);\n b = ii(b, c, d, a, k[1], 21, -2054922799);\n a = ii(a, b, c, d, k[8], 6, 1873313359);\n d = ii(d, a, b, c, k[15], 10, -30611744);\n c = ii(c, d, a, b, k[6], 15, -1560198380);\n b = ii(b, c, d, a, k[13], 21, 1309151649);\n a = ii(a, b, c, d, k[4], 6, -145523070);\n d = ii(d, a, b, c, k[11], 10, -1120210379);\n c = ii(c, d, a, b, k[2], 15, 718787259);\n b = ii(b, c, d, a, k[9], 21, -343485551);\n\n x[0] = add32(a, x[0]);\n x[1] = add32(b, x[1]);\n x[2] = add32(c, x[2]);\n x[3] = add32(d, x[3]);\n}\n\nfunction cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n}\n\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\n\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\n\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nfunction md51(s) {\n // txt = '';\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i;\n for (i = 64; i <= s.length; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < s.length; i++)\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i++) tail[i] = 0;\n }\n tail[14] = n * 8;\n md5cycle(state, tail);\n return state;\n}\n\n/* there needs to be support for Unicode here,\n * unless we pretend that we can redefine the MD-5\n * algorithm for multi-byte characters (perhaps\n * by adding every four 16-bit characters and\n * shortening the sum to 32 bits). Otherwise\n * I suggest performing MD-5 as if every character\n * was two bytes--e.g., 0040 0025 = @%--but then\n * how will an ordinary MD-5 sum be matched?\n * There is no way to standardize text to something\n * like UTF-8 before transformation; speed cost is\n * utterly prohibitive. The JavaScript standard\n * itself needs to look at this: it should start\n * providing access to strings as preformed UTF-8\n * 8-bit unsigned value arrays.\n */\nfunction md5blk(s) {\n /* I figured global was faster. */\n var md5blks = [],\n i; /* Andy King said do it this way. */\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n s.charCodeAt(i) +\n (s.charCodeAt(i + 1) << 8) +\n (s.charCodeAt(i + 2) << 16) +\n (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n}\n\nvar hex_chr = \"0123456789abcdef\".split(\"\");\n\nfunction rhex(n) {\n var s = \"\",\n j = 0;\n for (; j < 4; j++)\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0f] + hex_chr[(n >> (j * 8)) & 0x0f];\n return s;\n}\n\nfunction hex(x) {\n for (var i = 0; i < x.length; i++) x[i] = rhex(x[i]);\n return x.join(\"\");\n}\n\n// Converts a 4-byte number to byte string\nfunction singleToByteString(n) {\n return String.fromCharCode(\n (n & 0xff) >> 0,\n (n & 0xff00) >> 8,\n (n & 0xff0000) >> 16,\n (n & 0xff000000) >> 24\n );\n}\n\n// Converts an array of numbers to a byte string\nfunction toByteString(x) {\n return x.map(singleToByteString).join(\"\");\n}\n\n// Returns the MD5 hash as a byte string\nfunction md5Bin(s) {\n return toByteString(md51(s));\n}\n\n// Returns MD5 hash as a hex string\nfunction md5(s) {\n return hex(md51(s));\n}\n\nvar md5Check = md5(\"hello\") != \"5d41402abc4b2a76b9719d911017c592\";\n\nfunction add32(a, b) {\n if (md5Check) {\n /* if the md5Check does not match\n the expected value, we're dealing\n with an old browser and need\n this function. */\n var lsw = (a & 0xffff) + (b & 0xffff),\n msw = (a >> 16) + (b >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xffff);\n } else {\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n return (a + b) & 0xffffffff;\n }\n}\n\nexport { md5, md5Bin };\n","/**\r\n * @license\r\n * FPDF is released under a permissive license: there is no usage restriction.\r\n * You may embed it freely in your application (commercial or not), with or\r\n * without modifications.\r\n *\r\n * Reference: http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nfunction repeat(str, num) {\r\n return new Array(num + 1).join(str);\r\n}\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name rc4\r\n * @function\r\n * @param {string} key Byte string of encryption key\r\n * @param {string} data Byte string of data to be encrypted\r\n * @returns {string} Encrypted string\r\n */\r\nfunction rc4(key, data) {\r\n var lastKey, lastState;\r\n if (key !== lastKey) {\r\n var k = repeat(key, ((256 / key.length) >> 0) + 1);\r\n var state = [];\r\n for (var i = 0; i < 256; i++) {\r\n state[i] = i;\r\n }\r\n var j = 0;\r\n for (var i = 0; i < 256; i++) {\r\n var t = state[i];\r\n j = (j + t + k.charCodeAt(i)) % 256;\r\n state[i] = state[j];\r\n state[j] = t;\r\n }\r\n lastKey = key;\r\n lastState = state;\r\n } else {\r\n state = lastState;\r\n }\r\n var length = data.length;\r\n var a = 0;\r\n var b = 0;\r\n var out = \"\";\r\n for (var i = 0; i < length; i++) {\r\n a = (a + 1) % 256;\r\n t = state[a];\r\n b = (b + t) % 256;\r\n state[a] = state[b];\r\n state[b] = t;\r\n k = state[(state[a] + state[b]) % 256];\r\n out += String.fromCharCode(data.charCodeAt(i) ^ k);\r\n }\r\n return out;\r\n}\r\n\r\nexport { rc4 };\r\n","/**\r\n * @license\r\n * Licensed under the MIT License.\r\n * http://opensource.org/licenses/mit-license\r\n * Author: Owen Leong (@owenl131)\r\n * Date: 15 Oct 2020\r\n * References:\r\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\r\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\r\n * http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nimport { md5Bin } from \"./md5.js\";\r\nimport { rc4 } from \"./rc4.js\";\r\n\r\nvar permissionOptions = {\r\n print: 4,\r\n modify: 8,\r\n copy: 16,\r\n \"annot-forms\": 32\r\n};\r\n\r\n/**\r\n * Initializes encryption settings\r\n *\r\n * @name constructor\r\n * @function\r\n * @param {Array} permissions Permissions allowed for user, \"print\", \"modify\", \"copy\" and \"annot-forms\".\r\n * @param {String} userPassword Permissions apply to this user. Leaving this empty means the document\r\n * is not password protected but viewer has the above permissions.\r\n * @param {String} ownerPassword Owner has full functionalities to the file.\r\n * @param {String} fileId As hex string, should be same as the file ID in the trailer.\r\n * @example\r\n * var security = new PDFSecurity([\"print\"])\r\n */\r\nfunction PDFSecurity(permissions, userPassword, ownerPassword, fileId) {\r\n this.v = 1; // algorithm 1, future work can add in more recent encryption schemes\r\n this.r = 2; // revision 2\r\n\r\n // set flags for what functionalities the user can access\r\n let protection = 192;\r\n permissions.forEach(function(perm) {\r\n if (typeof permissionOptions.perm !== \"undefined\") {\r\n throw new Error(\"Invalid permission: \" + perm);\r\n }\r\n protection += permissionOptions[perm];\r\n });\r\n\r\n // padding is used to pad the passwords to 32 bytes, also is hashed and stored in the final PDF\r\n this.padding =\r\n \"\\x28\\xBF\\x4E\\x5E\\x4E\\x75\\x8A\\x41\\x64\\x00\\x4E\\x56\\xFF\\xFA\\x01\\x08\" +\r\n \"\\x2E\\x2E\\x00\\xB6\\xD0\\x68\\x3E\\x80\\x2F\\x0C\\xA9\\xFE\\x64\\x53\\x69\\x7A\";\r\n let paddedUserPassword = (userPassword + this.padding).substr(0, 32);\r\n let paddedOwnerPassword = (ownerPassword + this.padding).substr(0, 32);\r\n\r\n this.O = this.processOwnerPassword(paddedUserPassword, paddedOwnerPassword);\r\n this.P = -((protection ^ 255) + 1);\r\n this.encryptionKey = md5Bin(\r\n paddedUserPassword +\r\n this.O +\r\n this.lsbFirstWord(this.P) +\r\n this.hexToBytes(fileId)\r\n ).substr(0, 5);\r\n this.U = rc4(this.encryptionKey, this.padding);\r\n}\r\n\r\n/**\r\n * Breaks down a 4-byte number into its individual bytes, with the least significant bit first\r\n *\r\n * @name lsbFirstWord\r\n * @function\r\n * @param {number} data 32-bit number\r\n * @returns {Array}\r\n */\r\nPDFSecurity.prototype.lsbFirstWord = function(data) {\r\n return String.fromCharCode(\r\n (data >> 0) & 0xff,\r\n (data >> 8) & 0xff,\r\n (data >> 16) & 0xff,\r\n (data >> 24) & 0xff\r\n );\r\n};\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name toHexString\r\n * @function\r\n * @param {String} byteString Byte string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.toHexString = function(byteString) {\r\n return byteString\r\n .split(\"\")\r\n .map(function(byte) {\r\n return (\"0\" + (byte.charCodeAt(0) & 0xff).toString(16)).slice(-2);\r\n })\r\n .join(\"\");\r\n};\r\n\r\n/**\r\n * Converts a hex string to a byte string\r\n *\r\n * @name hexToBytes\r\n * @function\r\n * @param {String} hex Hex string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.hexToBytes = function(hex) {\r\n for (var bytes = [], c = 0; c < hex.length; c += 2)\r\n bytes.push(String.fromCharCode(parseInt(hex.substr(c, 2), 16)));\r\n return bytes.join(\"\");\r\n};\r\n\r\n/**\r\n * Computes the 'O' field in the encryption dictionary\r\n *\r\n * @name processOwnerPassword\r\n * @function\r\n * @param {String} paddedUserPassword Byte string of padded user password\r\n * @param {String} paddedOwnerPassword Byte string of padded owner password\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.processOwnerPassword = function(\r\n paddedUserPassword,\r\n paddedOwnerPassword\r\n) {\r\n let key = md5Bin(paddedOwnerPassword).substr(0, 5);\r\n return rc4(key, paddedUserPassword);\r\n};\r\n\r\n/**\r\n * Returns an encryptor function which can take in a byte string and returns the encrypted version\r\n *\r\n * @name encryptor\r\n * @function\r\n * @param {number} objectId\r\n * @param {number} generation Not sure what this is for, you can set it to 0\r\n * @returns {Function}\r\n * @example\r\n * out(\"stream\");\r\n * encryptor = security.encryptor(object.id, 0);\r\n * out(encryptor(data));\r\n * out(\"endstream\");\r\n */\r\nPDFSecurity.prototype.encryptor = function(objectId, generation) {\r\n let key = md5Bin(\r\n this.encryptionKey +\r\n String.fromCharCode(\r\n objectId & 0xff,\r\n (objectId >> 8) & 0xff,\r\n (objectId >> 16) & 0xff,\r\n generation & 0xff,\r\n (generation >> 8) & 0xff\r\n )\r\n ).substr(0, 10);\r\n return function(data) {\r\n return rc4(key, data);\r\n };\r\n};\r\n\r\nexport { PDFSecurity };\r\n","/**\n * Convert string to `PDF Name Object`.\n * Detail: PDF Reference 1.3 - Chapter 3.2.4 Name Object\n * @param str\n */\nfunction toPDFName(str) {\n // eslint-disable-next-line no-control-regex\n if (/[^\\u0000-\\u00ff]/.test(str)) {\n // non ascii string\n throw new Error(\n \"Invalid PDF Name Object: \" + str + \", Only accept ASCII characters.\"\n );\n }\n var result = \"\",\n strLength = str.length;\n for (var i = 0; i < strLength; i++) {\n var charCode = str.charCodeAt(i);\n if (\n charCode < 0x21 ||\n charCode === 0x23 /* # */ ||\n charCode === 0x25 /* % */ ||\n charCode === 0x28 /* ( */ ||\n charCode === 0x29 /* ) */ ||\n charCode === 0x2f /* / */ ||\n charCode === 0x3c /* < */ ||\n charCode === 0x3e /* > */ ||\n charCode === 0x5b /* [ */ ||\n charCode === 0x5d /* ] */ ||\n charCode === 0x7b /* { */ ||\n charCode === 0x7d /* } */ ||\n charCode > 0x7e\n ) {\n // Char CharCode hexStr paddingHexStr Result\n // \"\\t\" 9 9 09 #09\n // \" \" 32 20 20 #20\n // \"©\" 169 a9 a9 #a9\n var hexStr = charCode.toString(16),\n paddingHexStr = (\"0\" + hexStr).slice(-2);\n\n result += \"#\" + paddingHexStr;\n } else {\n // Other ASCII printable characters between 0x21 <= X <= 0x7e\n result += str[i];\n }\n }\n return result;\n}\n\nexport { toPDFName };\n","/* eslint-disable no-console */\r\n\r\nimport { saveAs } from \"./libs/FileSaver.js\";\r\nimport { globalObject } from \"./libs/globalObject.js\";\r\nimport { RGBColor } from \"./libs/rgbcolor.js\";\r\nimport { btoa } from \"./libs/AtobBtoa.js\";\r\nimport { console } from \"./libs/console.js\";\r\nimport { PDFSecurity } from \"./libs/pdfsecurity.js\";\r\nimport { toPDFName } from \"./libs/pdfname.js\";\r\n/**\r\n * jsPDF's Internal PubSub Implementation.\r\n * Backward compatible rewritten on 2014 by\r\n * Diego Casorran, https://github.com/diegocr\r\n *\r\n * @class\r\n * @name PubSub\r\n * @ignore\r\n */\r\nfunction PubSub(context) {\r\n if (typeof context !== \"object\") {\r\n throw new Error(\r\n \"Invalid Context passed to initialize PubSub (jsPDF-module)\"\r\n );\r\n }\r\n var topics = {};\r\n\r\n this.subscribe = function(topic, callback, once) {\r\n once = once || false;\r\n if (\r\n typeof topic !== \"string\" ||\r\n typeof callback !== \"function\" ||\r\n typeof once !== \"boolean\"\r\n ) {\r\n throw new Error(\r\n \"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\"\r\n );\r\n }\r\n\r\n if (!topics.hasOwnProperty(topic)) {\r\n topics[topic] = {};\r\n }\r\n\r\n var token = Math.random().toString(35);\r\n topics[topic][token] = [callback, !!once];\r\n\r\n return token;\r\n };\r\n\r\n this.unsubscribe = function(token) {\r\n for (var topic in topics) {\r\n if (topics[topic][token]) {\r\n delete topics[topic][token];\r\n if (Object.keys(topics[topic]).length === 0) {\r\n delete topics[topic];\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n this.publish = function(topic) {\r\n if (topics.hasOwnProperty(topic)) {\r\n var args = Array.prototype.slice.call(arguments, 1),\r\n tokens = [];\r\n\r\n for (var token in topics[topic]) {\r\n var sub = topics[topic][token];\r\n try {\r\n sub[0].apply(context, args);\r\n } catch (ex) {\r\n if (globalObject.console) {\r\n console.error(\"jsPDF PubSub Error\", ex.message, ex);\r\n }\r\n }\r\n if (sub[1]) tokens.push(token);\r\n }\r\n if (tokens.length) tokens.forEach(this.unsubscribe);\r\n }\r\n };\r\n\r\n this.getTopics = function() {\r\n return topics;\r\n };\r\n}\r\n\r\nfunction GState(parameters) {\r\n if (!(this instanceof GState)) {\r\n return new GState(parameters);\r\n }\r\n\r\n /**\r\n * @name GState#opacity\r\n * @type {any}\r\n */\r\n /**\r\n * @name GState#stroke-opacity\r\n * @type {any}\r\n */\r\n var supported = \"opacity,stroke-opacity\".split(\",\");\r\n for (var p in parameters) {\r\n if (parameters.hasOwnProperty(p) && supported.indexOf(p) >= 0) {\r\n this[p] = parameters[p];\r\n }\r\n }\r\n /**\r\n * @name GState#id\r\n * @type {string}\r\n */\r\n this.id = \"\"; // set by addGState()\r\n /**\r\n * @name GState#objectNumber\r\n * @type {number}\r\n */\r\n this.objectNumber = -1; // will be set by putGState()\r\n}\r\n\r\nGState.prototype.equals = function equals(other) {\r\n var ignore = \"id,objectNumber,equals\";\r\n var p;\r\n if (!other || typeof other !== typeof this) return false;\r\n var count = 0;\r\n for (p in this) {\r\n if (ignore.indexOf(p) >= 0) continue;\r\n if (this.hasOwnProperty(p) && !other.hasOwnProperty(p)) return false;\r\n if (this[p] !== other[p]) return false;\r\n count++;\r\n }\r\n for (p in other) {\r\n if (other.hasOwnProperty(p) && ignore.indexOf(p) < 0) count--;\r\n }\r\n return count === 0;\r\n};\r\n\r\nfunction Pattern(gState, matrix) {\r\n this.gState = gState;\r\n this.matrix = matrix;\r\n\r\n this.id = \"\"; // set by addPattern()\r\n this.objectNumber = -1; // will be set by putPattern()\r\n}\r\n\r\nfunction ShadingPattern(type, coords, colors, gState, matrix) {\r\n if (!(this instanceof ShadingPattern)) {\r\n return new ShadingPattern(type, coords, colors, gState, matrix);\r\n }\r\n\r\n // see putPattern() for information how they are realized\r\n this.type = type === \"axial\" ? 2 : 3;\r\n this.coords = coords;\r\n this.colors = colors;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\nfunction TilingPattern(boundingBox, xStep, yStep, gState, matrix) {\r\n if (!(this instanceof TilingPattern)) {\r\n return new TilingPattern(boundingBox, xStep, yStep, gState, matrix);\r\n }\r\n\r\n this.boundingBox = boundingBox;\r\n this.xStep = xStep;\r\n this.yStep = yStep;\r\n\r\n this.stream = \"\"; // set by endTilingPattern();\r\n\r\n this.cloneIndex = 0;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\n/**\r\n * Creates new jsPDF document object instance.\r\n * @name jsPDF\r\n * @class\r\n * @param {Object} [options] - Collection of settings initializing the jsPDF-instance\r\n * @param {string} [options.orientation=portrait] - Orientation of the first page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" or \"l\").
\r\n * @param {string} [options.unit=mm] Measurement unit (base unit) to be used when coordinates are specified.
\r\n * Possible values are \"pt\" (points), \"mm\", \"cm\", \"in\", \"px\", \"pc\", \"em\" or \"ex\". Note that in order to get the correct scaling for \"px\"\r\n * units, you need to enable the hotfix \"px_scaling\" by setting options.hotfixes = [\"px_scaling\"].\r\n * @param {string/Array} [options.format=a4] The format of the first 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 {boolean} [options.putOnlyUsedFonts=false] Only put fonts into the PDF, which were used.\r\n * @param {boolean} [options.compress=false] Compress the generated PDF.\r\n * @param {number} [options.precision=16] Precision of the element-positions.\r\n * @param {number} [options.userUnit=1.0] Not to be confused with the base unit. Please inform yourself before you use it.\r\n * @param {string[]} [options.hotfixes] An array of strings to enable hotfixes such as correct pixel scaling.\r\n * @param {Object} [options.encryption]\r\n * @param {string} [options.encryption.userPassword] Password for the user bound by the given permissions list.\r\n * @param {string} [options.encryption.ownerPassword] Both userPassword and ownerPassword should be set for proper authentication.\r\n * @param {string[]} [options.encryption.userPermissions] Array of permissions \"print\", \"modify\", \"copy\", \"annot-forms\", accessible by the user.\r\n * @param {number|\"smart\"} [options.floatPrecision=16]\r\n * @returns {jsPDF} jsPDF-instance\r\n * @description\r\n * ```\r\n * {\r\n * orientation: 'p',\r\n * unit: 'mm',\r\n * format: 'a4',\r\n * putOnlyUsedFonts:true,\r\n * floatPrecision: 16 // or \"smart\", default is 16\r\n * }\r\n * ```\r\n *\r\n * @constructor\r\n */\r\nfunction jsPDF(options) {\r\n var orientation = typeof arguments[0] === \"string\" ? arguments[0] : \"p\";\r\n var unit = arguments[1];\r\n var format = arguments[2];\r\n var compressPdf = arguments[3];\r\n var filters = [];\r\n var userUnit = 1.0;\r\n var precision;\r\n var floatPrecision = 16;\r\n var defaultPathOperation = \"S\";\r\n var encryptionOptions = null;\r\n\r\n options = options || {};\r\n\r\n if (typeof options === \"object\") {\r\n orientation = options.orientation;\r\n unit = options.unit || unit;\r\n format = options.format || format;\r\n compressPdf = options.compress || options.compressPdf || compressPdf;\r\n encryptionOptions = options.encryption || null;\r\n if (encryptionOptions !== null) {\r\n encryptionOptions.userPassword = encryptionOptions.userPassword || \"\";\r\n encryptionOptions.ownerPassword = encryptionOptions.ownerPassword || \"\";\r\n encryptionOptions.userPermissions =\r\n encryptionOptions.userPermissions || [];\r\n }\r\n userUnit =\r\n typeof options.userUnit === \"number\" ? Math.abs(options.userUnit) : 1.0;\r\n if (typeof options.precision !== \"undefined\") {\r\n precision = options.precision;\r\n }\r\n if (typeof options.floatPrecision !== \"undefined\") {\r\n floatPrecision = options.floatPrecision;\r\n }\r\n defaultPathOperation = options.defaultPathOperation || \"S\";\r\n }\r\n\r\n filters =\r\n options.filters || (compressPdf === true ? [\"FlateEncode\"] : filters);\r\n\r\n unit = unit || \"mm\";\r\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\r\n var putOnlyUsedFonts = options.putOnlyUsedFonts || false;\r\n var usedFonts = {};\r\n\r\n var API = {\r\n internal: {},\r\n __private__: {}\r\n };\r\n\r\n API.__private__.PubSub = PubSub;\r\n\r\n var pdfVersion = \"1.3\";\r\n var getPdfVersion = (API.__private__.getPdfVersion = function() {\r\n return pdfVersion;\r\n });\r\n\r\n API.__private__.setPdfVersion = function(value) {\r\n pdfVersion = value;\r\n };\r\n\r\n // Size in pt of various paper formats\r\n var pageFormats = {\r\n a0: [2383.94, 3370.39],\r\n a1: [1683.78, 2383.94],\r\n a2: [1190.55, 1683.78],\r\n a3: [841.89, 1190.55],\r\n a4: [595.28, 841.89],\r\n a5: [419.53, 595.28],\r\n a6: [297.64, 419.53],\r\n a7: [209.76, 297.64],\r\n a8: [147.4, 209.76],\r\n a9: [104.88, 147.4],\r\n a10: [73.7, 104.88],\r\n b0: [2834.65, 4008.19],\r\n b1: [2004.09, 2834.65],\r\n b2: [1417.32, 2004.09],\r\n b3: [1000.63, 1417.32],\r\n b4: [708.66, 1000.63],\r\n b5: [498.9, 708.66],\r\n b6: [354.33, 498.9],\r\n b7: [249.45, 354.33],\r\n b8: [175.75, 249.45],\r\n b9: [124.72, 175.75],\r\n b10: [87.87, 124.72],\r\n c0: [2599.37, 3676.54],\r\n c1: [1836.85, 2599.37],\r\n c2: [1298.27, 1836.85],\r\n c3: [918.43, 1298.27],\r\n c4: [649.13, 918.43],\r\n c5: [459.21, 649.13],\r\n c6: [323.15, 459.21],\r\n c7: [229.61, 323.15],\r\n c8: [161.57, 229.61],\r\n c9: [113.39, 161.57],\r\n c10: [79.37, 113.39],\r\n dl: [311.81, 623.62],\r\n letter: [612, 792],\r\n \"government-letter\": [576, 756],\r\n legal: [612, 1008],\r\n \"junior-legal\": [576, 360],\r\n ledger: [1224, 792],\r\n tabloid: [792, 1224],\r\n \"credit-card\": [153, 243]\r\n };\r\n\r\n API.__private__.getPageFormats = function() {\r\n return pageFormats;\r\n };\r\n\r\n var getPageFormat = (API.__private__.getPageFormat = function(value) {\r\n return pageFormats[value];\r\n });\r\n\r\n format = format || \"a4\";\r\n\r\n var ApiMode = {\r\n COMPAT: \"compat\",\r\n ADVANCED: \"advanced\"\r\n };\r\n var apiMode = ApiMode.COMPAT;\r\n\r\n function advancedAPI() {\r\n // prepend global change of basis matrix\r\n // (Now, instead of converting every coordinate to the pdf coordinate system, we apply a matrix\r\n // that does this job for us (however, texts, images and similar objects must be drawn bottom up))\r\n this.saveGraphicsState();\r\n out(\r\n new Matrix(\r\n scaleFactor,\r\n 0,\r\n 0,\r\n -scaleFactor,\r\n 0,\r\n getPageHeight() * scaleFactor\r\n ).toString() + \" cm\"\r\n );\r\n this.setFontSize(this.getFontSize() / scaleFactor);\r\n\r\n // The default in MrRio's implementation is \"S\" (stroke), whereas the default in the yWorks implementation\r\n // was \"n\" (none). Although this has nothing to do with transforms, we should use the API switch here.\r\n defaultPathOperation = \"n\";\r\n\r\n apiMode = ApiMode.ADVANCED;\r\n }\r\n\r\n function compatAPI() {\r\n this.restoreGraphicsState();\r\n defaultPathOperation = \"S\";\r\n apiMode = ApiMode.COMPAT;\r\n }\r\n\r\n /**\r\n * @function combineFontStyleAndFontWeight\r\n * @param {string} fontStyle Fontstyle or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @returns {string}\r\n * @private\r\n */\r\n var combineFontStyleAndFontWeight = (API.__private__.combineFontStyleAndFontWeight = function(\r\n fontStyle,\r\n fontWeight\r\n ) {\r\n if (\r\n (fontStyle == \"bold\" && fontWeight == \"normal\") ||\r\n (fontStyle == \"bold\" && fontWeight == 400) ||\r\n (fontStyle == \"normal\" && fontWeight == \"italic\") ||\r\n (fontStyle == \"bold\" && fontWeight == \"italic\")\r\n ) {\r\n throw new Error(\"Invalid Combination of fontweight and fontstyle\");\r\n }\r\n if (fontWeight) {\r\n fontStyle =\r\n fontWeight == 400 || fontWeight === \"normal\"\r\n ? fontStyle === \"italic\"\r\n ? \"italic\"\r\n : \"normal\"\r\n : (fontWeight == 700 || fontWeight === \"bold\") &&\r\n fontStyle === \"normal\"\r\n ? \"bold\"\r\n : (fontWeight == 700 ? \"bold\" : fontWeight) + \"\" + fontStyle;\r\n }\r\n return fontStyle;\r\n });\r\n\r\n /**\r\n * @callback ApiSwitchBody\r\n * @param {jsPDF} pdf\r\n */\r\n\r\n /**\r\n * For compatibility reasons jsPDF offers two API modes which differ in the way they convert between the the usual\r\n * screen coordinates and the PDF coordinate system.\r\n * - \"compat\": Offers full compatibility across all plugins but does not allow arbitrary transforms\r\n * - \"advanced\": Allows arbitrary transforms and more advanced features like pattern fills. Some plugins might\r\n * not support this mode, though.\r\n * Initial mode is \"compat\".\r\n *\r\n * You can either provide a callback to the body argument, which means that jsPDF will automatically switch back to\r\n * the original API mode afterwards; or you can omit the callback and switch back manually using {@link compatAPI}.\r\n *\r\n * Note, that the calls to {@link saveGraphicsState} and {@link restoreGraphicsState} need to be balanced within the\r\n * callback or between calls of this method and its counterpart {@link compatAPI}. Calls to {@link beginFormObject}\r\n * or {@link beginTilingPattern} need to be closed by their counterparts before switching back to \"compat\" API mode.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name advancedAPI\r\n */\r\n API.advancedAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.COMPAT;\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Switches to \"compat\" API mode. See {@link advancedAPI} for more details.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @return {jsPDF}\r\n * @memberof jsPDF#\r\n * @name compatApi\r\n */\r\n API.compatAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.ADVANCED;\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * @return {boolean} True iff the current API mode is \"advanced\". See {@link advancedAPI}.\r\n * @memberof jsPDF#\r\n * @name isAdvancedAPI\r\n */\r\n API.isAdvancedAPI = function() {\r\n return apiMode === ApiMode.ADVANCED;\r\n };\r\n\r\n var advancedApiModeTrap = function(methodName) {\r\n if (apiMode !== ApiMode.ADVANCED) {\r\n throw new Error(\r\n methodName +\r\n \" is only available in 'advanced' API mode. \" +\r\n \"You need to call advancedAPI() first.\"\r\n );\r\n }\r\n };\r\n\r\n var roundToPrecision = (API.roundToPrecision = API.__private__.roundToPrecision = function(\r\n number,\r\n parmPrecision\r\n ) {\r\n var tmpPrecision = precision || parmPrecision;\r\n if (isNaN(number) || isNaN(tmpPrecision)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");\r\n }\r\n return number.toFixed(tmpPrecision).replace(/0+$/, \"\");\r\n });\r\n\r\n // high precision float\r\n var hpf;\r\n if (typeof floatPrecision === \"number\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, floatPrecision);\r\n };\r\n } else if (floatPrecision === \"smart\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n if (number > -1 && number < 1) {\r\n return roundToPrecision(number, 16);\r\n } else {\r\n return roundToPrecision(number, 5);\r\n }\r\n };\r\n } else {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, 16);\r\n };\r\n }\r\n var f2 = (API.f2 = API.__private__.f2 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f2\");\r\n }\r\n return roundToPrecision(number, 2);\r\n });\r\n\r\n var f3 = (API.__private__.f3 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f3\");\r\n }\r\n return roundToPrecision(number, 3);\r\n });\r\n\r\n var scale = (API.scale = API.__private__.scale = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.scale\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return number * scaleFactor;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return number;\r\n }\r\n });\r\n\r\n var transformY = function(y) {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return getPageHeight() - y;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return y;\r\n }\r\n };\r\n\r\n var transformScaleY = function(y) {\r\n return scale(transformY(y));\r\n };\r\n\r\n /**\r\n * @name setPrecision\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} precision\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setPrecision = API.setPrecision = function(value) {\r\n if (typeof parseInt(value, 10) === \"number\") {\r\n precision = parseInt(value, 10);\r\n }\r\n };\r\n\r\n var fileId = \"00000000000000000000000000000000\";\r\n\r\n var getFileId = (API.__private__.getFileId = function() {\r\n return fileId;\r\n });\r\n\r\n var setFileId = (API.__private__.setFileId = function(value) {\r\n if (typeof value !== \"undefined\" && /^[a-fA-F0-9]{32}$/.test(value)) {\r\n fileId = value.toUpperCase();\r\n } else {\r\n fileId = fileId\r\n .split(\"\")\r\n .map(function() {\r\n return \"ABCDEF0123456789\".charAt(Math.floor(Math.random() * 16));\r\n })\r\n .join(\"\");\r\n }\r\n\r\n if (encryptionOptions !== null) {\r\n encryption = new PDFSecurity(\r\n encryptionOptions.userPermissions,\r\n encryptionOptions.userPassword,\r\n encryptionOptions.ownerPassword,\r\n fileId\r\n );\r\n }\r\n return fileId;\r\n });\r\n\r\n /**\r\n * @name setFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} value GUID.\r\n * @returns {jsPDF}\r\n */\r\n API.setFileId = function(value) {\r\n setFileId(value);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n *\r\n * @returns {string} GUID.\r\n */\r\n API.getFileId = function() {\r\n return getFileId();\r\n };\r\n\r\n var creationDate;\r\n\r\n var convertDateToPDFDate = (API.__private__.convertDateToPDFDate = function(\r\n parmDate\r\n ) {\r\n var result = \"\";\r\n var tzoffset = parmDate.getTimezoneOffset(),\r\n tzsign = tzoffset < 0 ? \"+\" : \"-\",\r\n tzhour = Math.floor(Math.abs(tzoffset / 60)),\r\n tzmin = Math.abs(tzoffset % 60),\r\n timeZoneString = [tzsign, padd2(tzhour), \"'\", padd2(tzmin), \"'\"].join(\"\");\r\n\r\n result = [\r\n \"D:\",\r\n parmDate.getFullYear(),\r\n padd2(parmDate.getMonth() + 1),\r\n padd2(parmDate.getDate()),\r\n padd2(parmDate.getHours()),\r\n padd2(parmDate.getMinutes()),\r\n padd2(parmDate.getSeconds()),\r\n timeZoneString\r\n ].join(\"\");\r\n return result;\r\n });\r\n\r\n var convertPDFDateToDate = (API.__private__.convertPDFDateToDate = function(\r\n parmPDFDate\r\n ) {\r\n var year = parseInt(parmPDFDate.substr(2, 4), 10);\r\n var month = parseInt(parmPDFDate.substr(6, 2), 10) - 1;\r\n var date = parseInt(parmPDFDate.substr(8, 2), 10);\r\n var hour = parseInt(parmPDFDate.substr(10, 2), 10);\r\n var minutes = parseInt(parmPDFDate.substr(12, 2), 10);\r\n var seconds = parseInt(parmPDFDate.substr(14, 2), 10);\r\n // var timeZoneHour = parseInt(parmPDFDate.substr(16, 2), 10);\r\n // var timeZoneMinutes = parseInt(parmPDFDate.substr(20, 2), 10);\r\n\r\n var resultingDate = new Date(year, month, date, hour, minutes, seconds, 0);\r\n return resultingDate;\r\n });\r\n\r\n var setCreationDate = (API.__private__.setCreationDate = function(date) {\r\n var tmpCreationDateString;\r\n var regexPDFCreationDate = /^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/;\r\n if (typeof date === \"undefined\") {\r\n date = new Date();\r\n }\r\n\r\n if (date instanceof Date) {\r\n tmpCreationDateString = convertDateToPDFDate(date);\r\n } else if (regexPDFCreationDate.test(date)) {\r\n tmpCreationDateString = date;\r\n } else {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");\r\n }\r\n creationDate = tmpCreationDateString;\r\n return creationDate;\r\n });\r\n\r\n var getCreationDate = (API.__private__.getCreationDate = function(type) {\r\n var result = creationDate;\r\n if (type === \"jsDate\") {\r\n result = convertPDFDateToDate(creationDate);\r\n }\r\n return result;\r\n });\r\n\r\n /**\r\n * @name setCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} date\r\n * @returns {jsPDF}\r\n */\r\n API.setCreationDate = function(date) {\r\n setCreationDate(date);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} type\r\n * @returns {Object}\r\n */\r\n API.getCreationDate = function(type) {\r\n return getCreationDate(type);\r\n };\r\n\r\n var padd2 = (API.__private__.padd2 = function(number) {\r\n return (\"0\" + parseInt(number)).slice(-2);\r\n });\r\n\r\n var padd2Hex = (API.__private__.padd2Hex = function(hexString) {\r\n hexString = hexString.toString();\r\n return (\"00\" + hexString).substr(hexString.length);\r\n });\r\n\r\n var objectNumber = 0; // 'n' Current object number\r\n var offsets = []; // List of offsets. Activated and reset by buildDocument(). Pupulated by various calls buildDocument makes.\r\n var content = [];\r\n var contentLength = 0;\r\n var additionalObjects = [];\r\n\r\n var pages = [];\r\n var currentPage;\r\n var hasCustomDestination = false;\r\n var outputDestination = content;\r\n\r\n var resetDocument = function() {\r\n //reset fields relevant for objectNumber generation and xref.\r\n objectNumber = 0;\r\n contentLength = 0;\r\n content = [];\r\n offsets = [];\r\n additionalObjects = [];\r\n\r\n rootDictionaryObjId = newObjectDeferred();\r\n resourceDictionaryObjId = newObjectDeferred();\r\n };\r\n\r\n API.__private__.setCustomOutputDestination = function(destination) {\r\n hasCustomDestination = true;\r\n outputDestination = destination;\r\n };\r\n var setOutputDestination = function(destination) {\r\n if (!hasCustomDestination) {\r\n outputDestination = destination;\r\n }\r\n };\r\n\r\n API.__private__.resetCustomOutputDestination = function() {\r\n hasCustomDestination = false;\r\n outputDestination = content;\r\n };\r\n\r\n var out = (API.__private__.out = function(string) {\r\n string = string.toString();\r\n contentLength += string.length + 1;\r\n outputDestination.push(string);\r\n\r\n return outputDestination;\r\n });\r\n\r\n var write = (API.__private__.write = function(value) {\r\n return out(\r\n arguments.length === 1\r\n ? value.toString()\r\n : Array.prototype.join.call(arguments, \" \")\r\n );\r\n });\r\n\r\n var getArrayBuffer = (API.__private__.getArrayBuffer = function(data) {\r\n var len = data.length,\r\n ab = new ArrayBuffer(len),\r\n u8 = new Uint8Array(ab);\r\n\r\n while (len--) u8[len] = data.charCodeAt(len);\r\n return ab;\r\n });\r\n\r\n var standardFonts = [\r\n [\"Helvetica\", \"helvetica\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Bold\", \"helvetica\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Oblique\", \"helvetica\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-BoldOblique\", \"helvetica\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Courier\", \"courier\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Courier-Bold\", \"courier\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Courier-Oblique\", \"courier\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Courier-BoldOblique\", \"courier\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Times-Roman\", \"times\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Times-Bold\", \"times\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Times-Italic\", \"times\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Times-BoldItalic\", \"times\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"ZapfDingbats\", \"zapfdingbats\", \"normal\", null],\r\n [\"Symbol\", \"symbol\", \"normal\", null]\r\n ];\r\n\r\n API.__private__.getStandardFonts = function() {\r\n return standardFonts;\r\n };\r\n\r\n var activeFontSize = options.fontSize || 16;\r\n\r\n /**\r\n * Sets font size for upcoming text elements.\r\n *\r\n * @param {number} size Font size in points.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFontSize\r\n */\r\n API.__private__.setFontSize = API.setFontSize = function(size) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n activeFontSize = size / scaleFactor;\r\n } else {\r\n activeFontSize = size;\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets the fontsize for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number}\r\n * @memberof jsPDF#\r\n * @name getFontSize\r\n */\r\n var getFontSize = (API.__private__.getFontSize = API.getFontSize = function() {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return activeFontSize;\r\n } else {\r\n return activeFontSize * scaleFactor;\r\n }\r\n });\r\n\r\n var R2L = options.R2L || false;\r\n\r\n /**\r\n * Set value of R2L functionality.\r\n *\r\n * @param {boolean} value\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setR2L\r\n */\r\n API.__private__.setR2L = API.setR2L = function(value) {\r\n R2L = value;\r\n return this;\r\n };\r\n\r\n /**\r\n * Get value of R2L functionality.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {boolean} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name getR2L\r\n */\r\n API.__private__.getR2L = API.getR2L = function() {\r\n return R2L;\r\n };\r\n\r\n var zoomMode; // default: 1;\r\n\r\n var setZoomMode = (API.__private__.setZoomMode = function(zoom) {\r\n var validZoomModes = [\r\n undefined,\r\n null,\r\n \"fullwidth\",\r\n \"fullheight\",\r\n \"fullpage\",\r\n \"original\"\r\n ];\r\n\r\n if (/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(zoom)) {\r\n zoomMode = zoom;\r\n } else if (!isNaN(zoom)) {\r\n zoomMode = parseInt(zoom, 10);\r\n } else if (validZoomModes.indexOf(zoom) !== -1) {\r\n zoomMode = zoom;\r\n } else {\r\n throw new Error(\r\n 'zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"' +\r\n zoom +\r\n '\" is not recognized.'\r\n );\r\n }\r\n });\r\n\r\n API.__private__.getZoomMode = function() {\r\n return zoomMode;\r\n };\r\n\r\n var pageMode; // default: 'UseOutlines';\r\n var setPageMode = (API.__private__.setPageMode = function(pmode) {\r\n var validPageModes = [\r\n undefined,\r\n null,\r\n \"UseNone\",\r\n \"UseOutlines\",\r\n \"UseThumbs\",\r\n \"FullScreen\"\r\n ];\r\n\r\n if (validPageModes.indexOf(pmode) == -1) {\r\n throw new Error(\r\n 'Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"' +\r\n pmode +\r\n '\" is not recognized.'\r\n );\r\n }\r\n pageMode = pmode;\r\n });\r\n\r\n API.__private__.getPageMode = function() {\r\n return pageMode;\r\n };\r\n\r\n var layoutMode; // default: 'continuous';\r\n var setLayoutMode = (API.__private__.setLayoutMode = function(layout) {\r\n var validLayoutModes = [\r\n undefined,\r\n null,\r\n \"continuous\",\r\n \"single\",\r\n \"twoleft\",\r\n \"tworight\",\r\n \"two\"\r\n ];\r\n\r\n if (validLayoutModes.indexOf(layout) == -1) {\r\n throw new Error(\r\n 'Layout mode must be one of continuous, single, twoleft, tworight. \"' +\r\n layout +\r\n '\" is not recognized.'\r\n );\r\n }\r\n layoutMode = layout;\r\n });\r\n\r\n API.__private__.getLayoutMode = function() {\r\n return layoutMode;\r\n };\r\n\r\n /**\r\n * Set the display mode options of the page like zoom and layout.\r\n *\r\n * @name setDisplayMode\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {integer|String} zoom You can pass an integer or percentage as\r\n * a string. 2 will scale the document up 2x, '200%' will scale up by the\r\n * same amount. You can also set it to 'fullwidth', 'fullheight',\r\n * 'fullpage', or 'original'.\r\n *\r\n * Only certain PDF readers support this, such as Adobe Acrobat.\r\n *\r\n * @param {string} layout Layout mode can be: 'continuous' - this is the\r\n * default continuous scroll. 'single' - the single page mode only shows one\r\n * page at a time. 'twoleft' - two column left mode, first page starts on\r\n * the left, and 'tworight' - pages are laid out in two columns, with the\r\n * first page on the right. This would be used for books.\r\n * @param {string} pmode 'UseOutlines' - it shows the\r\n * outline of the document on the left. 'UseThumbs' - shows thumbnails along\r\n * the left. 'FullScreen' - prompts the user to enter fullscreen mode.\r\n *\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setDisplayMode = API.setDisplayMode = function(\r\n zoom,\r\n layout,\r\n pmode\r\n ) {\r\n setZoomMode(zoom);\r\n setLayoutMode(layout);\r\n setPageMode(pmode);\r\n return this;\r\n };\r\n\r\n var documentProperties = {\r\n title: \"\",\r\n subject: \"\",\r\n author: \"\",\r\n keywords: \"\",\r\n creator: \"\"\r\n };\r\n\r\n API.__private__.getDocumentProperty = function(key) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");\r\n }\r\n return documentProperties[key];\r\n };\r\n\r\n API.__private__.getDocumentProperties = function() {\r\n return documentProperties;\r\n };\r\n\r\n /**\r\n * Adds a properties to the PDF document.\r\n *\r\n * @param {Object} A property_name-to-property_value object structure.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDocumentProperties\r\n */\r\n API.__private__.setDocumentProperties = API.setProperties = API.setDocumentProperties = function(\r\n properties\r\n ) {\r\n // copying only those properties we can render.\r\n for (var property in documentProperties) {\r\n if (documentProperties.hasOwnProperty(property) && properties[property]) {\r\n documentProperties[property] = properties[property];\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n API.__private__.setDocumentProperty = function(key, value) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");\r\n }\r\n return (documentProperties[key] = value);\r\n };\r\n\r\n var fonts = {}; // collection of font objects, where key is fontKey - a dynamically created label for a given font.\r\n var fontmap = {}; // mapping structure fontName > fontStyle > font key - performance layer. See addFont()\r\n var activeFontKey; // will be string representing the KEY of the font as combination of fontName + fontStyle\r\n var fontStateStack = []; //\r\n var patterns = {}; // collection of pattern objects\r\n var patternMap = {}; // see fonts\r\n var gStates = {}; // collection of graphic state objects\r\n var gStatesMap = {}; // see fonts\r\n var activeGState = null;\r\n var scaleFactor; // Scale factor\r\n var page = 0;\r\n var pagesContext = [];\r\n var events = new PubSub(API);\r\n var hotfixes = options.hotfixes || [];\r\n\r\n var renderTargets = {};\r\n var renderTargetMap = {};\r\n var renderTargetStack = [];\r\n var pageX;\r\n var pageY;\r\n var pageMatrix; // only used for FormObjects\r\n\r\n /**\r\n * A matrix object for 2D homogenous transformations:
\r\n * | a b 0 |
\r\n * | c d 0 |
\r\n * | e f 1 |
\r\n * pdf multiplies matrices righthand: v' = v x m1 x m2 x ...\r\n *\r\n * @class\r\n * @name Matrix\r\n * @param {number} sx\r\n * @param {number} shy\r\n * @param {number} shx\r\n * @param {number} sy\r\n * @param {number} tx\r\n * @param {number} ty\r\n * @constructor\r\n */\r\n var Matrix = function(sx, shy, shx, sy, tx, ty) {\r\n if (!(this instanceof Matrix)) {\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n }\r\n\r\n if (isNaN(sx)) sx = 1;\r\n if (isNaN(shy)) shy = 0;\r\n if (isNaN(shx)) shx = 0;\r\n if (isNaN(sy)) sy = 1;\r\n if (isNaN(tx)) tx = 0;\r\n if (isNaN(ty)) ty = 0;\r\n\r\n this._matrix = [sx, shy, shx, sy, tx, ty];\r\n };\r\n\r\n /**\r\n * @name sx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sx\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shy\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shx\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name sy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sy\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name tx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"tx\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ty\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"ty\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"a\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"b\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"c\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"d\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"e\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"f\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name rotation\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"rotation\", {\r\n get: function() {\r\n return Math.atan2(this.shx, this.sx);\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleX\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleX\", {\r\n get: function() {\r\n return this.decompose().scale.sx;\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleY\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleY\", {\r\n get: function() {\r\n return this.decompose().scale.sy;\r\n }\r\n });\r\n\r\n /**\r\n * @name isIdentity\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"isIdentity\", {\r\n get: function() {\r\n if (this.sx !== 1) {\r\n return false;\r\n }\r\n if (this.shy !== 0) {\r\n return false;\r\n }\r\n if (this.shx !== 0) {\r\n return false;\r\n }\r\n if (this.sy !== 1) {\r\n return false;\r\n }\r\n if (this.tx !== 0) {\r\n return false;\r\n }\r\n if (this.ty !== 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n });\r\n\r\n /**\r\n * Join the Matrix Values to a String\r\n *\r\n * @function join\r\n * @param {string} separator Specifies a string to separate each pair of adjacent elements of the array. The separator is converted to a string if necessary. If omitted, the array elements are separated with a comma (\",\"). If separator is an empty string, all elements are joined without any characters in between them.\r\n * @returns {string} A string with all array elements joined.\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.join = function(separator) {\r\n return [this.sx, this.shy, this.shx, this.sy, this.tx, this.ty]\r\n .map(hpf)\r\n .join(separator);\r\n };\r\n\r\n /**\r\n * Multiply the matrix with given Matrix\r\n *\r\n * @function multiply\r\n * @param matrix\r\n * @returns {Matrix}\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.multiply = function(matrix) {\r\n var sx = matrix.sx * this.sx + matrix.shy * this.shx;\r\n var shy = matrix.sx * this.shy + matrix.shy * this.sy;\r\n var shx = matrix.shx * this.sx + matrix.sy * this.shx;\r\n var sy = matrix.shx * this.shy + matrix.sy * this.sy;\r\n var tx = matrix.tx * this.sx + matrix.ty * this.shx + this.tx;\r\n var ty = matrix.tx * this.shy + matrix.ty * this.sy + this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n /**\r\n * @function decompose\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.decompose = function() {\r\n var a = this.sx;\r\n var b = this.shy;\r\n var c = this.shx;\r\n var d = this.sy;\r\n var e = this.tx;\r\n var f = this.ty;\r\n\r\n var scaleX = Math.sqrt(a * a + b * b);\r\n a /= scaleX;\r\n b /= scaleX;\r\n\r\n var shear = a * c + b * d;\r\n c -= a * shear;\r\n d -= b * shear;\r\n\r\n var scaleY = Math.sqrt(c * c + d * d);\r\n c /= scaleY;\r\n d /= scaleY;\r\n shear /= scaleY;\r\n\r\n if (a * d < b * c) {\r\n a = -a;\r\n b = -b;\r\n shear = -shear;\r\n scaleX = -scaleX;\r\n }\r\n\r\n return {\r\n scale: new Matrix(scaleX, 0, 0, scaleY, 0, 0),\r\n translate: new Matrix(1, 0, 0, 1, e, f),\r\n rotate: new Matrix(a, b, -b, a, 0, 0),\r\n skew: new Matrix(1, 0, shear, 1, 0, 0)\r\n };\r\n };\r\n\r\n /**\r\n * @function toString\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.toString = function(parmPrecision) {\r\n return this.join(\" \");\r\n };\r\n\r\n /**\r\n * @function inversed\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.inversed = function() {\r\n var a = this.sx,\r\n b = this.shy,\r\n c = this.shx,\r\n d = this.sy,\r\n e = this.tx,\r\n f = this.ty;\r\n\r\n var quot = 1 / (a * d - b * c);\r\n\r\n var aInv = d * quot;\r\n var bInv = -b * quot;\r\n var cInv = -c * quot;\r\n var dInv = a * quot;\r\n var eInv = -aInv * e - cInv * f;\r\n var fInv = -bInv * e - dInv * f;\r\n\r\n return new Matrix(aInv, bInv, cInv, dInv, eInv, fInv);\r\n };\r\n\r\n /**\r\n * @function applyToPoint\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToPoint = function(pt) {\r\n var x = pt.x * this.sx + pt.y * this.shx + this.tx;\r\n var y = pt.x * this.shy + pt.y * this.sy + this.ty;\r\n return new Point(x, y);\r\n };\r\n\r\n /**\r\n * @function applyToRectangle\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToRectangle = function(rect) {\r\n var pt1 = this.applyToPoint(rect);\r\n var pt2 = this.applyToPoint(new Point(rect.x + rect.w, rect.y + rect.h));\r\n return new Rectangle(pt1.x, pt1.y, pt2.x - pt1.x, pt2.y - pt1.y);\r\n };\r\n\r\n /**\r\n * Clone the Matrix\r\n *\r\n * @function clone\r\n * @memberof Matrix#\r\n * @name clone\r\n * @instance\r\n */\r\n Matrix.prototype.clone = function() {\r\n var sx = this.sx;\r\n var shy = this.shy;\r\n var shx = this.shx;\r\n var sy = this.sy;\r\n var tx = this.tx;\r\n var ty = this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n API.Matrix = Matrix;\r\n\r\n /**\r\n * Multiplies two matrices. (see {@link Matrix})\r\n * @param {Matrix} m1\r\n * @param {Matrix} m2\r\n * @memberof jsPDF#\r\n * @name matrixMult\r\n */\r\n var matrixMult = (API.matrixMult = function(m1, m2) {\r\n return m2.multiply(m1);\r\n });\r\n\r\n /**\r\n * The identity matrix (equivalent to new Matrix(1, 0, 0, 1, 0, 0)).\r\n * @type {Matrix}\r\n * @memberof! jsPDF#\r\n * @name identityMatrix\r\n */\r\n var identityMatrix = new Matrix(1, 0, 0, 1, 0, 0);\r\n API.unitMatrix = API.identityMatrix = identityMatrix;\r\n\r\n /**\r\n * Adds a new pattern for later use.\r\n * @param {String} key The key by it can be referenced later. The keys must be unique!\r\n * @param {API.Pattern} pattern The pattern\r\n */\r\n var addPattern = function(key, pattern) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (patternMap[key]) return;\r\n\r\n var prefix = pattern instanceof ShadingPattern ? \"Sh\" : \"P\";\r\n var patternKey = prefix + (Object.keys(patterns).length + 1).toString(10);\r\n pattern.id = patternKey;\r\n\r\n patternMap[key] = patternKey;\r\n patterns[patternKey] = pattern;\r\n\r\n events.publish(\"addPattern\", pattern);\r\n };\r\n\r\n /**\r\n * A pattern describing a shading pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {String} type One of \"axial\" or \"radial\"\r\n * @param {Array} coords Either [x1, y1, x2, y2] for \"axial\" type describing the two interpolation points\r\n * or [x1, y1, r, x2, y2, r2] for \"radial\" describing inner and the outer circle.\r\n * @param {Array} colors An array of objects with the fields \"offset\" and \"color\". \"offset\" describes\r\n * the offset in parameter space [0, 1]. \"color\" is an array of length 3 describing RGB values in [0, 255].\r\n * @param {GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.ShadingPattern = ShadingPattern;\r\n\r\n /**\r\n * A PDF Tiling pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {Array.} boundingBox The bounding box at which one pattern cell gets clipped.\r\n * @param {Number} xStep Horizontal spacing between pattern cells.\r\n * @param {Number} yStep Vertical spacing between pattern cells.\r\n * @param {API.GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.TilingPattern = TilingPattern;\r\n\r\n /**\r\n * Adds a new {@link API.ShadingPattern} for later use. Only available in \"advanced\" API mode.\r\n * @param {String} key\r\n * @param {Pattern} pattern\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name addPattern\r\n */\r\n API.addShadingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"addShadingPattern()\");\r\n\r\n addPattern(key, pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Begins a new tiling pattern. All subsequent render calls are drawn to this pattern until {@link API.endTilingPattern}\r\n * gets called. Only available in \"advanced\" API mode.\r\n * @param {API.Pattern} pattern\r\n * @memberof jsPDF#\r\n * @name beginTilingPattern\r\n */\r\n API.beginTilingPattern = function(pattern) {\r\n advancedApiModeTrap(\"beginTilingPattern()\");\r\n\r\n beginNewRenderTarget(\r\n pattern.boundingBox[0],\r\n pattern.boundingBox[1],\r\n pattern.boundingBox[2] - pattern.boundingBox[0],\r\n pattern.boundingBox[3] - pattern.boundingBox[1],\r\n pattern.matrix\r\n );\r\n };\r\n\r\n /**\r\n * Ends a tiling pattern and sets the render target to the one active before {@link API.beginTilingPattern} has been called.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {string} key A unique key that is used to reference this pattern at later use.\r\n * @param {API.Pattern} pattern The pattern to end.\r\n * @memberof jsPDF#\r\n * @name endTilingPattern\r\n */\r\n API.endTilingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"endTilingPattern()\");\r\n\r\n // retrieve the stream\r\n pattern.stream = pages[currentPage].join(\"\\n\");\r\n\r\n addPattern(key, pattern);\r\n\r\n events.publish(\"endTilingPattern\", pattern);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n var newObject = (API.__private__.newObject = function() {\r\n var oid = newObjectDeferred();\r\n newObjectDeferredBegin(oid, true);\r\n return oid;\r\n });\r\n\r\n // Does not output the object. The caller must call newObjectDeferredBegin(oid) before outputing any data\r\n var newObjectDeferred = (API.__private__.newObjectDeferred = function() {\r\n objectNumber++;\r\n offsets[objectNumber] = function() {\r\n return contentLength;\r\n };\r\n return objectNumber;\r\n });\r\n\r\n var newObjectDeferredBegin = function(oid, doOutput) {\r\n doOutput = typeof doOutput === \"boolean\" ? doOutput : false;\r\n offsets[oid] = contentLength;\r\n if (doOutput) {\r\n out(oid + \" 0 obj\");\r\n }\r\n return oid;\r\n };\r\n // Does not output the object until after the pages have been output.\r\n // Returns an object containing the objectId and content.\r\n // All pages have been added so the object ID can be estimated to start right after.\r\n // This does not modify the current objectNumber; It must be updated after the newObjects are output.\r\n var newAdditionalObject = (API.__private__.newAdditionalObject = function() {\r\n var objId = newObjectDeferred();\r\n var obj = {\r\n objId: objId,\r\n content: \"\"\r\n };\r\n additionalObjects.push(obj);\r\n return obj;\r\n });\r\n\r\n var rootDictionaryObjId = newObjectDeferred();\r\n var resourceDictionaryObjId = newObjectDeferred();\r\n\r\n /////////////////////\r\n // Private functions\r\n /////////////////////\r\n\r\n var decodeColorString = (API.__private__.decodeColorString = function(color) {\r\n var colorEncoded = color.split(\" \");\r\n if (\r\n colorEncoded.length === 2 &&\r\n (colorEncoded[1] === \"g\" || colorEncoded[1] === \"G\")\r\n ) {\r\n // convert grayscale value to rgb so that it can be converted to hex for consistency\r\n var floatVal = parseFloat(colorEncoded[0]);\r\n colorEncoded = [floatVal, floatVal, floatVal, \"r\"];\r\n } else if (\r\n colorEncoded.length === 5 &&\r\n (colorEncoded[4] === \"k\" || colorEncoded[4] === \"K\")\r\n ) {\r\n // convert CMYK values to rbg so that it can be converted to hex for consistency\r\n var red = (1.0 - colorEncoded[0]) * (1.0 - colorEncoded[3]);\r\n var green = (1.0 - colorEncoded[1]) * (1.0 - colorEncoded[3]);\r\n var blue = (1.0 - colorEncoded[2]) * (1.0 - colorEncoded[3]);\r\n\r\n colorEncoded = [red, green, blue, \"r\"];\r\n }\r\n var colorAsRGB = \"#\";\r\n for (var i = 0; i < 3; i++) {\r\n colorAsRGB += (\r\n \"0\" + Math.floor(parseFloat(colorEncoded[i]) * 255).toString(16)\r\n ).slice(-2);\r\n }\r\n return colorAsRGB;\r\n });\r\n\r\n var encodeColorString = (API.__private__.encodeColorString = function(\r\n options\r\n ) {\r\n var color;\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n ch1: options\r\n };\r\n }\r\n var ch1 = options.ch1;\r\n var ch2 = options.ch2;\r\n var ch3 = options.ch3;\r\n var ch4 = options.ch4;\r\n var letterArray =\r\n options.pdfColorType === \"draw\" ? [\"G\", \"RG\", \"K\"] : [\"g\", \"rg\", \"k\"];\r\n\r\n if (typeof ch1 === \"string\" && ch1.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(ch1);\r\n if (rgbColor.ok) {\r\n ch1 = rgbColor.toHex();\r\n } else if (!/^\\d*\\.?\\d*$/.test(ch1)) {\r\n throw new Error(\r\n 'Invalid color \"' + ch1 + '\" passed to jsPDF.encodeColorString.'\r\n );\r\n }\r\n }\r\n //convert short rgb to long form\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{3}$/.test(ch1)) {\r\n ch1 = \"#\" + ch1[1] + ch1[1] + ch1[2] + ch1[2] + ch1[3] + ch1[3];\r\n }\r\n\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(ch1)) {\r\n var hex = parseInt(ch1.substr(1), 16);\r\n ch1 = (hex >> 16) & 255;\r\n ch2 = (hex >> 8) & 255;\r\n ch3 = hex & 255;\r\n }\r\n\r\n if (\r\n typeof ch2 === \"undefined\" ||\r\n (typeof ch4 === \"undefined\" && ch1 === ch2 && ch2 === ch3)\r\n ) {\r\n // Gray color space.\r\n if (typeof ch1 === \"string\") {\r\n color = ch1 + \" \" + letterArray[0];\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = f2(ch1 / 255) + \" \" + letterArray[0];\r\n break;\r\n case 3:\r\n default:\r\n color = f3(ch1 / 255) + \" \" + letterArray[0];\r\n }\r\n }\r\n } else if (typeof ch4 === \"undefined\" || typeof ch4 === \"object\") {\r\n // assume RGBA\r\n if (ch4 && !isNaN(ch4.a)) {\r\n //TODO Implement transparency.\r\n //WORKAROUND use white for now, if transparent, otherwise handle as rgb\r\n if (ch4.a === 0) {\r\n color = [\"1.\", \"1.\", \"1.\", letterArray[1]].join(\" \");\r\n return color;\r\n }\r\n }\r\n // assume RGB\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, letterArray[1]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [\r\n f2(ch1 / 255),\r\n f2(ch2 / 255),\r\n f2(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n break;\r\n default:\r\n case 3:\r\n color = [\r\n f3(ch1 / 255),\r\n f3(ch2 / 255),\r\n f3(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n }\r\n }\r\n } else {\r\n // assume CMYK\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, ch4, letterArray[2]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [f2(ch1), f2(ch2), f2(ch3), f2(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n break;\r\n case 3:\r\n default:\r\n color = [f3(ch1), f3(ch2), f3(ch3), f3(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n }\r\n }\r\n }\r\n return color;\r\n });\r\n\r\n var getFilters = (API.__private__.getFilters = function() {\r\n return filters;\r\n });\r\n\r\n var putStream = (API.__private__.putStream = function(options) {\r\n options = options || {};\r\n var data = options.data || \"\";\r\n var filters = options.filters || getFilters();\r\n var alreadyAppliedFilters = options.alreadyAppliedFilters || [];\r\n var addLength1 = options.addLength1 || false;\r\n var valueOfLength1 = data.length;\r\n var objectId = options.objectId;\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null && typeof objectId == \"undefined\") {\r\n throw new Error(\r\n \"ObjectId must be passed to putStream for file encryption\"\r\n );\r\n }\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n\r\n var processedData = {};\r\n if (filters === true) {\r\n filters = [\"FlateEncode\"];\r\n }\r\n var keyValues = options.additionalKeyValues || [];\r\n if (typeof jsPDF.API.processDataByFilters !== \"undefined\") {\r\n processedData = jsPDF.API.processDataByFilters(data, filters);\r\n } else {\r\n processedData = { data: data, reverseChain: [] };\r\n }\r\n var filterAsString =\r\n processedData.reverseChain +\r\n (Array.isArray(alreadyAppliedFilters)\r\n ? alreadyAppliedFilters.join(\" \")\r\n : alreadyAppliedFilters.toString());\r\n\r\n if (processedData.data.length !== 0) {\r\n keyValues.push({\r\n key: \"Length\",\r\n value: processedData.data.length\r\n });\r\n if (addLength1 === true) {\r\n keyValues.push({\r\n key: \"Length1\",\r\n value: valueOfLength1\r\n });\r\n }\r\n }\r\n\r\n if (filterAsString.length != 0) {\r\n if (filterAsString.split(\"/\").length - 1 === 1) {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: filterAsString\r\n });\r\n } else {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: \"[\" + filterAsString + \"]\"\r\n });\r\n\r\n for (var j = 0; j < keyValues.length; j += 1) {\r\n if (keyValues[j].key === \"DecodeParms\") {\r\n var decodeParmsArray = [];\r\n\r\n for (\r\n var i = 0;\r\n i < processedData.reverseChain.split(\"/\").length - 1;\r\n i += 1\r\n ) {\r\n decodeParmsArray.push(\"null\");\r\n }\r\n\r\n decodeParmsArray.push(keyValues[j].value);\r\n keyValues[j].value = \"[\" + decodeParmsArray.join(\" \") + \"]\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n out(\"<<\");\r\n for (var k = 0; k < keyValues.length; k++) {\r\n out(\"/\" + keyValues[k].key + \" \" + keyValues[k].value);\r\n }\r\n out(\">>\");\r\n if (processedData.data.length !== 0) {\r\n out(\"stream\");\r\n out(encryptor(processedData.data));\r\n out(\"endstream\");\r\n }\r\n });\r\n\r\n var putPage = (API.__private__.putPage = function(page) {\r\n var pageNumber = page.number;\r\n var data = page.data;\r\n var pageObjectNumber = page.objId;\r\n var pageContentsObjId = page.contentsObjId;\r\n\r\n newObjectDeferredBegin(pageObjectNumber, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n // Page content\r\n var pageContent = data.join(\"\\n\");\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n // if the user forgot to switch back to COMPAT mode, we must balance the graphics stack again\r\n pageContent += \"\\nQ\";\r\n }\r\n\r\n newObjectDeferredBegin(pageContentsObjId, true);\r\n putStream({\r\n data: pageContent,\r\n filters: getFilters(),\r\n objectId: pageContentsObjId\r\n });\r\n out(\"endobj\");\r\n return pageObjectNumber;\r\n });\r\n\r\n var putPages = (API.__private__.putPages = function() {\r\n var n,\r\n i,\r\n pageObjectNumbers = [];\r\n\r\n for (n = 1; n <= page; n++) {\r\n pagesContext[n].objId = newObjectDeferred();\r\n pagesContext[n].contentsObjId = newObjectDeferred();\r\n }\r\n\r\n for (n = 1; n <= page; n++) {\r\n pageObjectNumbers.push(\r\n putPage({\r\n number: n,\r\n data: pages[n],\r\n objId: pagesContext[n].objId,\r\n contentsObjId: pagesContext[n].contentsObjId,\r\n mediaBox: pagesContext[n].mediaBox,\r\n cropBox: pagesContext[n].cropBox,\r\n bleedBox: pagesContext[n].bleedBox,\r\n trimBox: pagesContext[n].trimBox,\r\n artBox: pagesContext[n].artBox,\r\n userUnit: pagesContext[n].userUnit,\r\n rootDictionaryObjId: rootDictionaryObjId,\r\n resourceDictionaryObjId: resourceDictionaryObjId\r\n })\r\n );\r\n }\r\n newObjectDeferredBegin(rootDictionaryObjId, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n events.publish(\"postPutPages\");\r\n });\r\n\r\n var putFont = function(font) {\r\n events.publish(\"putFont\", {\r\n font: font,\r\n out: out,\r\n newObject: newObject,\r\n putStream: putStream\r\n });\r\n\r\n if (font.isAlreadyPutted !== true) {\r\n font.objectNumber = newObject();\r\n out(\"<<\");\r\n out(\"/Type /Font\");\r\n out(\"/BaseFont /\" + toPDFName(font.postScriptName));\r\n out(\"/Subtype /Type1\");\r\n if (typeof font.encoding === \"string\") {\r\n out(\"/Encoding /\" + font.encoding);\r\n }\r\n out(\"/FirstChar 32\");\r\n out(\"/LastChar 255\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n }\r\n };\r\n\r\n var putFonts = function() {\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n putFont(fonts[fontKey]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putXObject = function(xObject) {\r\n xObject.objectNumber = newObject();\r\n\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/XObject\" });\r\n options.push({ key: \"Subtype\", value: \"/Form\" });\r\n options.push({\r\n key: \"BBox\",\r\n value:\r\n \"[\" +\r\n [\r\n hpf(xObject.x),\r\n hpf(xObject.y),\r\n hpf(xObject.x + xObject.width),\r\n hpf(xObject.y + xObject.height)\r\n ].join(\" \") +\r\n \"]\"\r\n });\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + xObject.matrix.toString() + \"]\"\r\n });\r\n // TODO: /Resources\r\n\r\n var stream = xObject.pages[1].join(\"\\n\");\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n objectId: xObject.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putXObjects = function() {\r\n for (var xObjectKey in renderTargets) {\r\n if (renderTargets.hasOwnProperty(xObjectKey)) {\r\n putXObject(renderTargets[xObjectKey]);\r\n }\r\n }\r\n };\r\n\r\n var interpolateAndEncodeRGBStream = function(colors, numberSamples) {\r\n var tValues = [];\r\n var t;\r\n var dT = 1.0 / (numberSamples - 1);\r\n for (t = 0.0; t < 1.0; t += dT) {\r\n tValues.push(t);\r\n }\r\n tValues.push(1.0);\r\n // add first and last control point if not present\r\n if (colors[0].offset != 0.0) {\r\n var c0 = {\r\n offset: 0.0,\r\n color: colors[0].color\r\n };\r\n colors.unshift(c0);\r\n }\r\n if (colors[colors.length - 1].offset != 1.0) {\r\n var c1 = {\r\n offset: 1.0,\r\n color: colors[colors.length - 1].color\r\n };\r\n colors.push(c1);\r\n }\r\n var out = \"\";\r\n var index = 0;\r\n\r\n for (var i = 0; i < tValues.length; i++) {\r\n t = tValues[i];\r\n while (t > colors[index + 1].offset) index++;\r\n var a = colors[index].offset;\r\n var b = colors[index + 1].offset;\r\n var d = (t - a) / (b - a);\r\n\r\n var aColor = colors[index].color;\r\n var bColor = colors[index + 1].color;\r\n\r\n out +=\r\n padd2Hex(Math.round((1 - d) * aColor[0] + d * bColor[0]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[1] + d * bColor[1]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[2] + d * bColor[2]).toString(16));\r\n }\r\n return out.trim();\r\n };\r\n\r\n var putShadingPattern = function(pattern, numberSamples) {\r\n /*\r\n Axial patterns shade between the two points specified in coords, radial patterns between the inner\r\n and outer circle.\r\n The user can specify an array (colors) that maps t-Values in [0, 1] to RGB colors. These are now\r\n interpolated to equidistant samples and written to pdf as a sample (type 0) function.\r\n */\r\n // The number of color samples that should be used to describe the shading.\r\n // The higher, the more accurate the gradient will be.\r\n numberSamples || (numberSamples = 21);\r\n var funcObjectNumber = newObject();\r\n var stream = interpolateAndEncodeRGBStream(pattern.colors, numberSamples);\r\n\r\n var options = [];\r\n options.push({ key: \"FunctionType\", value: \"0\" });\r\n options.push({ key: \"Domain\", value: \"[0.0 1.0]\" });\r\n options.push({ key: \"Size\", value: \"[\" + numberSamples + \"]\" });\r\n options.push({ key: \"BitsPerSample\", value: \"8\" });\r\n options.push({ key: \"Range\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n options.push({ key: \"Decode\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n alreadyAppliedFilters: [\"/ASCIIHexDecode\"],\r\n objectId: funcObjectNumber\r\n });\r\n out(\"endobj\");\r\n\r\n pattern.objectNumber = newObject();\r\n out(\"<< /ShadingType \" + pattern.type);\r\n out(\"/ColorSpace /DeviceRGB\");\r\n var coords =\r\n \"/Coords [\" +\r\n hpf(parseFloat(pattern.coords[0])) +\r\n \" \" + // x1\r\n hpf(parseFloat(pattern.coords[1])) +\r\n \" \"; // y1\r\n if (pattern.type === 2) {\r\n // axial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[3])); // y2\r\n } else {\r\n // radial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // r1\r\n hpf(parseFloat(pattern.coords[3])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[4])) +\r\n \" \" + // y2\r\n hpf(parseFloat(pattern.coords[5])); // r2\r\n }\r\n coords += \"]\";\r\n out(coords);\r\n\r\n if (pattern.matrix) {\r\n out(\"/Matrix [\" + pattern.matrix.toString() + \"]\");\r\n }\r\n out(\"/Function \" + funcObjectNumber + \" 0 R\");\r\n out(\"/Extend [true true]\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putTilingPattern = function(pattern, deferredResourceDictionaryIds) {\r\n var resourcesObjectId = newObjectDeferred();\r\n var patternObjectId = newObject();\r\n\r\n deferredResourceDictionaryIds.push({\r\n resourcesOid: resourcesObjectId,\r\n objectOid: patternObjectId\r\n });\r\n\r\n pattern.objectNumber = patternObjectId;\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/Pattern\" });\r\n options.push({ key: \"PatternType\", value: \"1\" }); // tiling pattern\r\n options.push({ key: \"PaintType\", value: \"1\" }); // colored tiling pattern\r\n options.push({ key: \"TilingType\", value: \"1\" }); // constant spacing\r\n options.push({\r\n key: \"BBox\",\r\n value: \"[\" + pattern.boundingBox.map(hpf).join(\" \") + \"]\"\r\n });\r\n options.push({ key: \"XStep\", value: hpf(pattern.xStep) });\r\n options.push({ key: \"YStep\", value: hpf(pattern.yStep) });\r\n options.push({ key: \"Resources\", value: resourcesObjectId + \" 0 R\" });\r\n if (pattern.matrix) {\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + pattern.matrix.toString() + \"]\"\r\n });\r\n }\r\n\r\n putStream({\r\n data: pattern.stream,\r\n additionalKeyValues: options,\r\n objectId: pattern.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putPatterns = function(deferredResourceDictionaryIds) {\r\n var patternKey;\r\n for (patternKey in patterns) {\r\n if (patterns.hasOwnProperty(patternKey)) {\r\n if (patterns[patternKey] instanceof ShadingPattern) {\r\n putShadingPattern(patterns[patternKey]);\r\n } else if (patterns[patternKey] instanceof TilingPattern) {\r\n putTilingPattern(patterns[patternKey], deferredResourceDictionaryIds);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putGState = function(gState) {\r\n gState.objectNumber = newObject();\r\n out(\"<<\");\r\n for (var p in gState) {\r\n switch (p) {\r\n case \"opacity\":\r\n out(\"/ca \" + f2(gState[p]));\r\n break;\r\n case \"stroke-opacity\":\r\n out(\"/CA \" + f2(gState[p]));\r\n break;\r\n }\r\n }\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putGStates = function() {\r\n var gStateKey;\r\n for (gStateKey in gStates) {\r\n if (gStates.hasOwnProperty(gStateKey)) {\r\n putGState(gStates[gStateKey]);\r\n }\r\n }\r\n };\r\n\r\n var putXobjectDict = function() {\r\n out(\"/XObject <<\");\r\n for (var xObjectKey in renderTargets) {\r\n if (\r\n renderTargets.hasOwnProperty(xObjectKey) &&\r\n renderTargets[xObjectKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" +\r\n xObjectKey +\r\n \" \" +\r\n renderTargets[xObjectKey].objectNumber +\r\n \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n // Loop through images, or other data objects\r\n events.publish(\"putXobjectDict\");\r\n out(\">>\");\r\n };\r\n\r\n var putEncryptionDict = function() {\r\n encryption.oid = newObject();\r\n out(\"<<\");\r\n out(\"/Filter /Standard\");\r\n out(\"/V \" + encryption.v);\r\n out(\"/R \" + encryption.r);\r\n out(\"/U <\" + encryption.toHexString(encryption.U) + \">\");\r\n out(\"/O <\" + encryption.toHexString(encryption.O) + \">\");\r\n out(\"/P \" + encryption.P);\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putFontDict = function() {\r\n out(\"/Font <<\");\r\n\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n out(\"/\" + fontKey + \" \" + fonts[fontKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n }\r\n out(\">>\");\r\n };\r\n\r\n var putShadingPatternDict = function() {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Shading <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof ShadingPattern &&\r\n patterns[patternKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n events.publish(\"putShadingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putTilingPatternDict = function(objectOid) {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Pattern <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof API.TilingPattern &&\r\n patterns[patternKey].objectNumber >= 0 &&\r\n patterns[patternKey].objectNumber < objectOid // prevent cyclic dependencies\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n events.publish(\"putTilingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putGStatesDict = function() {\r\n if (Object.keys(gStates).length > 0) {\r\n var gStateKey;\r\n out(\"/ExtGState <<\");\r\n for (gStateKey in gStates) {\r\n if (\r\n gStates.hasOwnProperty(gStateKey) &&\r\n gStates[gStateKey].objectNumber >= 0\r\n ) {\r\n out(\"/\" + gStateKey + \" \" + gStates[gStateKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n\r\n events.publish(\"putGStateDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putResourceDictionary = function(objectIds) {\r\n newObjectDeferredBegin(objectIds.resourcesOid, true);\r\n out(\"<<\");\r\n out(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\");\r\n putFontDict();\r\n putShadingPatternDict();\r\n putTilingPatternDict(objectIds.objectOid);\r\n putGStatesDict();\r\n putXobjectDict();\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putResources = function() {\r\n // FormObjects, Patterns etc. might use other FormObjects/Patterns/Images\r\n // which means their resource dictionaries must contain the already resolved\r\n // object ids. For this reason we defer the serialization of the resource\r\n // dicts until all objects have been serialized and have object ids.\r\n //\r\n // In order to prevent cyclic dependencies (which Adobe Reader doesn't like),\r\n // we only put all oids that are smaller than the oid of the object the\r\n // resource dict belongs to. This is correct behavior, since the streams\r\n // may only use other objects that have already been defined and thus appear\r\n // earlier in their respective collection.\r\n // Currently, this only affects tiling patterns, but a (more) correct\r\n // implementation of FormObjects would also define their own resource dicts.\r\n var deferredResourceDictionaryIds = [];\r\n\r\n putFonts();\r\n putGStates();\r\n putXObjects();\r\n putPatterns(deferredResourceDictionaryIds);\r\n\r\n events.publish(\"putResources\");\r\n deferredResourceDictionaryIds.forEach(putResourceDictionary);\r\n putResourceDictionary({\r\n resourcesOid: resourceDictionaryObjId,\r\n objectOid: Number.MAX_SAFE_INTEGER // output all objects\r\n });\r\n events.publish(\"postPutResources\");\r\n };\r\n\r\n var putAdditionalObjects = function() {\r\n events.publish(\"putAdditionalObjects\");\r\n for (var i = 0; i < additionalObjects.length; i++) {\r\n var obj = additionalObjects[i];\r\n newObjectDeferredBegin(obj.objId, true);\r\n out(obj.content);\r\n out(\"endobj\");\r\n }\r\n events.publish(\"postPutAdditionalObjects\");\r\n };\r\n\r\n var addFontToFontDictionary = function(font) {\r\n fontmap[font.fontName] = fontmap[font.fontName] || {};\r\n fontmap[font.fontName][font.fontStyle] = font.id;\r\n };\r\n\r\n var addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n encoding,\r\n isStandardFont\r\n ) {\r\n var font = {\r\n id: \"F\" + (Object.keys(fonts).length + 1).toString(10),\r\n postScriptName: postScriptName,\r\n fontName: fontName,\r\n fontStyle: fontStyle,\r\n encoding: encoding,\r\n isStandardFont: isStandardFont || false,\r\n metadata: {}\r\n };\r\n\r\n events.publish(\"addFont\", {\r\n font: font,\r\n instance: this\r\n });\r\n\r\n fonts[font.id] = font;\r\n addFontToFontDictionary(font);\r\n return font.id;\r\n };\r\n\r\n var addFonts = function(arrayOfFonts) {\r\n for (var i = 0, l = standardFonts.length; i < l; i++) {\r\n var fontKey = addFont.call(\r\n this,\r\n arrayOfFonts[i][0],\r\n arrayOfFonts[i][1],\r\n arrayOfFonts[i][2],\r\n standardFonts[i][3],\r\n true\r\n );\r\n\r\n if (putOnlyUsedFonts === false) {\r\n usedFonts[fontKey] = true;\r\n }\r\n // adding aliases for standard fonts, this time matching the capitalization\r\n var parts = arrayOfFonts[i][0].split(\"-\");\r\n addFontToFontDictionary({\r\n id: fontKey,\r\n fontName: parts[0],\r\n fontStyle: parts[1] || \"\"\r\n });\r\n }\r\n events.publish(\"addFonts\", {\r\n fonts: fonts,\r\n dictionary: fontmap\r\n });\r\n };\r\n\r\n var SAFE = function __safeCall(fn) {\r\n fn.foo = function __safeCallWrapper() {\r\n try {\r\n return fn.apply(this, arguments);\r\n } catch (e) {\r\n var stack = e.stack || \"\";\r\n if (~stack.indexOf(\" at \")) stack = stack.split(\" at \")[1];\r\n var m =\r\n \"Error in function \" +\r\n stack.split(\"\\n\")[0].split(\"<\")[0] +\r\n \": \" +\r\n e.message;\r\n if (globalObject.console) {\r\n globalObject.console.error(m, e);\r\n if (globalObject.alert) alert(m);\r\n } else {\r\n throw new Error(m);\r\n }\r\n }\r\n };\r\n fn.foo.bar = fn;\r\n return fn.foo;\r\n };\r\n\r\n var to8bitStream = function(text, flags) {\r\n /**\r\n * PDF 1.3 spec:\r\n * \"For text strings encoded in Unicode, the first two bytes must be 254 followed by\r\n * 255, representing the Unicode byte order marker, U+FEFF. (This sequence conflicts\r\n * with the PDFDocEncoding character sequence thorn ydieresis, which is unlikely\r\n * to be a meaningful beginning of a word or phrase.) The remainder of the\r\n * string consists of Unicode character codes, according to the UTF-16 encoding\r\n * specified in the Unicode standard, version 2.0. Commonly used Unicode values\r\n * are represented as 2 bytes per character, with the high-order byte appearing first\r\n * in the string.\"\r\n *\r\n * In other words, if there are chars in a string with char code above 255, we\r\n * recode the string to UCS2 BE - string doubles in length and BOM is prepended.\r\n *\r\n * HOWEVER!\r\n * Actual *content* (body) text (as opposed to strings used in document properties etc)\r\n * does NOT expect BOM. There, it is treated as a literal GID (Glyph ID)\r\n *\r\n * Because of Adobe's focus on \"you subset your fonts!\" you are not supposed to have\r\n * a font that maps directly Unicode (UCS2 / UTF16BE) code to font GID, but you could\r\n * fudge it with \"Identity-H\" encoding and custom CIDtoGID map that mimics Unicode\r\n * code page. There, however, all characters in the stream are treated as GIDs,\r\n * including BOM, which is the reason we need to skip BOM in content text (i.e. that\r\n * that is tied to a font).\r\n *\r\n * To signal this \"special\" PDFEscape / to8bitStream handling mode,\r\n * API.text() function sets (unless you overwrite it with manual values\r\n * given to API.text(.., flags) )\r\n * flags.autoencode = true\r\n * flags.noBOM = true\r\n *\r\n * ===================================================================================\r\n * `flags` properties relied upon:\r\n * .sourceEncoding = string with encoding label.\r\n * \"Unicode\" by default. = encoding of the incoming text.\r\n * pass some non-existing encoding name\r\n * (ex: 'Do not touch my strings! I know what I am doing.')\r\n * to make encoding code skip the encoding step.\r\n * .outputEncoding = Either valid PDF encoding name\r\n * (must be supported by jsPDF font metrics, otherwise no encoding)\r\n * or a JS object, where key = sourceCharCode, value = outputCharCode\r\n * missing keys will be treated as: sourceCharCode === outputCharCode\r\n * .noBOM\r\n * See comment higher above for explanation for why this is important\r\n * .autoencode\r\n * See comment higher above for explanation for why this is important\r\n */\r\n\r\n var i,\r\n l,\r\n sourceEncoding,\r\n encodingBlock,\r\n outputEncoding,\r\n newtext,\r\n isUnicode,\r\n ch,\r\n bch;\r\n\r\n flags = flags || {};\r\n sourceEncoding = flags.sourceEncoding || \"Unicode\";\r\n outputEncoding = flags.outputEncoding;\r\n\r\n // This 'encoding' section relies on font metrics format\r\n // attached to font objects by, among others,\r\n // \"Willow Systems' standard_font_metrics plugin\"\r\n // see jspdf.plugin.standard_font_metrics.js for format\r\n // of the font.metadata.encoding Object.\r\n // It should be something like\r\n // .encoding = {'codePages':['WinANSI....'], 'WinANSI...':{code:code, ...}}\r\n // .widths = {0:width, code:width, ..., 'fof':divisor}\r\n // .kerning = {code:{previous_char_code:shift, ..., 'fof':-divisor},...}\r\n if (\r\n (flags.autoencode || outputEncoding) &&\r\n fonts[activeFontKey].metadata &&\r\n fonts[activeFontKey].metadata[sourceEncoding] &&\r\n fonts[activeFontKey].metadata[sourceEncoding].encoding\r\n ) {\r\n encodingBlock = fonts[activeFontKey].metadata[sourceEncoding].encoding;\r\n\r\n // each font has default encoding. Some have it clearly defined.\r\n if (!outputEncoding && fonts[activeFontKey].encoding) {\r\n outputEncoding = fonts[activeFontKey].encoding;\r\n }\r\n\r\n // Hmmm, the above did not work? Let's try again, in different place.\r\n if (!outputEncoding && encodingBlock.codePages) {\r\n outputEncoding = encodingBlock.codePages[0]; // let's say, first one is the default\r\n }\r\n\r\n if (typeof outputEncoding === \"string\") {\r\n outputEncoding = encodingBlock[outputEncoding];\r\n }\r\n // we want output encoding to be a JS Object, where\r\n // key = sourceEncoding's character code and\r\n // value = outputEncoding's character code.\r\n if (outputEncoding) {\r\n isUnicode = false;\r\n newtext = [];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = outputEncoding[text.charCodeAt(i)];\r\n if (ch) {\r\n newtext.push(String.fromCharCode(ch));\r\n } else {\r\n newtext.push(text[i]);\r\n }\r\n\r\n // since we are looping over chars anyway, might as well\r\n // check for residual unicodeness\r\n if (newtext[i].charCodeAt(0) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n }\r\n text = newtext.join(\"\");\r\n }\r\n }\r\n\r\n i = text.length;\r\n // isUnicode may be set to false above. Hence the triple-equal to undefined\r\n while (isUnicode === undefined && i !== 0) {\r\n if (text.charCodeAt(i - 1) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n i--;\r\n }\r\n if (!isUnicode) {\r\n return text;\r\n }\r\n\r\n newtext = flags.noBOM ? [] : [254, 255];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = text.charCodeAt(i);\r\n bch = ch >> 8; // divide by 256\r\n if (bch >> 8) {\r\n /* something left after dividing by 256 second time */\r\n throw new Error(\r\n \"Character at position \" +\r\n i +\r\n \" of string '\" +\r\n text +\r\n \"' exceeds 16bits. Cannot be encoded into UCS-2 BE\"\r\n );\r\n }\r\n newtext.push(bch);\r\n newtext.push(ch - (bch << 8));\r\n }\r\n return String.fromCharCode.apply(undefined, newtext);\r\n };\r\n\r\n var pdfEscape = (API.__private__.pdfEscape = API.pdfEscape = function(\r\n text,\r\n flags\r\n ) {\r\n /**\r\n * Replace '/', '(', and ')' with pdf-safe versions\r\n *\r\n * Doing to8bitStream does NOT make this PDF display unicode text. For that\r\n * we also need to reference a unicode font and embed it - royal pain in the rear.\r\n *\r\n * There is still a benefit to to8bitStream - PDF simply cannot handle 16bit chars,\r\n * which JavaScript Strings are happy to provide. So, while we still cannot display\r\n * 2-byte characters property, at least CONDITIONALLY converting (entire string containing)\r\n * 16bit chars to (USC-2-BE) 2-bytes per char + BOM streams we ensure that entire PDF\r\n * is still parseable.\r\n * This will allow immediate support for unicode in document properties strings.\r\n */\r\n return to8bitStream(text, flags)\r\n .replace(/\\\\/g, \"\\\\\\\\\")\r\n .replace(/\\(/g, \"\\\\(\")\r\n .replace(/\\)/g, \"\\\\)\");\r\n });\r\n\r\n var beginPage = (API.__private__.beginPage = function(format) {\r\n pages[++page] = [];\r\n pagesContext[page] = {\r\n objId: 0,\r\n contentsObjId: 0,\r\n userUnit: Number(userUnit),\r\n artBox: null,\r\n bleedBox: null,\r\n cropBox: null,\r\n trimBox: null,\r\n mediaBox: {\r\n bottomLeftX: 0,\r\n bottomLeftY: 0,\r\n topRightX: Number(format[0]),\r\n topRightY: Number(format[1])\r\n }\r\n };\r\n _setPage(page);\r\n setOutputDestination(pages[currentPage]);\r\n });\r\n\r\n var _addPage = function(parmFormat, parmOrientation) {\r\n var dimensions, width, height;\r\n\r\n orientation = parmOrientation || orientation;\r\n\r\n if (typeof parmFormat === \"string\") {\r\n dimensions = getPageFormat(parmFormat.toLowerCase());\r\n if (Array.isArray(dimensions)) {\r\n width = dimensions[0];\r\n height = dimensions[1];\r\n }\r\n }\r\n\r\n if (Array.isArray(parmFormat)) {\r\n width = parmFormat[0] * scaleFactor;\r\n height = parmFormat[1] * scaleFactor;\r\n }\r\n\r\n if (isNaN(width)) {\r\n width = format[0];\r\n height = format[1];\r\n }\r\n\r\n if (width > 14400 || height > 14400) {\r\n console.warn(\r\n \"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"\r\n );\r\n width = Math.min(14400, width);\r\n height = Math.min(14400, height);\r\n }\r\n\r\n format = [width, height];\r\n\r\n switch (orientation.substr(0, 1)) {\r\n case \"l\":\r\n if (height > width) {\r\n format = [height, width];\r\n }\r\n break;\r\n case \"p\":\r\n if (width > height) {\r\n format = [height, width];\r\n }\r\n break;\r\n }\r\n\r\n beginPage(format);\r\n\r\n // Set line width\r\n setLineWidth(lineWidth);\r\n // Set draw color\r\n out(strokeColor);\r\n // resurrecting non-default line caps, joins\r\n if (lineCapID !== 0) {\r\n out(lineCapID + \" J\");\r\n }\r\n if (lineJoinID !== 0) {\r\n out(lineJoinID + \" j\");\r\n }\r\n events.publish(\"addPage\", {\r\n pageNumber: page\r\n });\r\n };\r\n\r\n var _deletePage = function(n) {\r\n if (n > 0 && n <= page) {\r\n pages.splice(n, 1);\r\n pagesContext.splice(n, 1);\r\n page--;\r\n if (currentPage > page) {\r\n currentPage = page;\r\n }\r\n this.setPage(currentPage);\r\n }\r\n };\r\n\r\n var _setPage = function(n) {\r\n if (n > 0 && n <= page) {\r\n currentPage = n;\r\n }\r\n };\r\n\r\n var getNumberOfPages = (API.__private__.getNumberOfPages = API.getNumberOfPages = function() {\r\n return pages.length - 1;\r\n });\r\n\r\n /**\r\n * Returns a document-specific font key - a label assigned to a\r\n * font name + font type combination at the time the font was added\r\n * to the font inventory.\r\n *\r\n * Font key is used as label for the desired font for a block of text\r\n * to be added to the PDF document stream.\r\n * @private\r\n * @function\r\n * @param fontName {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @param fontStyle {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @returns {string} Font key.\r\n * @ignore\r\n */\r\n var getFont = function(fontName, fontStyle, options) {\r\n var key = undefined,\r\n fontNameLowerCase;\r\n options = options || {};\r\n\r\n fontName =\r\n fontName !== undefined ? fontName : fonts[activeFontKey].fontName;\r\n fontStyle =\r\n fontStyle !== undefined ? fontStyle : fonts[activeFontKey].fontStyle;\r\n fontNameLowerCase = fontName.toLowerCase();\r\n\r\n if (\r\n fontmap[fontNameLowerCase] !== undefined &&\r\n fontmap[fontNameLowerCase][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontNameLowerCase][fontStyle];\r\n } else if (\r\n fontmap[fontName] !== undefined &&\r\n fontmap[fontName][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontName][fontStyle];\r\n } else {\r\n if (options.disableWarning === false) {\r\n console.warn(\r\n \"Unable to look up font label for font '\" +\r\n fontName +\r\n \"', '\" +\r\n fontStyle +\r\n \"'. Refer to getFontList() for available fonts.\"\r\n );\r\n }\r\n }\r\n\r\n if (!key && !options.noFallback) {\r\n key = fontmap[\"times\"][fontStyle];\r\n if (key == null) {\r\n key = fontmap[\"times\"][\"normal\"];\r\n }\r\n }\r\n return key;\r\n };\r\n\r\n var putInfo = (API.__private__.putInfo = function() {\r\n var objectId = newObject();\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n out(\"<<\");\r\n out(\"/Producer (\" + pdfEscape(encryptor(\"jsPDF \" + jsPDF.version)) + \")\");\r\n for (var key in documentProperties) {\r\n if (documentProperties.hasOwnProperty(key) && documentProperties[key]) {\r\n out(\r\n \"/\" +\r\n key.substr(0, 1).toUpperCase() +\r\n key.substr(1) +\r\n \" (\" +\r\n pdfEscape(encryptor(documentProperties[key])) +\r\n \")\"\r\n );\r\n }\r\n }\r\n out(\"/CreationDate (\" + pdfEscape(encryptor(creationDate)) + \")\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putCatalog = (API.__private__.putCatalog = function(options) {\r\n options = options || {};\r\n var tmpRootDictionaryObjId =\r\n options.rootDictionaryObjId || rootDictionaryObjId;\r\n newObject();\r\n out(\"<<\");\r\n out(\"/Type /Catalog\");\r\n out(\"/Pages \" + tmpRootDictionaryObjId + \" 0 R\");\r\n // PDF13ref Section 7.2.1\r\n if (!zoomMode) zoomMode = \"fullwidth\";\r\n switch (zoomMode) {\r\n case \"fullwidth\":\r\n out(\"/OpenAction [3 0 R /FitH null]\");\r\n break;\r\n case \"fullheight\":\r\n out(\"/OpenAction [3 0 R /FitV null]\");\r\n break;\r\n case \"fullpage\":\r\n out(\"/OpenAction [3 0 R /Fit]\");\r\n break;\r\n case \"original\":\r\n out(\"/OpenAction [3 0 R /XYZ null null 1]\");\r\n break;\r\n default:\r\n var pcn = \"\" + zoomMode;\r\n if (pcn.substr(pcn.length - 1) === \"%\")\r\n zoomMode = parseInt(zoomMode) / 100;\r\n if (typeof zoomMode === \"number\") {\r\n out(\"/OpenAction [3 0 R /XYZ null null \" + f2(zoomMode) + \"]\");\r\n }\r\n }\r\n if (!layoutMode) layoutMode = \"continuous\";\r\n switch (layoutMode) {\r\n case \"continuous\":\r\n out(\"/PageLayout /OneColumn\");\r\n break;\r\n case \"single\":\r\n out(\"/PageLayout /SinglePage\");\r\n break;\r\n case \"two\":\r\n case \"twoleft\":\r\n out(\"/PageLayout /TwoColumnLeft\");\r\n break;\r\n case \"tworight\":\r\n out(\"/PageLayout /TwoColumnRight\");\r\n break;\r\n }\r\n if (pageMode) {\r\n /**\r\n * A name object specifying how the document should be displayed when opened:\r\n * UseNone : Neither document outline nor thumbnail images visible -- DEFAULT\r\n * UseOutlines : Document outline visible\r\n * UseThumbs : Thumbnail images visible\r\n * FullScreen : Full-screen mode, with no menu bar, window controls, or any other window visible\r\n */\r\n out(\"/PageMode /\" + pageMode);\r\n }\r\n events.publish(\"putCatalog\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putTrailer = (API.__private__.putTrailer = function() {\r\n out(\"trailer\");\r\n out(\"<<\");\r\n out(\"/Size \" + (objectNumber + 1));\r\n // Root and Info must be the last and second last objects written respectively\r\n out(\"/Root \" + objectNumber + \" 0 R\");\r\n out(\"/Info \" + (objectNumber - 1) + \" 0 R\");\r\n if (encryptionOptions !== null) {\r\n out(\"/Encrypt \" + encryption.oid + \" 0 R\");\r\n }\r\n out(\"/ID [ <\" + fileId + \"> <\" + fileId + \"> ]\");\r\n out(\">>\");\r\n });\r\n\r\n var putHeader = (API.__private__.putHeader = function() {\r\n out(\"%PDF-\" + pdfVersion);\r\n out(\"%\\xBA\\xDF\\xAC\\xE0\");\r\n });\r\n\r\n var putXRef = (API.__private__.putXRef = function() {\r\n var p = \"0000000000\";\r\n\r\n out(\"xref\");\r\n out(\"0 \" + (objectNumber + 1));\r\n out(\"0000000000 65535 f \");\r\n for (var i = 1; i <= objectNumber; i++) {\r\n var offset = offsets[i];\r\n if (typeof offset === \"function\") {\r\n out((p + offsets[i]()).slice(-10) + \" 00000 n \");\r\n } else {\r\n if (typeof offsets[i] !== \"undefined\") {\r\n out((p + offsets[i]).slice(-10) + \" 00000 n \");\r\n } else {\r\n out(\"0000000000 00000 n \");\r\n }\r\n }\r\n }\r\n });\r\n\r\n var buildDocument = (API.__private__.buildDocument = function() {\r\n resetDocument();\r\n setOutputDestination(content);\r\n\r\n events.publish(\"buildDocument\");\r\n\r\n putHeader();\r\n putPages();\r\n putAdditionalObjects();\r\n putResources();\r\n if (encryptionOptions !== null) putEncryptionDict();\r\n putInfo();\r\n putCatalog();\r\n\r\n var offsetOfXRef = contentLength;\r\n putXRef();\r\n putTrailer();\r\n out(\"startxref\");\r\n out(\"\" + offsetOfXRef);\r\n out(\"%%EOF\");\r\n\r\n setOutputDestination(pages[currentPage]);\r\n\r\n return content.join(\"\\n\");\r\n });\r\n\r\n var getBlob = (API.__private__.getBlob = function(data) {\r\n return new Blob([getArrayBuffer(data)], {\r\n type: \"application/pdf\"\r\n });\r\n });\r\n\r\n /**\r\n * Generates the PDF document.\r\n *\r\n * If `type` argument is undefined, output is raw body of resulting PDF returned as a string.\r\n *\r\n * @param {string} type A string identifying one of the possible output types.
\r\n * Possible values are:
\r\n * 'arraybuffer' -> (ArrayBuffer)
\r\n * 'blob' -> (Blob)
\r\n * 'bloburi'/'bloburl' -> (string)
\r\n * 'datauristring'/'dataurlstring' -> (string)
\r\n * 'datauri'/'dataurl' -> (undefined) -> change location to generated datauristring/dataurlstring
\r\n * 'dataurlnewwindow' -> (window | null | undefined) throws error if global isn't a window object(node)
\r\n * 'pdfobjectnewwindow' -> (window | null) throws error if global isn't a window object(node)
\r\n * 'pdfjsnewwindow' -> (wind | null)\r\n * @param {Object|string} options An object providing some additional signalling to PDF generator.
\r\n * Possible options are 'filename'.
\r\n * A string can be passed instead of {filename:string} and defaults to 'generated.pdf'\r\n * @function\r\n * @instance\r\n * @returns {string|window|ArrayBuffer|Blob|jsPDF|null|undefined}\r\n * @memberof jsPDF#\r\n * @name output\r\n */\r\n var output = (API.output = API.__private__.output = SAFE(function output(\r\n type,\r\n options\r\n ) {\r\n options = options || {};\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n filename: options\r\n };\r\n } else {\r\n options.filename = options.filename || \"generated.pdf\";\r\n }\r\n\r\n switch (type) {\r\n case undefined:\r\n return buildDocument();\r\n case \"save\":\r\n API.save(options.filename);\r\n break;\r\n case \"arraybuffer\":\r\n return getArrayBuffer(buildDocument());\r\n case \"blob\":\r\n return getBlob(buildDocument());\r\n case \"bloburi\":\r\n case \"bloburl\":\r\n // Developer is responsible of calling revokeObjectURL\r\n if (\r\n typeof globalObject.URL !== \"undefined\" &&\r\n typeof globalObject.URL.createObjectURL === \"function\"\r\n ) {\r\n return (\r\n (globalObject.URL &&\r\n globalObject.URL.createObjectURL(getBlob(buildDocument()))) ||\r\n void 0\r\n );\r\n } else {\r\n console.warn(\r\n \"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\"\r\n );\r\n }\r\n break;\r\n case \"datauristring\":\r\n case \"dataurlstring\":\r\n var dataURI = \"\";\r\n var pdfDocument = buildDocument();\r\n try {\r\n dataURI = btoa(pdfDocument);\r\n } catch (e) {\r\n dataURI = btoa(unescape(encodeURIComponent(pdfDocument)));\r\n }\r\n return (\r\n \"data:application/pdf;filename=\" +\r\n options.filename +\r\n \";base64,\" +\r\n dataURI\r\n );\r\n case \"pdfobjectnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfObjectUrl =\r\n \"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\";\r\n var integrity =\r\n ' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';\r\n\r\n if (options.pdfObjectUrl) {\r\n pdfObjectUrl = options.pdfObjectUrl;\r\n integrity = \"\";\r\n }\r\n\r\n var htmlForNewWindow =\r\n \"\" +\r\n '\";\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 var findWidth = 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 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(findWidth);\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\" && activeFont.encoding === \"Identity-H\") {\r\n // when using unicode fonts, wordSpacePerLine does not apply\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n let backToStartX = 0;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : backToStartX;\r\n if (l < len - 1) {\r\n let spacing = scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n );\r\n let words = da[l].split(\" \");\r\n text.push([words[0] + \" \", newX, newY]);\r\n backToStartX = 0; // distance to reset back to the left\r\n for (let i = 1; i < words.length; i++) {\r\n let shiftAmount =\r\n (findWidth(words[i - 1] + \" \" + words[i]) -\r\n findWidth(words[i])) *\r\n scaleFactor +\r\n spacing;\r\n if (i == words.length - 1) text.push([words[i], shiftAmount, 0]);\r\n else text.push([words[i] + \" \", shiftAmount, 0]);\r\n backToStartX -= shiftAmount;\r\n }\r\n } else {\r\n text.push([da[l], newX, newY]);\r\n }\r\n }\r\n text.push([\"\", backToStartX, 0]);\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\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","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","/**\n * @license React\n * react-dom.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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3e.length)&&-1!==e.indexOf(t)}function u(e){for(var t=\"\";e;)t+=\"0\",e-=1;return t}function s(e,t){var n=e+\"+\"+v(V(t).sort(),(function(e){return e+\":\"+t[e]})).join(\",\");return s.cache[n]||(s.cache[n]=Intl.NumberFormat(e,t)),s.cache[n]}function c(e,t,i){var a,l,f,m=t.useToLocaleString,p=t.useGrouping,g=p&&t.grouping.slice(),y=t.maximumSignificantDigits,h=t.minimumIntegerDigits||1,d=t.fractionDigits||0,v=t.groupingSeparator,b=t.decimalSeparator;if(m&&i){var w,S={minimumIntegerDigits:h,useGrouping:p};return d&&(S.maximumFractionDigits=d,S.minimumFractionDigits=d),y&&e>0&&(S.maximumSignificantDigits=y),r?(o||((w=x({},t)).useGrouping=!1,w.decimalSeparator=\".\",e=parseFloat(c(e,w),10)),s(i,S).format(e)):(n||((w=x({},t)).useGrouping=!1,w.decimalSeparator=\".\",e=parseFloat(c(e,w),10)),e.toLocaleString(i,S))}var T=(y?e.toPrecision(y+1):e.toFixed(d+1)).split(\"e\");f=T[1]||\"\",l=(T=T[0].split(\".\"))[1]||\"\";var O=(a=T[0]||\"\").length,_=l.length,V=O+_,D=a+l;(y&&V===y+1||!y&&_===d+1)&&((D=function(e){for(var t=e.split(\"\").reverse(),n=0,r=!0;r&&n0?l.length<=j?(a+=l+=u(j-l.length),l=\"\"):(a+=l.slice(0,j),l=l.slice(j)):j<0&&(l=u(Math.abs(j)-a.length)+a+l,a=\"0\"),y||((l=l.slice(0,d)).lengtht.label.length?-1:e.label.length0,Y=K?o.precision:0,J=Y,Q=o.minValue,X=!1,Z=o.maxValue,ee=!1,te=o.useToLocaleString,ne=o.groupingSeparator,re=o.decimalSeparator,oe=o.grouping;te=te&&(t||r);var ie=o.trim;g(ie)&&(ie=ie.join(\" \")),null===ie&&(R||Z||K)&&(ie=\"all\"),null!==ie&&!0!==ie&&\"left\"!==ie&&\"right\"!==ie||(ie=\"large\"),!1===ie&&(ie=\"\");var ae=function(e){return e.test(ie)},le=/large/,ue=/small/,se=/both/,ce=/mid/,fe=/^all|[^sm]all/,me=/final/,pe=R>0||D([le,se,fe],ae),ge=D([ue,se,fe],ae),ye=D([ce,fe],ae),he=D([me,fe],ae),de=v(I.match(F),(function(e,t){var n=L(e);return\"*\"===e.slice(0,1)&&(e=e.slice(1),\"escape\"!==n&&\"general\"!==n&&G.push(n)),{index:t,length:e.length,text:\"\",token:\"escape\"===n?e.replace(E.escape,\"$1\"):e,type:\"escape\"===n||\"general\"===n?null:n}})),ve={index:0,length:0,token:\"\",text:\"\",type:null},be=[];z&&de.reverse(),d(de,(function(e){if(e.type)return(ve.type||ve.text)&&be.push(ve),void(ve=e);z?ve.text=e.token+ve.text:ve.text+=e.token})),(ve.type||ve.text)&&be.push(ve),z&&be.reverse();var we=T(i,S(w(b(be,\"type\"))));if(!we.length)return b(be,\"text\").join(\"\");we=v(we,(function(e,t){var n,r=t+1===we.length,i=!t;n=\"years\"===e||\"months\"===e?P.as(e):M.as(e);var a=Math.floor(n),l=n-a,u=h(be,(function(t){return e===t.type}));return i&&Z&&n>Z&&(ee=!0),r&&Q&&Math.abs(o.duration.as(e))1&&($=!0),M.subtract(a,e),P.subtract(a,e),{rawValue:n,wholeValue:a,decimalValue:r?l:0,isSmallest:r,isLargest:i,type:e,tokenLength:u.length}}));var Se=B?Math.floor:Math.round,Te=function(e,t){var n=Math.pow(10,t);return Se(e*n)/n},Oe=!1,_e=!1,xe=function(e,t){var n={useGrouping:A,groupingSeparator:ne,decimalSeparator:re,grouping:oe,useToLocaleString:te};return K&&(Y<=0?(e.rawValue=0,e.wholeValue=0,e.decimalValue=0):(n.maximumSignificantDigits=Y,e.significantDigits=Y)),ee&&!_e&&(e.isLargest?(e.wholeValue=Z,e.decimalValue=0):(e.wholeValue=0,e.decimalValue=0)),X&&!_e&&(e.isSmallest?(e.wholeValue=Q,e.decimalValue=0):(e.wholeValue=0,e.decimalValue=0)),e.isSmallest||e.significantDigits&&e.significantDigits-e.wholeValue.toString().length<=0?W<0?e.value=Te(e.wholeValue,W):0===W?e.value=Se(e.wholeValue+e.decimalValue):K?(e.value=B?Te(e.rawValue,Y-e.wholeValue.toString().length):e.rawValue,e.wholeValue&&(Y-=e.wholeValue.toString().length)):(n.fractionDigits=W,e.value=B?e.wholeValue+Te(e.decimalValue,W):e.wholeValue+e.decimalValue):K&&e.wholeValue?(e.value=Math.round(Te(e.wholeValue,e.significantDigits-e.wholeValue.toString().length)),Y-=e.wholeValue.toString().length):e.value=e.wholeValue,e.tokenLength>1&&($||Oe)&&(n.minimumIntegerDigits=e.tokenLength,_e&&n.maximumSignificantDigits0||\"\"===ie||h(G,e.type)||h(N,e.type))&&(Oe=!0),e.formattedValue=c(e.value,n,q),n.useGrouping=!1,n.decimalSeparator=\".\",e.formattedValueEn=c(e.value,n,\"en\"),2===e.tokenLength&&\"milliseconds\"===e.type&&(e.formattedValueMS=c(e.value,{minimumIntegerDigits:3,useGrouping:!1},\"en\").slice(0,2)),e};if((we=w(we=v(we,xe))).length>1){var Ve=function(e){return h(we,(function(t){return t.type===e}))},De=function(e){var t=Ve(e.type);t&&d(e.targets,(function(e){var n=Ve(e.type);n&&parseInt(t.formattedValueEn,10)===e.value&&(t.rawValue=0,t.wholeValue=0,t.decimalValue=0,n.rawValue+=1,n.wholeValue+=1,n.decimalValue=0,n.formattedValueEn=n.wholeValue.toString(),_e=!0)}))};d(a,De)}return _e&&(Oe=!1,Y=J,we=w(we=v(we,xe))),!N||ee&&!o.trim?(pe&&(we=O(we,(function(e){return!e.isSmallest&&!e.wholeValue&&!h(G,e.type)}))),R&&we.length&&(we=we.slice(0,R)),ge&&we.length>1&&(we=_(we,(function(e){return!e.wholeValue&&!h(G,e.type)&&!e.isLargest}))),ye&&(we=w(we=v(we,(function(e,t){return t>0&&t \",ee=!1,X=!1),j&&(t.value>0||\"\"===ie||h(G,t.type)||h(N,t.type))&&(n+=\"-\",j=!1),\"milliseconds\"===e.type&&t.formattedValueMS?n+=t.formattedValueMS:n+=t.formattedValue,z||(n+=e.text),n}))).join(\"\").replace(/(,| |:|\\.)*$/,\"\").replace(/^(,| |:|\\.)*/,\"\"))}function L(){var e=this.duration,t=function(t){return e._data[t]},n=h(this.types,t),r=function(e,t){for(var n=e.length;n-=1;)if(t(e[n]))return e[n]}(this.types,t);switch(n){case\"milliseconds\":return\"S __\";case\"seconds\":case\"minutes\":return\"*_MS_\";case\"hours\":return\"_HMS_\";case\"days\":if(n===r)return\"d __\";case\"weeks\":return n===r?\"w __\":(null===this.trim&&(this.trim=\"both\"),\"w __, d __, h __\");case\"months\":if(n===r)return\"M __\";case\"years\":return n===r?\"y __\":(null===this.trim&&(this.trim=\"both\"),\"y __, M __, d __\");default:return null===this.trim&&(this.trim=\"both\"),\"y __, d __, h __, m __, s __\"}}function F(e){if(!e)throw\"Moment Duration Format init cannot find moment instance.\";e.duration.format=k,e.duration.fn.format=E,e.duration.fn.format.defaults={trim:null,stopTrim:null,largest:null,maxValue:null,minValue:null,precision:0,trunc:!1,forceLength:null,userLocale:null,usePlural:!0,useLeftUnits:!1,useGrouping:!0,useSignificantDigits:!1,template:L,useToLocaleString:!0,groupingSeparator:\",\",decimalSeparator:\".\",grouping:[3]},e.updateLocale(\"en\",p)}var I=function(e,t,n){return e.toLocaleString(t,n)};t=function(){try{(0).toLocaleString(\"i\")}catch(e){return\"RangeError\"===e.name}return!1}()&&P(I),n=t&&M(I);var N=function(e,t,n){if(\"undefined\"!=typeof window&&window&&window.Intl&&window.Intl.NumberFormat)return window.Intl.NumberFormat(t,n).format(e)};return r=P(N),o=r&&M(N),F(e),F},o=[n(1)],void 0===(i=\"function\"==typeof(r=l)?r.apply(t,o):r)||(e.exports=i),a&&(a.momentDurationFormatSetup=a.moment?l(a.moment):l)},function(e,t,n){\"use strict\";n.r(t),n.d(t,\"default\",(function(){return _}));var r=n(2),o=n.n(r),i=n(0),a=n.n(i),l=n(1),u=n.n(l);n(5);function s(e){return(s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function m(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:6e4;n.clearPooledTimer(),n.pooledTimer=setInterval((function(){n.pooledElements.forEach((function(e){0!==e.props.interval&&e.update()}))}),e)}},{key:\"clearPooledTimer\",value:function(){n.pooledTimer&&(clearInterval(n.pooledTimer),n.pooledTimer=null,n.pooledElements=[])}},{key:\"pushPooledElement\",value:function(e){e instanceof n?-1===n.pooledElements.indexOf(e)&&n.pooledElements.push(e):console.error(\"Element not an instance of Moment.\")}},{key:\"removePooledElement\",value:function(e){var t=n.pooledElements.indexOf(e);-1!==t&&n.pooledElements.splice(t,1)}},{key:\"getDatetime\",value:function(e){var t=e.utc,r=e.unix,o=e.date,i=e.locale,a=e.parse,l=e.tz,u=e.local;o=o||e.children,a=a||n.globalParse,u=u||n.globalLocal,l=l||n.globalTimezone,i=n.globalLocale?n.globalLocale:i||n.globalMoment.locale();var s=null;return s=t?n.globalMoment.utc(o,a,i):r?n.globalMoment(1e3*o,a,i):n.globalMoment(o,a,i),l?s=s.tz(l):u&&(s=s.local()),s}},{key:\"getContent\",value:function(e){var t=e.fromNow,r=e.fromNowDuring,o=e.from,i=e.add,a=e.subtract,l=e.toNow,s=e.to,c=e.ago,f=e.calendar,m=e.diff,p=e.duration,g=e.durationFromNow,y=e.unit,h=e.decimal,d=e.trim,v=e.format;v=v||n.globalFormat;var b=n.getDatetime(e);i&&b.add(i),a&&b.subtract(a);var w=Boolean(r)&&-b.diff(u()())>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/*!\n* sweetalert2 v11.14.5\n* Released under the MIT License.\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Sweetalert2 = factory());\n})(this, (function () { 'use strict';\n\n function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n }\n function _checkPrivateRedeclaration(e, t) {\n if (t.has(e)) throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n function _classPrivateFieldGet2(s, a) {\n return s.get(_assertClassBrand(s, a));\n }\n function _classPrivateFieldInitSpec(e, t, a) {\n _checkPrivateRedeclaration(e, t), t.set(e, a);\n }\n function _classPrivateFieldSet2(s, a, r) {\n return s.set(_assertClassBrand(s, a), r), r;\n }\n\n const RESTORE_FOCUS_TIMEOUT = 100;\n\n /** @type {GlobalState} */\n const globalState = {};\n const focusPreviousActiveElement = () => {\n if (globalState.previousActiveElement instanceof HTMLElement) {\n globalState.previousActiveElement.focus();\n globalState.previousActiveElement = null;\n } else if (document.body) {\n document.body.focus();\n }\n };\n\n /**\n * Restore previous active (focused) element\n *\n * @param {boolean} returnFocus\n * @returns {Promise}\n */\n const restoreActiveElement = returnFocus => {\n return new Promise(resolve => {\n if (!returnFocus) {\n return resolve();\n }\n const x = window.scrollX;\n const y = window.scrollY;\n globalState.restoreFocusTimeout = setTimeout(() => {\n focusPreviousActiveElement();\n resolve();\n }, RESTORE_FOCUS_TIMEOUT); // issues/900\n\n window.scrollTo(x, y);\n });\n };\n\n const swalPrefix = 'swal2-';\n\n /**\n * @typedef {Record} SwalClasses\n */\n\n /**\n * @typedef {'success' | 'warning' | 'info' | 'question' | 'error'} SwalIcon\n * @typedef {Record} SwalIcons\n */\n\n /** @type {SwalClass[]} */\n const classNames = ['container', 'shown', 'height-auto', 'iosfix', 'popup', 'modal', 'no-backdrop', 'no-transition', 'toast', 'toast-shown', 'show', 'hide', 'close', 'title', 'html-container', 'actions', 'confirm', 'deny', 'cancel', 'default-outline', 'footer', 'icon', 'icon-content', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'label', 'textarea', 'inputerror', 'input-label', 'validation-message', 'progress-steps', 'active-progress-step', 'progress-step', 'progress-step-line', 'loader', 'loading', 'styled', 'top', 'top-start', 'top-end', 'top-left', 'top-right', 'center', 'center-start', 'center-end', 'center-left', 'center-right', 'bottom', 'bottom-start', 'bottom-end', 'bottom-left', 'bottom-right', 'grow-row', 'grow-column', 'grow-fullscreen', 'rtl', 'timer-progress-bar', 'timer-progress-bar-container', 'scrollbar-measure', 'icon-success', 'icon-warning', 'icon-info', 'icon-question', 'icon-error'];\n const swalClasses = classNames.reduce((acc, className) => {\n acc[className] = swalPrefix + className;\n return acc;\n }, /** @type {SwalClasses} */{});\n\n /** @type {SwalIcon[]} */\n const icons = ['success', 'warning', 'info', 'question', 'error'];\n const iconTypes = icons.reduce((acc, icon) => {\n acc[icon] = swalPrefix + icon;\n return acc;\n }, /** @type {SwalIcons} */{});\n\n const consolePrefix = 'SweetAlert2:';\n\n /**\n * Capitalize the first letter of a string\n *\n * @param {string} str\n * @returns {string}\n */\n const capitalizeFirstLetter = str => str.charAt(0).toUpperCase() + str.slice(1);\n\n /**\n * Standardize console warnings\n *\n * @param {string | string[]} message\n */\n const warn = message => {\n console.warn(`${consolePrefix} ${typeof message === 'object' ? message.join(' ') : message}`);\n };\n\n /**\n * Standardize console errors\n *\n * @param {string} message\n */\n const error = message => {\n console.error(`${consolePrefix} ${message}`);\n };\n\n /**\n * Private global state for `warnOnce`\n *\n * @type {string[]}\n * @private\n */\n const previousWarnOnceMessages = [];\n\n /**\n * Show a console warning, but only if it hasn't already been shown\n *\n * @param {string} message\n */\n const warnOnce = message => {\n if (!previousWarnOnceMessages.includes(message)) {\n previousWarnOnceMessages.push(message);\n warn(message);\n }\n };\n\n /**\n * Show a one-time console warning about deprecated params/methods\n *\n * @param {string} deprecatedParam\n * @param {string?} useInstead\n */\n const warnAboutDeprecation = function (deprecatedParam) {\n let useInstead = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n warnOnce(`\"${deprecatedParam}\" is deprecated and will be removed in the next major release.${useInstead ? ` Use \"${useInstead}\" instead.` : ''}`);\n };\n\n /**\n * If `arg` is a function, call it (with no arguments or context) and return the result.\n * Otherwise, just pass the value through\n *\n * @param {Function | any} arg\n * @returns {any}\n */\n const callIfFunction = arg => typeof arg === 'function' ? arg() : arg;\n\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n const hasToPromiseFn = arg => arg && typeof arg.toPromise === 'function';\n\n /**\n * @param {any} arg\n * @returns {Promise}\n */\n const asPromise = arg => hasToPromiseFn(arg) ? arg.toPromise() : Promise.resolve(arg);\n\n /**\n * @param {any} arg\n * @returns {boolean}\n */\n const isPromise = arg => arg && Promise.resolve(arg) === arg;\n\n /**\n * Gets the popup container which contains the backdrop and the popup itself.\n *\n * @returns {HTMLElement | null}\n */\n const getContainer = () => document.body.querySelector(`.${swalClasses.container}`);\n\n /**\n * @param {string} selectorString\n * @returns {HTMLElement | null}\n */\n const elementBySelector = selectorString => {\n const container = getContainer();\n return container ? container.querySelector(selectorString) : null;\n };\n\n /**\n * @param {string} className\n * @returns {HTMLElement | null}\n */\n const elementByClass = className => {\n return elementBySelector(`.${className}`);\n };\n\n /**\n * @returns {HTMLElement | null}\n */\n const getPopup = () => elementByClass(swalClasses.popup);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getIcon = () => elementByClass(swalClasses.icon);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getIconContent = () => elementByClass(swalClasses['icon-content']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getTitle = () => elementByClass(swalClasses.title);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getHtmlContainer = () => elementByClass(swalClasses['html-container']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getImage = () => elementByClass(swalClasses.image);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getProgressSteps = () => elementByClass(swalClasses['progress-steps']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getValidationMessage = () => elementByClass(swalClasses['validation-message']);\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n const getConfirmButton = () => (/** @type {HTMLButtonElement} */elementBySelector(`.${swalClasses.actions} .${swalClasses.confirm}`));\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n const getCancelButton = () => (/** @type {HTMLButtonElement} */elementBySelector(`.${swalClasses.actions} .${swalClasses.cancel}`));\n\n /**\n * @returns {HTMLButtonElement | null}\n */\n const getDenyButton = () => (/** @type {HTMLButtonElement} */elementBySelector(`.${swalClasses.actions} .${swalClasses.deny}`));\n\n /**\n * @returns {HTMLElement | null}\n */\n const getInputLabel = () => elementByClass(swalClasses['input-label']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getLoader = () => elementBySelector(`.${swalClasses.loader}`);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getActions = () => elementByClass(swalClasses.actions);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getFooter = () => elementByClass(swalClasses.footer);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getTimerProgressBar = () => elementByClass(swalClasses['timer-progress-bar']);\n\n /**\n * @returns {HTMLElement | null}\n */\n const getCloseButton = () => elementByClass(swalClasses.close);\n\n // https://github.com/jkup/focusable/blob/master/index.js\n const focusable = `\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex=\"0\"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n`;\n /**\n * @returns {HTMLElement[]}\n */\n const getFocusableElements = () => {\n const popup = getPopup();\n if (!popup) {\n return [];\n }\n /** @type {NodeListOf} */\n const focusableElementsWithTabindex = popup.querySelectorAll('[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])');\n const focusableElementsWithTabindexSorted = Array.from(focusableElementsWithTabindex)\n // sort according to tabindex\n .sort((a, b) => {\n const tabindexA = parseInt(a.getAttribute('tabindex') || '0');\n const tabindexB = parseInt(b.getAttribute('tabindex') || '0');\n if (tabindexA > tabindexB) {\n return 1;\n } else if (tabindexA < tabindexB) {\n return -1;\n }\n return 0;\n });\n\n /** @type {NodeListOf} */\n const otherFocusableElements = popup.querySelectorAll(focusable);\n const otherFocusableElementsFiltered = Array.from(otherFocusableElements).filter(el => el.getAttribute('tabindex') !== '-1');\n return [...new Set(focusableElementsWithTabindexSorted.concat(otherFocusableElementsFiltered))].filter(el => isVisible$1(el));\n };\n\n /**\n * @returns {boolean}\n */\n const isModal = () => {\n return hasClass(document.body, swalClasses.shown) && !hasClass(document.body, swalClasses['toast-shown']) && !hasClass(document.body, swalClasses['no-backdrop']);\n };\n\n /**\n * @returns {boolean}\n */\n const isToast = () => {\n const popup = getPopup();\n if (!popup) {\n return false;\n }\n return hasClass(popup, swalClasses.toast);\n };\n\n /**\n * @returns {boolean}\n */\n const isLoading = () => {\n const popup = getPopup();\n if (!popup) {\n return false;\n }\n return popup.hasAttribute('data-loading');\n };\n\n /**\n * Securely set innerHTML of an element\n * https://github.com/sweetalert2/sweetalert2/issues/1926\n *\n * @param {HTMLElement} elem\n * @param {string} html\n */\n const setInnerHtml = (elem, html) => {\n elem.textContent = '';\n if (html) {\n const parser = new DOMParser();\n const parsed = parser.parseFromString(html, `text/html`);\n const head = parsed.querySelector('head');\n if (head) {\n Array.from(head.childNodes).forEach(child => {\n elem.appendChild(child);\n });\n }\n const body = parsed.querySelector('body');\n if (body) {\n Array.from(body.childNodes).forEach(child => {\n if (child instanceof HTMLVideoElement || child instanceof HTMLAudioElement) {\n elem.appendChild(child.cloneNode(true)); // https://github.com/sweetalert2/sweetalert2/issues/2507\n } else {\n elem.appendChild(child);\n }\n });\n }\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {boolean}\n */\n const hasClass = (elem, className) => {\n if (!className) {\n return false;\n }\n const classList = className.split(/\\s+/);\n for (let i = 0; i < classList.length; i++) {\n if (!elem.classList.contains(classList[i])) {\n return false;\n }\n }\n return true;\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n */\n const removeCustomClasses = (elem, params) => {\n Array.from(elem.classList).forEach(className => {\n if (!Object.values(swalClasses).includes(className) && !Object.values(iconTypes).includes(className) && !Object.values(params.showClass || {}).includes(className)) {\n elem.classList.remove(className);\n }\n });\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {SweetAlertOptions} params\n * @param {string} className\n */\n const applyCustomClass = (elem, params, className) => {\n removeCustomClasses(elem, params);\n if (!params.customClass) {\n return;\n }\n const customClass = params.customClass[(/** @type {keyof SweetAlertCustomClass} */className)];\n if (!customClass) {\n return;\n }\n if (typeof customClass !== 'string' && !customClass.forEach) {\n warn(`Invalid type of customClass.${className}! Expected string or iterable object, got \"${typeof customClass}\"`);\n return;\n }\n addClass(elem, customClass);\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {import('./renderers/renderInput').InputClass | SweetAlertInput} inputClass\n * @returns {HTMLInputElement | null}\n */\n const getInput$1 = (popup, inputClass) => {\n if (!inputClass) {\n return null;\n }\n switch (inputClass) {\n case 'select':\n case 'textarea':\n case 'file':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses[inputClass]}`);\n case 'checkbox':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.checkbox} input`);\n case 'radio':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.radio} input:checked`) || popup.querySelector(`.${swalClasses.popup} > .${swalClasses.radio} input:first-child`);\n case 'range':\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.range} input`);\n default:\n return popup.querySelector(`.${swalClasses.popup} > .${swalClasses.input}`);\n }\n };\n\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement} input\n */\n const focusInput = input => {\n input.focus();\n\n // place cursor at end of text in text input\n if (input.type !== 'file') {\n // http://stackoverflow.com/a/2345915\n const val = input.value;\n input.value = '';\n input.value = val;\n }\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[] | undefined} classList\n * @param {boolean} condition\n */\n const toggleClass = (target, classList, condition) => {\n if (!target || !classList) {\n return;\n }\n if (typeof classList === 'string') {\n classList = classList.split(/\\s+/).filter(Boolean);\n }\n classList.forEach(className => {\n if (Array.isArray(target)) {\n target.forEach(elem => {\n if (condition) {\n elem.classList.add(className);\n } else {\n elem.classList.remove(className);\n }\n });\n } else {\n if (condition) {\n target.classList.add(className);\n } else {\n target.classList.remove(className);\n }\n }\n });\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[] | undefined} classList\n */\n const addClass = (target, classList) => {\n toggleClass(target, classList, true);\n };\n\n /**\n * @param {HTMLElement | HTMLElement[] | null} target\n * @param {string | string[] | readonly string[] | undefined} classList\n */\n const removeClass = (target, classList) => {\n toggleClass(target, classList, false);\n };\n\n /**\n * Get direct child of an element by class name\n *\n * @param {HTMLElement} elem\n * @param {string} className\n * @returns {HTMLElement | undefined}\n */\n const getDirectChildByClass = (elem, className) => {\n const children = Array.from(elem.children);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child instanceof HTMLElement && hasClass(child, className)) {\n return child;\n }\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {string} property\n * @param {*} value\n */\n const applyNumericalStyle = (elem, property, value) => {\n if (value === `${parseInt(value)}`) {\n value = parseInt(value);\n }\n if (value || parseInt(value) === 0) {\n elem.style.setProperty(property, typeof value === 'number' ? `${value}px` : value);\n } else {\n elem.style.removeProperty(property);\n }\n };\n\n /**\n * @param {HTMLElement | null} elem\n * @param {string} display\n */\n const show = function (elem) {\n let display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'flex';\n if (!elem) {\n return;\n }\n elem.style.display = display;\n };\n\n /**\n * @param {HTMLElement | null} elem\n */\n const hide = elem => {\n if (!elem) {\n return;\n }\n elem.style.display = 'none';\n };\n\n /**\n * @param {HTMLElement | null} elem\n * @param {string} display\n */\n const showWhenInnerHtmlPresent = function (elem) {\n let display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'block';\n if (!elem) {\n return;\n }\n new MutationObserver(() => {\n toggle(elem, elem.innerHTML, display);\n }).observe(elem, {\n childList: true,\n subtree: true\n });\n };\n\n /**\n * @param {HTMLElement} parent\n * @param {string} selector\n * @param {string} property\n * @param {string} value\n */\n const setStyle = (parent, selector, property, value) => {\n /** @type {HTMLElement | null} */\n const el = parent.querySelector(selector);\n if (el) {\n el.style.setProperty(property, value);\n }\n };\n\n /**\n * @param {HTMLElement} elem\n * @param {any} condition\n * @param {string} display\n */\n const toggle = function (elem, condition) {\n let display = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'flex';\n if (condition) {\n show(elem, display);\n } else {\n hide(elem);\n }\n };\n\n /**\n * borrowed from jquery $(elem).is(':visible') implementation\n *\n * @param {HTMLElement | null} elem\n * @returns {boolean}\n */\n const isVisible$1 = elem => !!(elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length));\n\n /**\n * @returns {boolean}\n */\n const allButtonsAreHidden = () => !isVisible$1(getConfirmButton()) && !isVisible$1(getDenyButton()) && !isVisible$1(getCancelButton());\n\n /**\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n const isScrollable = elem => !!(elem.scrollHeight > elem.clientHeight);\n\n /**\n * borrowed from https://stackoverflow.com/a/46352119\n *\n * @param {HTMLElement} elem\n * @returns {boolean}\n */\n const hasCssAnimation = elem => {\n const style = window.getComputedStyle(elem);\n const animDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n const transDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n return animDuration > 0 || transDuration > 0;\n };\n\n /**\n * @param {number} timer\n * @param {boolean} reset\n */\n const animateTimerProgressBar = function (timer) {\n let reset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const timerProgressBar = getTimerProgressBar();\n if (!timerProgressBar) {\n return;\n }\n if (isVisible$1(timerProgressBar)) {\n if (reset) {\n timerProgressBar.style.transition = 'none';\n timerProgressBar.style.width = '100%';\n }\n setTimeout(() => {\n timerProgressBar.style.transition = `width ${timer / 1000}s linear`;\n timerProgressBar.style.width = '0%';\n }, 10);\n }\n };\n const stopTimerProgressBar = () => {\n const timerProgressBar = getTimerProgressBar();\n if (!timerProgressBar) {\n return;\n }\n const timerProgressBarWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n timerProgressBar.style.removeProperty('transition');\n timerProgressBar.style.width = '100%';\n const timerProgressBarFullWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n const timerProgressBarPercent = timerProgressBarWidth / timerProgressBarFullWidth * 100;\n timerProgressBar.style.width = `${timerProgressBarPercent}%`;\n };\n\n /**\n * Detect Node env\n *\n * @returns {boolean}\n */\n const isNodeEnv = () => typeof window === 'undefined' || typeof document === 'undefined';\n\n const sweetHTML = `\n
    \n \n
      \n
      \n \n

      \n
      \n \n \n
      \n \n \n
      \n \n
      \n \n \n
      \n
      \n
      \n \n \n \n
      \n
      \n
      \n
      \n
      \n
      \n`.replace(/(^|\\n)\\s*/g, '');\n\n /**\n * @returns {boolean}\n */\n const resetOldContainer = () => {\n const oldContainer = getContainer();\n if (!oldContainer) {\n return false;\n }\n oldContainer.remove();\n removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['has-column']]);\n return true;\n };\n const resetValidationMessage$1 = () => {\n globalState.currentInstance.resetValidationMessage();\n };\n const addInputChangeListeners = () => {\n const popup = getPopup();\n const input = getDirectChildByClass(popup, swalClasses.input);\n const file = getDirectChildByClass(popup, swalClasses.file);\n /** @type {HTMLInputElement} */\n const range = popup.querySelector(`.${swalClasses.range} input`);\n /** @type {HTMLOutputElement} */\n const rangeOutput = popup.querySelector(`.${swalClasses.range} output`);\n const select = getDirectChildByClass(popup, swalClasses.select);\n /** @type {HTMLInputElement} */\n const checkbox = popup.querySelector(`.${swalClasses.checkbox} input`);\n const textarea = getDirectChildByClass(popup, swalClasses.textarea);\n input.oninput = resetValidationMessage$1;\n file.onchange = resetValidationMessage$1;\n select.onchange = resetValidationMessage$1;\n checkbox.onchange = resetValidationMessage$1;\n textarea.oninput = resetValidationMessage$1;\n range.oninput = () => {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n range.onchange = () => {\n resetValidationMessage$1();\n rangeOutput.value = range.value;\n };\n };\n\n /**\n * @param {string | HTMLElement} target\n * @returns {HTMLElement}\n */\n const getTarget = target => typeof target === 'string' ? document.querySelector(target) : target;\n\n /**\n * @param {SweetAlertOptions} params\n */\n const setupAccessibility = params => {\n const popup = getPopup();\n popup.setAttribute('role', params.toast ? 'alert' : 'dialog');\n popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive');\n if (!params.toast) {\n popup.setAttribute('aria-modal', 'true');\n }\n };\n\n /**\n * @param {HTMLElement} targetElement\n */\n const setupRTL = targetElement => {\n if (window.getComputedStyle(targetElement).direction === 'rtl') {\n addClass(getContainer(), swalClasses.rtl);\n }\n };\n\n /**\n * Add modal + backdrop + no-war message for Russians to DOM\n *\n * @param {SweetAlertOptions} params\n */\n const init = params => {\n // Clean up the old popup container if it exists\n const oldContainerExisted = resetOldContainer();\n if (isNodeEnv()) {\n error('SweetAlert2 requires document to initialize');\n return;\n }\n const container = document.createElement('div');\n container.className = swalClasses.container;\n if (oldContainerExisted) {\n addClass(container, swalClasses['no-transition']);\n }\n setInnerHtml(container, sweetHTML);\n const targetElement = getTarget(params.target);\n targetElement.appendChild(container);\n setupAccessibility(params);\n setupRTL(targetElement);\n addInputChangeListeners();\n };\n\n /**\n * @param {HTMLElement | object | string} param\n * @param {HTMLElement} target\n */\n const parseHtmlToContainer = (param, target) => {\n // DOM element\n if (param instanceof HTMLElement) {\n target.appendChild(param);\n }\n\n // Object\n else if (typeof param === 'object') {\n handleObject(param, target);\n }\n\n // Plain string\n else if (param) {\n setInnerHtml(target, param);\n }\n };\n\n /**\n * @param {any} param\n * @param {HTMLElement} target\n */\n const handleObject = (param, target) => {\n // JQuery element(s)\n if (param.jquery) {\n handleJqueryElem(target, param);\n }\n\n // For other objects use their string representation\n else {\n setInnerHtml(target, param.toString());\n }\n };\n\n /**\n * @param {HTMLElement} target\n * @param {any} elem\n */\n const handleJqueryElem = (target, elem) => {\n target.textContent = '';\n if (0 in elem) {\n for (let i = 0; i in elem; i++) {\n target.appendChild(elem[i].cloneNode(true));\n }\n } else {\n target.appendChild(elem.cloneNode(true));\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderActions = (instance, params) => {\n const actions = getActions();\n const loader = getLoader();\n if (!actions || !loader) {\n return;\n }\n\n // Actions (buttons) wrapper\n if (!params.showConfirmButton && !params.showDenyButton && !params.showCancelButton) {\n hide(actions);\n } else {\n show(actions);\n }\n\n // Custom class\n applyCustomClass(actions, params, 'actions');\n\n // Render all the buttons\n renderButtons(actions, loader, params);\n\n // Loader\n setInnerHtml(loader, params.loaderHtml || '');\n applyCustomClass(loader, params, 'loader');\n };\n\n /**\n * @param {HTMLElement} actions\n * @param {HTMLElement} loader\n * @param {SweetAlertOptions} params\n */\n function renderButtons(actions, loader, params) {\n const confirmButton = getConfirmButton();\n const denyButton = getDenyButton();\n const cancelButton = getCancelButton();\n if (!confirmButton || !denyButton || !cancelButton) {\n return;\n }\n\n // Render buttons\n renderButton(confirmButton, 'confirm', params);\n renderButton(denyButton, 'deny', params);\n renderButton(cancelButton, 'cancel', params);\n handleButtonsStyling(confirmButton, denyButton, cancelButton, params);\n if (params.reverseButtons) {\n if (params.toast) {\n actions.insertBefore(cancelButton, confirmButton);\n actions.insertBefore(denyButton, confirmButton);\n } else {\n actions.insertBefore(cancelButton, loader);\n actions.insertBefore(denyButton, loader);\n actions.insertBefore(confirmButton, loader);\n }\n }\n }\n\n /**\n * @param {HTMLElement} confirmButton\n * @param {HTMLElement} denyButton\n * @param {HTMLElement} cancelButton\n * @param {SweetAlertOptions} params\n */\n function handleButtonsStyling(confirmButton, denyButton, cancelButton, params) {\n if (!params.buttonsStyling) {\n removeClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n return;\n }\n addClass([confirmButton, denyButton, cancelButton], swalClasses.styled);\n\n // Buttons background colors\n if (params.confirmButtonColor) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n addClass(confirmButton, swalClasses['default-outline']);\n }\n if (params.denyButtonColor) {\n denyButton.style.backgroundColor = params.denyButtonColor;\n addClass(denyButton, swalClasses['default-outline']);\n }\n if (params.cancelButtonColor) {\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n addClass(cancelButton, swalClasses['default-outline']);\n }\n }\n\n /**\n * @param {HTMLElement} button\n * @param {'confirm' | 'deny' | 'cancel'} buttonType\n * @param {SweetAlertOptions} params\n */\n function renderButton(button, buttonType, params) {\n const buttonName = /** @type {'Confirm' | 'Deny' | 'Cancel'} */capitalizeFirstLetter(buttonType);\n toggle(button, params[`show${buttonName}Button`], 'inline-block');\n setInnerHtml(button, params[`${buttonType}ButtonText`] || ''); // Set caption text\n button.setAttribute('aria-label', params[`${buttonType}ButtonAriaLabel`] || ''); // ARIA label\n\n // Add buttons custom classes\n button.className = swalClasses[buttonType];\n applyCustomClass(button, params, `${buttonType}Button`);\n }\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderCloseButton = (instance, params) => {\n const closeButton = getCloseButton();\n if (!closeButton) {\n return;\n }\n setInnerHtml(closeButton, params.closeButtonHtml || '');\n\n // Custom class\n applyCustomClass(closeButton, params, 'closeButton');\n toggle(closeButton, params.showCloseButton);\n closeButton.setAttribute('aria-label', params.closeButtonAriaLabel || '');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderContainer = (instance, params) => {\n const container = getContainer();\n if (!container) {\n return;\n }\n handleBackdropParam(container, params.backdrop);\n handlePositionParam(container, params.position);\n handleGrowParam(container, params.grow);\n\n // Custom class\n applyCustomClass(container, params, 'container');\n };\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['backdrop']} backdrop\n */\n function handleBackdropParam(container, backdrop) {\n if (typeof backdrop === 'string') {\n container.style.background = backdrop;\n } else if (!backdrop) {\n addClass([document.documentElement, document.body], swalClasses['no-backdrop']);\n }\n }\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['position']} position\n */\n function handlePositionParam(container, position) {\n if (!position) {\n return;\n }\n if (position in swalClasses) {\n addClass(container, swalClasses[position]);\n } else {\n warn('The \"position\" parameter is not valid, defaulting to \"center\"');\n addClass(container, swalClasses.center);\n }\n }\n\n /**\n * @param {HTMLElement} container\n * @param {SweetAlertOptions['grow']} grow\n */\n function handleGrowParam(container, grow) {\n if (!grow) {\n return;\n }\n addClass(container, swalClasses[`grow-${grow}`]);\n }\n\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n var privateProps = {\n innerParams: new WeakMap(),\n domCache: new WeakMap()\n };\n\n /// \n\n\n /** @type {InputClass[]} */\n const inputClasses = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderInput = (instance, params) => {\n const popup = getPopup();\n if (!popup) {\n return;\n }\n const innerParams = privateProps.innerParams.get(instance);\n const rerender = !innerParams || params.input !== innerParams.input;\n inputClasses.forEach(inputClass => {\n const inputContainer = getDirectChildByClass(popup, swalClasses[inputClass]);\n if (!inputContainer) {\n return;\n }\n\n // set attributes\n setAttributes(inputClass, params.inputAttributes);\n\n // set class\n inputContainer.className = swalClasses[inputClass];\n if (rerender) {\n hide(inputContainer);\n }\n });\n if (params.input) {\n if (rerender) {\n showInput(params);\n }\n // set custom class\n setCustomClass(params);\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n const showInput = params => {\n if (!params.input) {\n return;\n }\n if (!renderInputType[params.input]) {\n error(`Unexpected type of input! Expected ${Object.keys(renderInputType).join(' | ')}, got \"${params.input}\"`);\n return;\n }\n const inputContainer = getInputContainer(params.input);\n if (!inputContainer) {\n return;\n }\n const input = renderInputType[params.input](inputContainer, params);\n show(inputContainer);\n\n // input autofocus\n if (params.inputAutoFocus) {\n setTimeout(() => {\n focusInput(input);\n });\n }\n };\n\n /**\n * @param {HTMLInputElement} input\n */\n const removeAttributes = input => {\n for (let i = 0; i < input.attributes.length; i++) {\n const attrName = input.attributes[i].name;\n if (!['id', 'type', 'value', 'style'].includes(attrName)) {\n input.removeAttribute(attrName);\n }\n }\n };\n\n /**\n * @param {InputClass} inputClass\n * @param {SweetAlertOptions['inputAttributes']} inputAttributes\n */\n const setAttributes = (inputClass, inputAttributes) => {\n const popup = getPopup();\n if (!popup) {\n return;\n }\n const input = getInput$1(popup, inputClass);\n if (!input) {\n return;\n }\n removeAttributes(input);\n for (const attr in inputAttributes) {\n input.setAttribute(attr, inputAttributes[attr]);\n }\n };\n\n /**\n * @param {SweetAlertOptions} params\n */\n const setCustomClass = params => {\n if (!params.input) {\n return;\n }\n const inputContainer = getInputContainer(params.input);\n if (inputContainer) {\n applyCustomClass(inputContainer, params, 'input');\n }\n };\n\n /**\n * @param {HTMLInputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions} params\n */\n const setInputPlaceholder = (input, params) => {\n if (!input.placeholder && params.inputPlaceholder) {\n input.placeholder = params.inputPlaceholder;\n }\n };\n\n /**\n * @param {Input} input\n * @param {Input} prependTo\n * @param {SweetAlertOptions} params\n */\n const setInputLabel = (input, prependTo, params) => {\n if (params.inputLabel) {\n const label = document.createElement('label');\n const labelClass = swalClasses['input-label'];\n label.setAttribute('for', input.id);\n label.className = labelClass;\n if (typeof params.customClass === 'object') {\n addClass(label, params.customClass.inputLabel);\n }\n label.innerText = params.inputLabel;\n prependTo.insertAdjacentElement('beforebegin', label);\n }\n };\n\n /**\n * @param {SweetAlertInput} inputType\n * @returns {HTMLElement | undefined}\n */\n const getInputContainer = inputType => {\n const popup = getPopup();\n if (!popup) {\n return;\n }\n return getDirectChildByClass(popup, swalClasses[(/** @type {SwalClass} */inputType)] || swalClasses.input);\n };\n\n /**\n * @param {HTMLInputElement | HTMLOutputElement | HTMLTextAreaElement} input\n * @param {SweetAlertOptions['inputValue']} inputValue\n */\n const checkAndSetInputValue = (input, inputValue) => {\n if (['string', 'number'].includes(typeof inputValue)) {\n input.value = `${inputValue}`;\n } else if (!isPromise(inputValue)) {\n warn(`Unexpected type of inputValue! Expected \"string\", \"number\" or \"Promise\", got \"${typeof inputValue}\"`);\n }\n };\n\n /** @type {Record Input>} */\n const renderInputType = {};\n\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = renderInputType.search = renderInputType.date = renderInputType['datetime-local'] = renderInputType.time = renderInputType.week = renderInputType.month = /** @type {(input: Input | HTMLElement, params: SweetAlertOptions) => Input} */\n (input, params) => {\n checkAndSetInputValue(input, params.inputValue);\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n input.type = params.input;\n return input;\n };\n\n /**\n * @param {HTMLInputElement} input\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.file = (input, params) => {\n setInputLabel(input, input, params);\n setInputPlaceholder(input, params);\n return input;\n };\n\n /**\n * @param {HTMLInputElement} range\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.range = (range, params) => {\n const rangeInput = range.querySelector('input');\n const rangeOutput = range.querySelector('output');\n checkAndSetInputValue(rangeInput, params.inputValue);\n rangeInput.type = params.input;\n checkAndSetInputValue(rangeOutput, params.inputValue);\n setInputLabel(rangeInput, range, params);\n return range;\n };\n\n /**\n * @param {HTMLSelectElement} select\n * @param {SweetAlertOptions} params\n * @returns {HTMLSelectElement}\n */\n renderInputType.select = (select, params) => {\n select.textContent = '';\n if (params.inputPlaceholder) {\n const placeholder = document.createElement('option');\n setInnerHtml(placeholder, params.inputPlaceholder);\n placeholder.value = '';\n placeholder.disabled = true;\n placeholder.selected = true;\n select.appendChild(placeholder);\n }\n setInputLabel(select, select, params);\n return select;\n };\n\n /**\n * @param {HTMLInputElement} radio\n * @returns {HTMLInputElement}\n */\n renderInputType.radio = radio => {\n radio.textContent = '';\n return radio;\n };\n\n /**\n * @param {HTMLLabelElement} checkboxContainer\n * @param {SweetAlertOptions} params\n * @returns {HTMLInputElement}\n */\n renderInputType.checkbox = (checkboxContainer, params) => {\n const checkbox = getInput$1(getPopup(), 'checkbox');\n checkbox.value = '1';\n checkbox.checked = Boolean(params.inputValue);\n const label = checkboxContainer.querySelector('span');\n setInnerHtml(label, params.inputPlaceholder || params.inputLabel);\n return checkbox;\n };\n\n /**\n * @param {HTMLTextAreaElement} textarea\n * @param {SweetAlertOptions} params\n * @returns {HTMLTextAreaElement}\n */\n renderInputType.textarea = (textarea, params) => {\n checkAndSetInputValue(textarea, params.inputValue);\n setInputPlaceholder(textarea, params);\n setInputLabel(textarea, textarea, params);\n\n /**\n * @param {HTMLElement} el\n * @returns {number}\n */\n const getMargin = el => parseInt(window.getComputedStyle(el).marginLeft) + parseInt(window.getComputedStyle(el).marginRight);\n\n // https://github.com/sweetalert2/sweetalert2/issues/2291\n setTimeout(() => {\n // https://github.com/sweetalert2/sweetalert2/issues/1699\n if ('MutationObserver' in window) {\n const initialPopupWidth = parseInt(window.getComputedStyle(getPopup()).width);\n const textareaResizeHandler = () => {\n // check if texarea is still in document (i.e. popup wasn't closed in the meantime)\n if (!document.body.contains(textarea)) {\n return;\n }\n const textareaWidth = textarea.offsetWidth + getMargin(textarea);\n if (textareaWidth > initialPopupWidth) {\n getPopup().style.width = `${textareaWidth}px`;\n } else {\n applyNumericalStyle(getPopup(), 'width', params.width);\n }\n };\n new MutationObserver(textareaResizeHandler).observe(textarea, {\n attributes: true,\n attributeFilter: ['style']\n });\n }\n });\n return textarea;\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderContent = (instance, params) => {\n const htmlContainer = getHtmlContainer();\n if (!htmlContainer) {\n return;\n }\n showWhenInnerHtmlPresent(htmlContainer);\n applyCustomClass(htmlContainer, params, 'htmlContainer');\n\n // Content as HTML\n if (params.html) {\n parseHtmlToContainer(params.html, htmlContainer);\n show(htmlContainer, 'block');\n }\n\n // Content as plain text\n else if (params.text) {\n htmlContainer.textContent = params.text;\n show(htmlContainer, 'block');\n }\n\n // No content\n else {\n hide(htmlContainer);\n }\n renderInput(instance, params);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderFooter = (instance, params) => {\n const footer = getFooter();\n if (!footer) {\n return;\n }\n showWhenInnerHtmlPresent(footer);\n toggle(footer, params.footer, 'block');\n if (params.footer) {\n parseHtmlToContainer(params.footer, footer);\n }\n\n // Custom class\n applyCustomClass(footer, params, 'footer');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderIcon = (instance, params) => {\n const innerParams = privateProps.innerParams.get(instance);\n const icon = getIcon();\n if (!icon) {\n return;\n }\n\n // if the given icon already rendered, apply the styling without re-rendering the icon\n if (innerParams && params.icon === innerParams.icon) {\n // Custom or default content\n setContent(icon, params);\n applyStyles(icon, params);\n return;\n }\n if (!params.icon && !params.iconHtml) {\n hide(icon);\n return;\n }\n if (params.icon && Object.keys(iconTypes).indexOf(params.icon) === -1) {\n error(`Unknown icon! Expected \"success\", \"error\", \"warning\", \"info\" or \"question\", got \"${params.icon}\"`);\n hide(icon);\n return;\n }\n show(icon);\n\n // Custom or default content\n setContent(icon, params);\n applyStyles(icon, params);\n\n // Animate icon\n addClass(icon, params.showClass && params.showClass.icon);\n };\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n const applyStyles = (icon, params) => {\n for (const [iconType, iconClassName] of Object.entries(iconTypes)) {\n if (params.icon !== iconType) {\n removeClass(icon, iconClassName);\n }\n }\n addClass(icon, params.icon && iconTypes[params.icon]);\n\n // Icon color\n setColor(icon, params);\n\n // Success icon background color\n adjustSuccessIconBackgroundColor();\n\n // Custom class\n applyCustomClass(icon, params, 'icon');\n };\n\n // Adjust success icon background color to match the popup background color\n const adjustSuccessIconBackgroundColor = () => {\n const popup = getPopup();\n if (!popup) {\n return;\n }\n const popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color');\n /** @type {NodeListOf} */\n const successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix');\n for (let i = 0; i < successIconParts.length; i++) {\n successIconParts[i].style.backgroundColor = popupBackgroundColor;\n }\n };\n const successIconHtml = `\n
      \n \n
      \n
      \n`;\n const errorIconHtml = `\n \n \n \n \n`;\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n const setContent = (icon, params) => {\n if (!params.icon && !params.iconHtml) {\n return;\n }\n let oldContent = icon.innerHTML;\n let newContent = '';\n if (params.iconHtml) {\n newContent = iconContent(params.iconHtml);\n } else if (params.icon === 'success') {\n newContent = successIconHtml;\n oldContent = oldContent.replace(/ style=\".*?\"/g, ''); // undo adjustSuccessIconBackgroundColor()\n } else if (params.icon === 'error') {\n newContent = errorIconHtml;\n } else if (params.icon) {\n const defaultIconHtml = {\n question: '?',\n warning: '!',\n info: 'i'\n };\n newContent = iconContent(defaultIconHtml[params.icon]);\n }\n if (oldContent.trim() !== newContent.trim()) {\n setInnerHtml(icon, newContent);\n }\n };\n\n /**\n * @param {HTMLElement} icon\n * @param {SweetAlertOptions} params\n */\n const setColor = (icon, params) => {\n if (!params.iconColor) {\n return;\n }\n icon.style.color = params.iconColor;\n icon.style.borderColor = params.iconColor;\n for (const sel of ['.swal2-success-line-tip', '.swal2-success-line-long', '.swal2-x-mark-line-left', '.swal2-x-mark-line-right']) {\n setStyle(icon, sel, 'background-color', params.iconColor);\n }\n setStyle(icon, '.swal2-success-ring', 'border-color', params.iconColor);\n };\n\n /**\n * @param {string} content\n * @returns {string}\n */\n const iconContent = content => `
      ${content}
      `;\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderImage = (instance, params) => {\n const image = getImage();\n if (!image) {\n return;\n }\n if (!params.imageUrl) {\n hide(image);\n return;\n }\n show(image, '');\n\n // Src, alt\n image.setAttribute('src', params.imageUrl);\n image.setAttribute('alt', params.imageAlt || '');\n\n // Width, height\n applyNumericalStyle(image, 'width', params.imageWidth);\n applyNumericalStyle(image, 'height', params.imageHeight);\n\n // Class\n image.className = swalClasses.image;\n applyCustomClass(image, params, 'image');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderPopup = (instance, params) => {\n const container = getContainer();\n const popup = getPopup();\n if (!container || !popup) {\n return;\n }\n\n // Width\n // https://github.com/sweetalert2/sweetalert2/issues/2170\n if (params.toast) {\n applyNumericalStyle(container, 'width', params.width);\n popup.style.width = '100%';\n const loader = getLoader();\n if (loader) {\n popup.insertBefore(loader, getIcon());\n }\n } else {\n applyNumericalStyle(popup, 'width', params.width);\n }\n\n // Padding\n applyNumericalStyle(popup, 'padding', params.padding);\n\n // Color\n if (params.color) {\n popup.style.color = params.color;\n }\n\n // Background\n if (params.background) {\n popup.style.background = params.background;\n }\n hide(getValidationMessage());\n\n // Classes\n addClasses$1(popup, params);\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} params\n */\n const addClasses$1 = (popup, params) => {\n const showClass = params.showClass || {};\n // Default Class + showClass when updating Swal.update({})\n popup.className = `${swalClasses.popup} ${isVisible$1(popup) ? showClass.popup : ''}`;\n if (params.toast) {\n addClass([document.documentElement, document.body], swalClasses['toast-shown']);\n addClass(popup, swalClasses.toast);\n } else {\n addClass(popup, swalClasses.modal);\n }\n\n // Custom class\n applyCustomClass(popup, params, 'popup');\n // TODO: remove in the next major\n if (typeof params.customClass === 'string') {\n addClass(popup, params.customClass);\n }\n\n // Icon class (#1842)\n if (params.icon) {\n addClass(popup, swalClasses[`icon-${params.icon}`]);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderProgressSteps = (instance, params) => {\n const progressStepsContainer = getProgressSteps();\n if (!progressStepsContainer) {\n return;\n }\n const {\n progressSteps,\n currentProgressStep\n } = params;\n if (!progressSteps || progressSteps.length === 0 || currentProgressStep === undefined) {\n hide(progressStepsContainer);\n return;\n }\n show(progressStepsContainer);\n progressStepsContainer.textContent = '';\n if (currentProgressStep >= progressSteps.length) {\n warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');\n }\n progressSteps.forEach((step, index) => {\n const stepEl = createStepElement(step);\n progressStepsContainer.appendChild(stepEl);\n if (index === currentProgressStep) {\n addClass(stepEl, swalClasses['active-progress-step']);\n }\n if (index !== progressSteps.length - 1) {\n const lineEl = createLineElement(params);\n progressStepsContainer.appendChild(lineEl);\n }\n });\n };\n\n /**\n * @param {string} step\n * @returns {HTMLLIElement}\n */\n const createStepElement = step => {\n const stepEl = document.createElement('li');\n addClass(stepEl, swalClasses['progress-step']);\n setInnerHtml(stepEl, step);\n return stepEl;\n };\n\n /**\n * @param {SweetAlertOptions} params\n * @returns {HTMLLIElement}\n */\n const createLineElement = params => {\n const lineEl = document.createElement('li');\n addClass(lineEl, swalClasses['progress-step-line']);\n if (params.progressStepsDistance) {\n applyNumericalStyle(lineEl, 'width', params.progressStepsDistance);\n }\n return lineEl;\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const renderTitle = (instance, params) => {\n const title = getTitle();\n if (!title) {\n return;\n }\n showWhenInnerHtmlPresent(title);\n toggle(title, params.title || params.titleText, 'block');\n if (params.title) {\n parseHtmlToContainer(params.title, title);\n }\n if (params.titleText) {\n title.innerText = params.titleText;\n }\n\n // Custom class\n applyCustomClass(title, params, 'title');\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const render = (instance, params) => {\n renderPopup(instance, params);\n renderContainer(instance, params);\n renderProgressSteps(instance, params);\n renderIcon(instance, params);\n renderImage(instance, params);\n renderTitle(instance, params);\n renderCloseButton(instance, params);\n renderContent(instance, params);\n renderActions(instance, params);\n renderFooter(instance, params);\n const popup = getPopup();\n if (typeof params.didRender === 'function' && popup) {\n params.didRender(popup);\n }\n globalState.eventEmitter.emit('didRender', popup);\n };\n\n /*\n * Global function to determine if SweetAlert2 popup is shown\n */\n const isVisible = () => {\n return isVisible$1(getPopup());\n };\n\n /*\n * Global function to click 'Confirm' button\n */\n const clickConfirm = () => {\n var _dom$getConfirmButton;\n return (_dom$getConfirmButton = getConfirmButton()) === null || _dom$getConfirmButton === void 0 ? void 0 : _dom$getConfirmButton.click();\n };\n\n /*\n * Global function to click 'Deny' button\n */\n const clickDeny = () => {\n var _dom$getDenyButton;\n return (_dom$getDenyButton = getDenyButton()) === null || _dom$getDenyButton === void 0 ? void 0 : _dom$getDenyButton.click();\n };\n\n /*\n * Global function to click 'Cancel' button\n */\n const clickCancel = () => {\n var _dom$getCancelButton;\n return (_dom$getCancelButton = getCancelButton()) === null || _dom$getCancelButton === void 0 ? void 0 : _dom$getCancelButton.click();\n };\n\n /** @typedef {'cancel' | 'backdrop' | 'close' | 'esc' | 'timer'} DismissReason */\n\n /** @type {Record} */\n const DismissReason = Object.freeze({\n cancel: 'cancel',\n backdrop: 'backdrop',\n close: 'close',\n esc: 'esc',\n timer: 'timer'\n });\n\n /**\n * @param {GlobalState} globalState\n */\n const removeKeydownHandler = globalState => {\n if (globalState.keydownTarget && globalState.keydownHandlerAdded) {\n globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = false;\n }\n };\n\n /**\n * @param {GlobalState} globalState\n * @param {SweetAlertOptions} innerParams\n * @param {*} dismissWith\n */\n const addKeydownHandler = (globalState, innerParams, dismissWith) => {\n removeKeydownHandler(globalState);\n if (!innerParams.toast) {\n globalState.keydownHandler = e => keydownHandler(innerParams, e, dismissWith);\n globalState.keydownTarget = innerParams.keydownListenerCapture ? window : getPopup();\n globalState.keydownListenerCapture = innerParams.keydownListenerCapture;\n globalState.keydownTarget.addEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = true;\n }\n };\n\n /**\n * @param {number} index\n * @param {number} increment\n */\n const setFocus = (index, increment) => {\n var _dom$getPopup;\n const focusableElements = getFocusableElements();\n // search for visible elements and select the next possible match\n if (focusableElements.length) {\n index = index + increment;\n\n // rollover to first item\n if (index === focusableElements.length) {\n index = 0;\n\n // go to last item\n } else if (index === -1) {\n index = focusableElements.length - 1;\n }\n focusableElements[index].focus();\n return;\n }\n // no visible focusable elements, focus the popup\n (_dom$getPopup = getPopup()) === null || _dom$getPopup === void 0 || _dom$getPopup.focus();\n };\n const arrowKeysNextButton = ['ArrowRight', 'ArrowDown'];\n const arrowKeysPreviousButton = ['ArrowLeft', 'ArrowUp'];\n\n /**\n * @param {SweetAlertOptions} innerParams\n * @param {KeyboardEvent} event\n * @param {Function} dismissWith\n */\n const keydownHandler = (innerParams, event, dismissWith) => {\n if (!innerParams) {\n return; // This instance has already been destroyed\n }\n\n // Ignore keydown during IME composition\n // https://developer.mozilla.org/en-US/docs/Web/API/Document/keydown_event#ignoring_keydown_during_ime_composition\n // https://github.com/sweetalert2/sweetalert2/issues/720\n // https://github.com/sweetalert2/sweetalert2/issues/2406\n if (event.isComposing || event.keyCode === 229) {\n return;\n }\n if (innerParams.stopKeydownPropagation) {\n event.stopPropagation();\n }\n\n // ENTER\n if (event.key === 'Enter') {\n handleEnter(event, innerParams);\n }\n\n // TAB\n else if (event.key === 'Tab') {\n handleTab(event);\n }\n\n // ARROWS - switch focus between buttons\n else if ([...arrowKeysNextButton, ...arrowKeysPreviousButton].includes(event.key)) {\n handleArrows(event.key);\n }\n\n // ESC\n else if (event.key === 'Escape') {\n handleEsc(event, innerParams, dismissWith);\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n */\n const handleEnter = (event, innerParams) => {\n // https://github.com/sweetalert2/sweetalert2/issues/2386\n if (!callIfFunction(innerParams.allowEnterKey)) {\n return;\n }\n const input = getInput$1(getPopup(), innerParams.input);\n if (event.target && input && event.target instanceof HTMLElement && event.target.outerHTML === input.outerHTML) {\n if (['textarea', 'file'].includes(innerParams.input)) {\n return; // do not submit\n }\n clickConfirm();\n event.preventDefault();\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n */\n const handleTab = event => {\n const targetElement = event.target;\n const focusableElements = getFocusableElements();\n let btnIndex = -1;\n for (let i = 0; i < focusableElements.length; i++) {\n if (targetElement === focusableElements[i]) {\n btnIndex = i;\n break;\n }\n }\n\n // Cycle to the next button\n if (!event.shiftKey) {\n setFocus(btnIndex, 1);\n }\n\n // Cycle to the prev button\n else {\n setFocus(btnIndex, -1);\n }\n event.stopPropagation();\n event.preventDefault();\n };\n\n /**\n * @param {string} key\n */\n const handleArrows = key => {\n const actions = getActions();\n const confirmButton = getConfirmButton();\n const denyButton = getDenyButton();\n const cancelButton = getCancelButton();\n if (!actions || !confirmButton || !denyButton || !cancelButton) {\n return;\n }\n /** @type HTMLElement[] */\n const buttons = [confirmButton, denyButton, cancelButton];\n if (document.activeElement instanceof HTMLElement && !buttons.includes(document.activeElement)) {\n return;\n }\n const sibling = arrowKeysNextButton.includes(key) ? 'nextElementSibling' : 'previousElementSibling';\n let buttonToFocus = document.activeElement;\n if (!buttonToFocus) {\n return;\n }\n for (let i = 0; i < actions.children.length; i++) {\n buttonToFocus = buttonToFocus[sibling];\n if (!buttonToFocus) {\n return;\n }\n if (buttonToFocus instanceof HTMLButtonElement && isVisible$1(buttonToFocus)) {\n break;\n }\n }\n if (buttonToFocus instanceof HTMLButtonElement) {\n buttonToFocus.focus();\n }\n };\n\n /**\n * @param {KeyboardEvent} event\n * @param {SweetAlertOptions} innerParams\n * @param {Function} dismissWith\n */\n const handleEsc = (event, innerParams, dismissWith) => {\n if (callIfFunction(innerParams.allowEscapeKey)) {\n event.preventDefault();\n dismissWith(DismissReason.esc);\n }\n };\n\n /**\n * This module contains `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n\n var privateMethods = {\n swalPromiseResolve: new WeakMap(),\n swalPromiseReject: new WeakMap()\n };\n\n // From https://developer.paciellogroup.com/blog/2018/06/the-current-state-of-modal-dialog-accessibility/\n // Adding aria-hidden=\"true\" to elements outside of the active modal dialog ensures that\n // elements not within the active modal dialog will not be surfaced if a user opens a screen\n // reader’s list of elements (headings, form controls, landmarks, etc.) in the document.\n\n const setAriaHidden = () => {\n const container = getContainer();\n const bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(el => {\n if (el.contains(container)) {\n return;\n }\n if (el.hasAttribute('aria-hidden')) {\n el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden') || '');\n }\n el.setAttribute('aria-hidden', 'true');\n });\n };\n const unsetAriaHidden = () => {\n const bodyChildren = Array.from(document.body.children);\n bodyChildren.forEach(el => {\n if (el.hasAttribute('data-previous-aria-hidden')) {\n el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden') || '');\n el.removeAttribute('data-previous-aria-hidden');\n } else {\n el.removeAttribute('aria-hidden');\n }\n });\n };\n\n // @ts-ignore\n const isSafariOrIOS = typeof window !== 'undefined' && !!window.GestureEvent; // true for Safari desktop + all iOS browsers https://stackoverflow.com/a/70585394\n\n /**\n * Fix iOS scrolling\n * http://stackoverflow.com/q/39626302\n */\n const iOSfix = () => {\n if (isSafariOrIOS && !hasClass(document.body, swalClasses.iosfix)) {\n const offset = document.body.scrollTop;\n document.body.style.top = `${offset * -1}px`;\n addClass(document.body, swalClasses.iosfix);\n lockBodyScroll();\n }\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1246\n */\n const lockBodyScroll = () => {\n const container = getContainer();\n if (!container) {\n return;\n }\n /** @type {boolean} */\n let preventTouchMove;\n /**\n * @param {TouchEvent} event\n */\n container.ontouchstart = event => {\n preventTouchMove = shouldPreventTouchMove(event);\n };\n /**\n * @param {TouchEvent} event\n */\n container.ontouchmove = event => {\n if (preventTouchMove) {\n event.preventDefault();\n event.stopPropagation();\n }\n };\n };\n\n /**\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n const shouldPreventTouchMove = event => {\n const target = event.target;\n const container = getContainer();\n const htmlContainer = getHtmlContainer();\n if (!container || !htmlContainer) {\n return false;\n }\n if (isStylus(event) || isZoom(event)) {\n return false;\n }\n if (target === container) {\n return true;\n }\n if (!isScrollable(container) && target instanceof HTMLElement && target.tagName !== 'INPUT' &&\n // #1603\n target.tagName !== 'TEXTAREA' &&\n // #2266\n !(isScrollable(htmlContainer) &&\n // #1944\n htmlContainer.contains(target))) {\n return true;\n }\n return false;\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1786\n *\n * @param {*} event\n * @returns {boolean}\n */\n const isStylus = event => {\n return event.touches && event.touches.length && event.touches[0].touchType === 'stylus';\n };\n\n /**\n * https://github.com/sweetalert2/sweetalert2/issues/1891\n *\n * @param {TouchEvent} event\n * @returns {boolean}\n */\n const isZoom = event => {\n return event.touches && event.touches.length > 1;\n };\n const undoIOSfix = () => {\n if (hasClass(document.body, swalClasses.iosfix)) {\n const offset = parseInt(document.body.style.top, 10);\n removeClass(document.body, swalClasses.iosfix);\n document.body.style.top = '';\n document.body.scrollTop = offset * -1;\n }\n };\n\n /**\n * Measure scrollbar width for padding body during modal show/hide\n * https://github.com/twbs/bootstrap/blob/master/js/src/modal.js\n *\n * @returns {number}\n */\n const measureScrollbar = () => {\n const scrollDiv = document.createElement('div');\n scrollDiv.className = swalClasses['scrollbar-measure'];\n document.body.appendChild(scrollDiv);\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n };\n\n /**\n * Remember state in cases where opening and handling a modal will fiddle with it.\n * @type {number | null}\n */\n let previousBodyPadding = null;\n\n /**\n * @param {string} initialBodyOverflow\n */\n const replaceScrollbarWithPadding = initialBodyOverflow => {\n // for queues, do not do this more than once\n if (previousBodyPadding !== null) {\n return;\n }\n // if the body has overflow\n if (document.body.scrollHeight > window.innerHeight || initialBodyOverflow === 'scroll' // https://github.com/sweetalert2/sweetalert2/issues/2663\n ) {\n // add padding so the content doesn't shift after removal of scrollbar\n previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right'));\n document.body.style.paddingRight = `${previousBodyPadding + measureScrollbar()}px`;\n }\n };\n const undoReplaceScrollbarWithPadding = () => {\n if (previousBodyPadding !== null) {\n document.body.style.paddingRight = `${previousBodyPadding}px`;\n previousBodyPadding = null;\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} container\n * @param {boolean} returnFocus\n * @param {Function} didClose\n */\n function removePopupAndResetState(instance, container, returnFocus, didClose) {\n if (isToast()) {\n triggerDidCloseAndDispose(instance, didClose);\n } else {\n restoreActiveElement(returnFocus).then(() => triggerDidCloseAndDispose(instance, didClose));\n removeKeydownHandler(globalState);\n }\n\n // workaround for https://github.com/sweetalert2/sweetalert2/issues/2088\n // for some reason removing the container in Safari will scroll the document to bottom\n if (isSafariOrIOS) {\n container.setAttribute('style', 'display:none !important');\n container.removeAttribute('class');\n container.innerHTML = '';\n } else {\n container.remove();\n }\n if (isModal()) {\n undoReplaceScrollbarWithPadding();\n undoIOSfix();\n unsetAriaHidden();\n }\n removeBodyClasses();\n }\n\n /**\n * Remove SweetAlert2 classes from body\n */\n function removeBodyClasses() {\n removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['height-auto'], swalClasses['no-backdrop'], swalClasses['toast-shown']]);\n }\n\n /**\n * Instance method to close sweetAlert\n *\n * @param {any} resolveValue\n */\n function close(resolveValue) {\n resolveValue = prepareResolveValue(resolveValue);\n const swalPromiseResolve = privateMethods.swalPromiseResolve.get(this);\n const didClose = triggerClosePopup(this);\n if (this.isAwaitingPromise) {\n // A swal awaiting for a promise (after a click on Confirm or Deny) cannot be dismissed anymore #2335\n if (!resolveValue.isDismissed) {\n handleAwaitingPromise(this);\n swalPromiseResolve(resolveValue);\n }\n } else if (didClose) {\n // Resolve Swal promise\n swalPromiseResolve(resolveValue);\n }\n }\n const triggerClosePopup = instance => {\n const popup = getPopup();\n if (!popup) {\n return false;\n }\n const innerParams = privateProps.innerParams.get(instance);\n if (!innerParams || hasClass(popup, innerParams.hideClass.popup)) {\n return false;\n }\n removeClass(popup, innerParams.showClass.popup);\n addClass(popup, innerParams.hideClass.popup);\n const backdrop = getContainer();\n removeClass(backdrop, innerParams.showClass.backdrop);\n addClass(backdrop, innerParams.hideClass.backdrop);\n handlePopupAnimation(instance, popup, innerParams);\n return true;\n };\n\n /**\n * @param {any} error\n */\n function rejectPromise(error) {\n const rejectPromise = privateMethods.swalPromiseReject.get(this);\n handleAwaitingPromise(this);\n if (rejectPromise) {\n // Reject Swal promise\n rejectPromise(error);\n }\n }\n\n /**\n * @param {SweetAlert} instance\n */\n const handleAwaitingPromise = instance => {\n if (instance.isAwaitingPromise) {\n delete instance.isAwaitingPromise;\n // The instance might have been previously partly destroyed, we must resume the destroy process in this case #2335\n if (!privateProps.innerParams.get(instance)) {\n instance._destroy();\n }\n }\n };\n\n /**\n * @param {any} resolveValue\n * @returns {SweetAlertResult}\n */\n const prepareResolveValue = resolveValue => {\n // When user calls Swal.close()\n if (typeof resolveValue === 'undefined') {\n return {\n isConfirmed: false,\n isDenied: false,\n isDismissed: true\n };\n }\n return Object.assign({\n isConfirmed: false,\n isDenied: false,\n isDismissed: false\n }, resolveValue);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} popup\n * @param {SweetAlertOptions} innerParams\n */\n const handlePopupAnimation = (instance, popup, innerParams) => {\n var _globalState$eventEmi;\n const container = getContainer();\n // If animation is supported, animate\n const animationIsSupported = hasCssAnimation(popup);\n if (typeof innerParams.willClose === 'function') {\n innerParams.willClose(popup);\n }\n (_globalState$eventEmi = globalState.eventEmitter) === null || _globalState$eventEmi === void 0 || _globalState$eventEmi.emit('willClose', popup);\n if (animationIsSupported) {\n animatePopup(instance, popup, container, innerParams.returnFocus, innerParams.didClose);\n } else {\n // Otherwise, remove immediately\n removePopupAndResetState(instance, container, innerParams.returnFocus, innerParams.didClose);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {HTMLElement} popup\n * @param {HTMLElement} container\n * @param {boolean} returnFocus\n * @param {Function} didClose\n */\n const animatePopup = (instance, popup, container, returnFocus, didClose) => {\n globalState.swalCloseEventFinishedCallback = removePopupAndResetState.bind(null, instance, container, returnFocus, didClose);\n /**\n * @param {AnimationEvent | TransitionEvent} e\n */\n const swalCloseAnimationFinished = function (e) {\n if (e.target === popup) {\n var _globalState$swalClos;\n (_globalState$swalClos = globalState.swalCloseEventFinishedCallback) === null || _globalState$swalClos === void 0 || _globalState$swalClos.call(globalState);\n delete globalState.swalCloseEventFinishedCallback;\n popup.removeEventListener('animationend', swalCloseAnimationFinished);\n popup.removeEventListener('transitionend', swalCloseAnimationFinished);\n }\n };\n popup.addEventListener('animationend', swalCloseAnimationFinished);\n popup.addEventListener('transitionend', swalCloseAnimationFinished);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {Function} didClose\n */\n const triggerDidCloseAndDispose = (instance, didClose) => {\n setTimeout(() => {\n var _globalState$eventEmi2;\n if (typeof didClose === 'function') {\n didClose.bind(instance.params)();\n }\n (_globalState$eventEmi2 = globalState.eventEmitter) === null || _globalState$eventEmi2 === void 0 || _globalState$eventEmi2.emit('didClose');\n // instance might have been destroyed already\n if (instance._destroy) {\n instance._destroy();\n }\n });\n };\n\n /**\n * Shows loader (spinner), this is useful with AJAX requests.\n * By default the loader be shown instead of the \"Confirm\" button.\n *\n * @param {HTMLButtonElement | null} [buttonToReplace]\n */\n const showLoading = buttonToReplace => {\n let popup = getPopup();\n if (!popup) {\n new Swal();\n }\n popup = getPopup();\n if (!popup) {\n return;\n }\n const loader = getLoader();\n if (isToast()) {\n hide(getIcon());\n } else {\n replaceButton(popup, buttonToReplace);\n }\n show(loader);\n popup.setAttribute('data-loading', 'true');\n popup.setAttribute('aria-busy', 'true');\n popup.focus();\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {HTMLButtonElement | null} [buttonToReplace]\n */\n const replaceButton = (popup, buttonToReplace) => {\n const actions = getActions();\n const loader = getLoader();\n if (!actions || !loader) {\n return;\n }\n if (!buttonToReplace && isVisible$1(getConfirmButton())) {\n buttonToReplace = getConfirmButton();\n }\n show(actions);\n if (buttonToReplace) {\n hide(buttonToReplace);\n loader.setAttribute('data-button-to-replace', buttonToReplace.className);\n actions.insertBefore(loader, buttonToReplace);\n }\n addClass([popup, actions], swalClasses.loading);\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const handleInputOptionsAndValue = (instance, params) => {\n if (params.input === 'select' || params.input === 'radio') {\n handleInputOptions(instance, params);\n } else if (['text', 'email', 'number', 'tel', 'textarea'].some(i => i === params.input) && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) {\n showLoading(getConfirmButton());\n handleInputValue(instance, params);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} innerParams\n * @returns {SweetAlertInputValue}\n */\n const getInputValue = (instance, innerParams) => {\n const input = instance.getInput();\n if (!input) {\n return null;\n }\n switch (innerParams.input) {\n case 'checkbox':\n return getCheckboxValue(input);\n case 'radio':\n return getRadioValue(input);\n case 'file':\n return getFileValue(input);\n default:\n return innerParams.inputAutoTrim ? input.value.trim() : input.value;\n }\n };\n\n /**\n * @param {HTMLInputElement} input\n * @returns {number}\n */\n const getCheckboxValue = input => input.checked ? 1 : 0;\n\n /**\n * @param {HTMLInputElement} input\n * @returns {string | null}\n */\n const getRadioValue = input => input.checked ? input.value : null;\n\n /**\n * @param {HTMLInputElement} input\n * @returns {FileList | File | null}\n */\n const getFileValue = input => input.files && input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null;\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const handleInputOptions = (instance, params) => {\n const popup = getPopup();\n if (!popup) {\n return;\n }\n /**\n * @param {Record} inputOptions\n */\n const processInputOptions = inputOptions => {\n if (params.input === 'select') {\n populateSelectOptions(popup, formatInputOptions(inputOptions), params);\n } else if (params.input === 'radio') {\n populateRadioOptions(popup, formatInputOptions(inputOptions), params);\n }\n };\n if (hasToPromiseFn(params.inputOptions) || isPromise(params.inputOptions)) {\n showLoading(getConfirmButton());\n asPromise(params.inputOptions).then(inputOptions => {\n instance.hideLoading();\n processInputOptions(inputOptions);\n });\n } else if (typeof params.inputOptions === 'object') {\n processInputOptions(params.inputOptions);\n } else {\n error(`Unexpected type of inputOptions! Expected object, Map or Promise, got ${typeof params.inputOptions}`);\n }\n };\n\n /**\n * @param {SweetAlert} instance\n * @param {SweetAlertOptions} params\n */\n const handleInputValue = (instance, params) => {\n const input = instance.getInput();\n if (!input) {\n return;\n }\n hide(input);\n asPromise(params.inputValue).then(inputValue => {\n input.value = params.input === 'number' ? `${parseFloat(inputValue) || 0}` : `${inputValue}`;\n show(input);\n input.focus();\n instance.hideLoading();\n }).catch(err => {\n error(`Error in inputValue promise: ${err}`);\n input.value = '';\n show(input);\n input.focus();\n instance.hideLoading();\n });\n };\n\n /**\n * @param {HTMLElement} popup\n * @param {InputOptionFlattened[]} inputOptions\n * @param {SweetAlertOptions} params\n */\n function populateSelectOptions(popup, inputOptions, params) {\n const select = getDirectChildByClass(popup, swalClasses.select);\n if (!select) {\n return;\n }\n /**\n * @param {HTMLElement} parent\n * @param {string} optionLabel\n * @param {string} optionValue\n */\n const renderOption = (parent, optionLabel, optionValue) => {\n const option = document.createElement('option');\n option.value = optionValue;\n setInnerHtml(option, optionLabel);\n option.selected = isSelected(optionValue, params.inputValue);\n parent.appendChild(option);\n };\n inputOptions.forEach(inputOption => {\n const optionValue = inputOption[0];\n const optionLabel = inputOption[1];\n // spec:\n // https://www.w3.org/TR/html401/interact/forms.html#h-17.6\n // \"...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)...\"\n // check whether this is a \n if (Array.isArray(optionLabel)) {\n // if it is an array, then it is an \n const optgroup = document.createElement('optgroup');\n optgroup.label = optionValue;\n optgroup.disabled = false; // not configurable for now\n select.appendChild(optgroup);\n optionLabel.forEach(o => renderOption(optgroup, o[1], o[0]));\n } else {\n // case of