{"version":3,"file":"static/js/main.3608ca93.js","mappings":"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CA,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,IAGEL,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE0xG,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DztG,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEd,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,KAGEnH,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEklG,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DttF,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEE66E,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,IA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AsB,GAExB1H,EAAM,MAAQmH,EAAGI,GACjB0oG,EAAU9tG,GAAMuF,GAAY,GAAKhG,EAAS1B,KAC1CiwG,EAAUnsG,EAAQ9D,IAClBuH,GAAA,QA5CQ,IA8CN1G,GACFovG,EAAUwZ,GAELpiH,CAAA,UA8HAD,EAAWE,GAClBA,EAAU0G,KAAKmT,IAAInT,KAAKC,IAAI3G,EAAS,GAAI,KAErCtH,GAAkBsH,IAAA,SA1qBCA,GAAA,QACnBnG,EAAM,CACR,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOkG,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBH,EAAIuiH,GAAQtoH,EAAIkG,GAAKC,EAAK,IAAM,KACpCJ,EAAI8G,KAAKmT,IAAInT,KAAKC,IAAI/G,EAAG,GAAI,KAC7BqD,EAAOzC,EAAOT,IAAMH,CAAA,SAElB/E,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEOnC,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB8D,EAAI2lH,GAAQtnH,EAAKnC,GAAKsH,EAAK,IAAM,KACrCxD,EAAIkK,KAAKmT,IAAInT,KAAKC,IAAI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GAAK,GACLkX,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,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJpuH,EAAE,aAAc,iBAChB1qG,EAAKm9N,WAAa,kBACT,YAETn9N,EAAKo9N,WAAa,SAASp9N,GAAA,OAClBA,CAAA,EAETA,EAAKq9N,WAAa,SAASr9N,EAAGnG,EAAGkG,GAAA,OACxBlG,EAAEkG,EAAI,IAEfC,EAAKs9N,WAAa,SAASt9N,EAAGnG,EAAGkG,GAAA,OACxBlG,EAAEkG,EAAI,IAEfC,EAAKu9N,WAAa,SAASv9N,EAAGnG,EAAGkG,GAAA,OACxBlG,EAAEkG,EAAI,IAEfC,EAAKw9N,WAAa,SAASx9N,EAAGnG,EAAGkG,GAAA,OACxBiU,EAAGA,EAAGhU,EAAGnG,EAAEkG,EAAI,IAAKlG,EAAEkG,EAAI,KAEnCC,EAAKy9N,WAAa,SAASz9N,EAAGnG,EAAGkG,GAAA,OACxBiU,EAAGhU,EAAGnG,EAAEkG,EAAI,KAErBC,EAAK09N,WAAa,SAAS19N,EAAGnG,EAAGkG,GAAA,OACxBiU,EAAGhU,EAAGnG,EAAEkG,EAAI,KAErBC,EAAK29N,WAAa,SAAS39N,EAAGnG,EAAGkG,GAAA,OACxBiU,EAAGna,EAAEkG,EAAI,GAAIlG,EAAEkG,EAAI,KAE5BC,EAAK49N,WAAa,SAAS59N,EAAGnG,EAAGkG,GAAA,OACxBiU,EAAGna,EAAEkG,EAAI,GAAIlG,EAAEkG,EAAI,KAE5BC,EAAK69N,YAAc,SAAS79N,EAAGnG,EAAGkG,GAAA,OACzBiU,EAAGA,EAAGhU,EAAGnG,EAAEkG,EAAI,IAAKiU,EAAGna,EAAEkG,EAAI,GAAIlG,EAAEkG,EAAI,MAEhDC,EAAK89N,YAAc,SAAS99N,EAAGnG,EAAGkG,GAAA,IAC5BH,EAAI/F,EAAEkG,EAAI,UAEP,GACL8yG,EAAIjzG,GAAK,GAAM,IAAMI,GAAK,GAAM,KAFlCnG,EAAIA,EAAEkG,EAAI,KAEmC,GAAM,KAC/C8yG,EAAIjzG,GAAK,GAAM,IAAMI,GAAK,GAAM,IAAMnG,GAAK,GAAM,KACjDg5G,EAAIjzG,GAAK,EAAK,IAAMI,GAAK,EAAK,IAAMnG,GAAK,EAAK,KAC9Cg5G,EAAO,IAAJjzG,EAAa,IAAJI,EAAa,IAAJnG,GACrB+F,EACAI,CAAA,EAENA,EAAK+9N,YAAc,SAAS/9N,EAAGnG,EAAGkG,GAAA,IAC5BH,EAAI/F,EAAEkG,EAAI,UAGVM,GAAKL,GAAK,GAAM,MAASJ,GAAK,GAAM,OAFxC/F,EAAIA,EAAEkG,EAAI,KAE4C,GAAM,OAAS,GAChEM,GAAKL,GAAK,GAAM,MAASJ,GAAK,GAAM,MAAS/F,GAAK,GAAM,OACvD,GACDwG,GAAKL,GAAK,EAAK,MAASJ,GAAK,EAAK,MAAS/F,GAAK,EAAK,OAAS,EAC/DwG,GAAQ,IAAJL,IAAgB,IAAJJ,IAAgB,IAAJ/F,OAC9B,GAGJmG,EAAKg+N,YAAc,SAASh+N,EAAGnG,EAAGkG,GAAA,IAC5BH,EAAI/F,EAAEkG,EAAI,UAGVo/F,GAFJn/F,EAAIgU,EAAGhU,EAAGnG,EAAEkG,EAAI,MAEH,GAAM,IAAMH,GAAK,GAAM,MAAQ,GACvCu/F,EAAIn/F,GAAK,GAAM,IAAMJ,GAAK,GAAM,MAAQ,GACxCu/F,EAAIn/F,GAAK,EAAK,IAAMJ,GAAK,EAAK,MAAQ,EACvCu/F,EAAIn/F,GAAK,EAAK,IAAMJ,GAAK,EAAK,QAChC,OAGAm6N,GAAK/5N,EAAKi+N,cACdj+N,EAAKk+N,cAAgBnlM,EACrB2xE,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,cAAe,kBACjBA,EAAE,cAAe,kBACjBA,EAAE,cAAe,kBACjBA,EAAE,cAAe,sBACbsvH,GAAKh6N,EAAKm+N,cACd1qH,EACE,6BACA,UACA,OACA,SAASzzG,GAAA,OACCA,GAAK,EAAK,OAEpB,SAASA,GAAA,OACAA,CAAA,IAGXyzG,EACE,sCACA,WACA,MACA,SAASzzG,GAAA,OACAA,CAAA,IAET,SAASA,GAAA,OACCA,GAAK,EAAK,WAOpB85N,GAJEK,GAAKn6N,EAAKo+N,2BACZrD,GAAK/6N,EAAKq+N,QACVxD,GAAK76N,EAAKs+N,oCACVrD,GAAKj7N,EAAKu+N,SAEVtE,GAAMj6N,EAAKw+N,kBAAoB,GACjCvE,GAAGv8N,OAAS,IACXsC,EAAKy+N,eAAiB,IAAI/gO,OAAS,IACnCsC,EAAK0+N,oBAAsB,IAAIhhO,OAAS,IACxCsC,EAAK2+N,iBAAmB,IAAIjhO,OAAS,OAClCw8N,GACFG,GACAC,GACAG,GACAG,GACAJ,GA+3BAyB,GAIA94J,GACAk5J,GACAH,GACAC,GACAC,GACAx+B,GACAr2I,GACA+0K,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIAtD,GACAiB,GACAlB,GACA3nE,GAz5BAgqE,GAAKnjO,EAAE,KACPojO,GAAKpjO,EAAE,MACPqjO,GAAKrjO,EAAE,KACPsjO,GAAKtjO,EAAE,KACPkjO,GAAK,EACLqB,GAAKnB,GACLhV,GAAKiV,GACLiB,GAAIhB,GACJkB,GAAIrB,GACJzB,GAAK,EACLV,GAAK,EACLa,GAAK,EACLZ,GAAK,EACLJ,GAAK,EACLK,GAAK,EACLe,GAAK,EACL5B,GAAK,EACLC,GAAK,EACLC,GAAK,EACLC,GAAK,GACLoC,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZF,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1BI,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEvB,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFqB,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEF9vH,GAAK,EACLzB,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,KAEFsB,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFN,GAAK,KACLP,GAAK,CACH,CAAC,IAAK,IAAK,IAAK,GAChB,CAAC,IAAK,IAAK,IAAK,IAAK,GACrB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1B,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAE1Dd,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACxDwB,GAAK,EAAE,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GACnEK,GAAK,CACH,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAA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IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK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AE5DrD,EAA0B3G,EAC1BP,GAEFuH,EAvZM,EAwZND,EAAOG,EAASH,EAAMnG,EAAmBkG,GACzCE,EA1ZM,EA2ZNhH,GAAA,EACA+G,EAAOG,EAASH,EAAMnG,EAAmBkG,GACzC9G,EAAuB2G,IAGvBK,EAhaM,EAiaND,EAAOG,EAASH,EAAMnG,EAAmBkG,GACzCC,EAAO0oG,EAAc1oG,EAAMnG,GAC3BoG,EAlaM,EAmaNhH,GAAA,EACA+G,EAAOG,EAASH,EAAMnG,EAAmBkG,GACzC9G,EAAuB2G,EACvBI,EAAO0oG,EAAc1oG,EAAMnG,GAAA,OAxC7BoG,EA/XQ,EAgYRD,EAAOG,EAASH,EAAMnG,EAAmBkG,QAdzCE,EAAOvH,EAjXC,EADA,EAmXRsH,EAAOG,EAASH,EAAMnG,EAAmBkG,GAAA,OAuDpCC,CAAA,OAcJyoO,eAAen0F,WAAa,SAASt0I,GACpCA,IACFnF,EAAcmF,EAAQ8oO,cACtB3mH,EAAeniH,EAAQ+oO,eACvBrwO,EAAWsH,EAAQgpO,WACnB/lO,EAAYjD,EAAQipO,YACpBhwO,EAAuB+G,EAAQkpO,oBAAA,OAI9BT,eAAen0F,WAAWt0I,GACxB4C,KAAK6lO,cAAA,MAGV5uO,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,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,KACA,K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","sources":["../node_modules/file-saver/src/FileSaver.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../node_modules/html2canvas/node_modules/src/Util.ts","../node_modules/src/css/layout/bounds.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../node_modules/html2canvas/node_modules/src/LineBreak.ts","../node_modules/src/css/syntax/tokenizer.ts","../node_modules/src/css/syntax/parser.ts","../node_modules/src/css/types/length.ts","../node_modules/src/css/types/length-percentage.ts","../node_modules/src/css/types/angle.ts","../node_modules/src/css/types/color.ts","../node_modules/src/css/property-descriptors/background-clip.ts","../node_modules/src/css/property-descriptors/background-color.ts","../node_modules/src/css/types/functions/gradient.ts","../node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../node_modules/src/css/types/functions/radial-gradient.ts","../node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../node_modules/src/css/types/image.ts","../node_modules/src/css/property-descriptors/background-size.ts","../node_modules/src/css/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.ts","../node_modules/src/css/property-descriptors/background-image.ts","../node_modules/src/css/property-descriptors/background-origin.ts","../node_modules/src/css/property-descriptors/background-position.ts","../node_modules/src/css/property-descriptors/background-repeat.ts","../node_modules/src/css/property-descriptors/line-break.ts","../node_modules/src/css/property-descriptors/border-color.ts","../node_modules/src/css/property-descriptors/border-radius.ts","../node_modules/src/css/property-descriptors/border-style.ts","../node_modules/src/css/property-descriptors/border-width.ts","../node_modules/src/css/property-descriptors/color.ts","../node_modules/src/css/property-descriptors/direction.ts","../node_modules/src/css/property-descriptors/display.ts","../node_modules/src/css/property-descriptors/float.ts","../node_modules/src/css/property-descriptors/letter-spacing.ts","../node_modules/src/css/property-descriptors/word-break.ts","../node_modules/src/css/property-descriptors/line-height.ts","../node_modules/src/css/property-descriptors/list-style-image.ts","../node_modules/src/css/property-descriptors/list-style-position.ts","../node_modules/src/css/property-descriptors/list-style-type.ts","../node_modules/src/css/property-descriptors/margin.ts","../node_modules/src/css/property-descriptors/overflow.ts","../node_modules/src/css/property-descriptors/overflow-wrap.ts","../node_modules/src/css/property-descriptors/padding.ts","../node_modules/src/css/property-descriptors/text-align.ts","../node_modules/src/css/property-descriptors/position.ts","../node_modules/src/css/property-descriptors/text-shadow.ts","../node_modules/src/css/property-descriptors/text-transform.ts","../node_modules/src/css/property-descriptors/transform.ts","../node_modules/src/css/property-descriptors/transform-origin.ts","../node_modules/src/css/property-descriptors/visibility.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../node_modules/src/css/property-descriptors/z-index.ts","../node_modules/src/css/types/time.ts","../node_modules/src/css/property-descriptors/opacity.ts","../node_modules/src/css/property-descriptors/text-decoration-color.ts","../node_modules/src/css/property-descriptors/text-decoration-line.ts","../node_modules/src/css/property-descriptors/font-family.ts","../node_modules/src/css/property-descriptors/font-size.ts","../node_modules/src/css/property-descriptors/font-weight.ts","../node_modules/src/css/property-descriptors/font-variant.ts","../node_modules/src/css/property-descriptors/font-style.ts","../node_modules/src/core/bitwise.ts","../node_modules/src/css/property-descriptors/content.ts","../node_modules/src/css/property-descriptors/counter-increment.ts","../node_modules/src/css/property-descriptors/counter-reset.ts","../node_modules/src/css/property-descriptors/duration.ts","../node_modules/src/css/property-descriptors/quotes.ts","../node_modules/src/css/property-descriptors/box-shadow.ts","../node_modules/src/css/property-descriptors/paint-order.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../node_modules/src/css/index.ts","../node_modules/src/core/debugger.ts","../node_modules/src/dom/element-container.ts","../node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../node_modules/src/dom/document-cloner.ts","../node_modules/src/core/features.ts","../node_modules/src/css/layout/text.ts","../node_modules/src/dom/text-container.ts","../node_modules/src/dom/replaced-elements/image-element-container.ts","../node_modules/src/dom/replaced-elements/canvas-element-container.ts","../node_modules/src/dom/replaced-elements/svg-element-container.ts","../node_modules/src/dom/elements/li-element-container.ts","../node_modules/src/dom/elements/ol-element-container.ts","../node_modules/src/dom/replaced-elements/input-element-container.ts","../node_modules/src/dom/elements/select-element-container.ts","../node_modules/src/dom/elements/textarea-element-container.ts","../node_modules/src/dom/replaced-elements/iframe-element-container.ts","../node_modules/src/dom/node-parser.ts","../node_modules/src/css/types/functions/counter.ts","../node_modules/src/render/bound-curves.ts","../node_modules/src/core/cache-storage.ts","../node_modules/src/render/vector.ts","../node_modules/src/render/bezier-curve.ts","../node_modules/src/render/effects.ts","../node_modules/src/render/path.ts","../node_modules/src/render/stacking-context.ts","../node_modules/src/render/border.ts","../node_modules/src/render/box-sizing.ts","../node_modules/src/render/background.ts","../node_modules/src/core/util.ts","../node_modules/src/render/font-metrics.ts","../node_modules/src/render/renderer.ts","../node_modules/src/render/canvas/canvas-renderer.ts","../node_modules/src/render/canvas/foreignobject-renderer.ts","../node_modules/src/core/logger.ts","../node_modules/src/core/context.ts","../node_modules/src/index.ts","../node_modules/jquery/dist/jquery.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/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/prop-types/factoryWithThrowingShims.js","../../node_modules/prop-types/index.js","../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../node_modules/react/cjs/react.production.min.js","../../node_modules/react/index.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","logo.svg","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/clsx/dist/clsx.mjs","../node_modules/@mui/utils/esm/composeClasses/composeClasses.js","../node_modules/@mui/base/utils/appendOwnerState.js","../node_modules/@mui/base/utils/isHostComponent.js","../node_modules/@mui/utils/esm/formatMuiErrorMessage.js","../node_modules/@mui/system/esm/colorManipulator.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.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/utils/esm/deepmerge.js","../node_modules/@mui/system/esm/createTheme/createBreakpoints.js","../node_modules/@mui/system/esm/createTheme/shape.js","../node_modules/@mui/system/esm/breakpoints.js","../node_modules/@mui/utils/esm/capitalize/capitalize.js","../node_modules/@mui/system/esm/style.js","../node_modules/@mui/system/esm/merge.js","../node_modules/@mui/system/esm/spacing.js","../node_modules/@mui/system/esm/memoize.js","../node_modules/@mui/system/esm/compose.js","../node_modules/@mui/system/esm/borders.js","../node_modules/@mui/system/esm/cssGrid.js","../node_modules/@mui/system/esm/palette.js","../node_modules/@mui/system/esm/sizing.js","../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../node_modules/@mui/system/esm/createTheme/createTheme.js","../node_modules/@mui/system/esm/createTheme/createSpacing.js","../node_modules/@mui/system/esm/propsToClassKey.js","../node_modules/@mui/system/esm/createStyled.js","../node_modules/@mui/material/styles/createMixins.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/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/createTheme.js","../node_modules/@mui/material/styles/defaultTheme.js","../node_modules/@mui/material/styles/identifier.js","../node_modules/@mui/material/styles/styled.js","../node_modules/@mui/styled-engine/index.js","../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../node_modules/@mui/system/esm/useTheme.js","../node_modules/@mui/material/styles/useTheme.js","../node_modules/@mui/utils/esm/resolveProps.js","../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../node_modules/@mui/material/styles/useThemeProps.js","../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../node_modules/@mui/material/utils/capitalize.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/@mui/material/transitions/utils.js","../node_modules/@mui/utils/esm/setRef.js","../node_modules/@mui/utils/esm/useForkRef/useForkRef.js","../node_modules/@mui/material/utils/useForkRef.js","../node_modules/@mui/material/Grow/Grow.js","../node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","../node_modules/@mui/utils/esm/ownerDocument/ownerDocument.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@mui/base/Portal/Portal.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/base/Popper/popperClasses.js","../node_modules/@mui/base/utils/extractEventHandlers.js","../node_modules/@mui/base/utils/omitEventHandlers.js","../node_modules/@mui/base/utils/useSlotProps.js","../node_modules/@mui/base/utils/resolveComponentProps.js","../node_modules/@mui/base/utils/mergeSlotProps.js","../node_modules/@mui/base/utils/ClassNameConfigurator.js","../node_modules/@mui/base/Popper/Popper.js","../node_modules/@mui/material/Popper/Popper.js","../node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js","../node_modules/@mui/material/utils/useEventCallback.js","../node_modules/@mui/utils/esm/useId/useId.js","../node_modules/@mui/material/utils/useId.js","../node_modules/@mui/utils/esm/useIsFocusVisible.js","../node_modules/@mui/material/utils/useIsFocusVisible.js","../node_modules/@mui/material/utils/useControlled.js","../node_modules/@mui/utils/esm/useControlled/useControlled.js","../node_modules/@mui/material/Tooltip/tooltipClasses.js","../node_modules/@mui/material/Tooltip/Tooltip.js","box-destino/LittleBox.js","../../node_modules/@fortawesome/fontawesome-svg-core/index.mjs","../../node_modules/@fortawesome/react-fontawesome/index.es.js","../../node_modules/@fortawesome/free-solid-svg-icons/index.mjs","box-destino/LegendBox.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.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/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","services/mala-direta-service.js","../node_modules/@mui/base/ClickAwayListener/ClickAwayListener.js","../node_modules/@mui/material/styles/getOverlayAlpha.js","../node_modules/@mui/material/Paper/paperClasses.js","../node_modules/@mui/material/Paper/Paper.js","../node_modules/@mui/material/SnackbarContent/snackbarContentClasses.js","../node_modules/@mui/material/SnackbarContent/SnackbarContent.js","../node_modules/@mui/material/Snackbar/snackbarClasses.js","../node_modules/@mui/material/Snackbar/Snackbar.js","../node_modules/@mui/base/useSnackbar/useSnackbar.js","../node_modules/@mui/material/Alert/alertClasses.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.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/IconButton/iconButtonClasses.js","../node_modules/@mui/material/IconButton/IconButton.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/SuccessOutlined.js","../node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.js","../node_modules/@mui/material/internal/svg-icons/ErrorOutline.js","../node_modules/@mui/material/internal/svg-icons/InfoOutlined.js","../node_modules/@mui/material/internal/svg-icons/Close.js","../node_modules/@mui/material/Alert/Alert.js","../node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../node_modules/@mui/material/CircularProgress/CircularProgress.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/animated-scroll-to/dist/esm/index.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader()\n reader.onloadend = function () {\n var url = reader.result\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')\n if (popup) popup.location.href = url\n else location = url\n popup = null // reverse-tabnabbing #460\n }\n reader.readAsDataURL(blob)\n } else {\n var URL = _global.URL || _global.webkitURL\n var url = URL.createObjectURL(blob)\n if (popup) popup.location = url\n else location.href = url\n popup = null // reverse-tabnabbing #460\n setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s\n }\n }\n)\n\n_global.saveAs = saveAs.saveAs = saveAs\n\nif (typeof module !== 'undefined') {\n module.exports = saveAs;\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixLinearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (\n firstToken.type === TokenType.IDENT_TOKEN &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1\n ) {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = (angleType.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {\n angle,\n stops,\n type: CSSImageType.LINEAR_GRADIENT\n };\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {Context} from '../../../core/context';\nexport const CLOSEST_SIDE = 'closest-side';\nexport const FARTHEST_SIDE = 'farthest-side';\nexport const CLOSEST_CORNER = 'closest-corner';\nexport const FARTHEST_CORNER = 'farthest-corner';\nexport const CIRCLE = 'circle';\nexport const ELLIPSE = 'ellipse';\nexport const COVER = 'cover';\nexport const CONTAIN = 'contain';\n\nexport const radialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n let isAtPosition = false;\n isColorStop = arg.reduce((acc, token) => {\n if (isAtPosition) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n } else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case 'at':\n isAtPosition = true;\n return false;\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {\n CIRCLE,\n CLOSEST_CORNER,\n CLOSEST_SIDE,\n CONTAIN,\n COVER,\n ELLIPSE,\n FARTHEST_CORNER,\n FARTHEST_SIDE\n} from './radial-gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixRadialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n } else if (i === 1) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Color} from './color';\nimport {linearGradient} from './functions/linear-gradient';\nimport {prefixLinearGradient} from './functions/-prefix-linear-gradient';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {LengthPercentage} from './length-percentage';\nimport {webkitGradient} from './functions/-webkit-gradient';\nimport {radialGradient} from './functions/radial-gradient';\nimport {prefixRadialGradient} from './functions/-prefix-radial-gradient';\nimport {Context} from '../../core/context';\n\nexport const enum CSSImageType {\n URL,\n LINEAR_GRADIENT,\n RADIAL_GRADIENT\n}\n\nexport const isLinearGradient = (background: ICSSImage): background is CSSLinearGradientImage => {\n return background.type === CSSImageType.LINEAR_GRADIENT;\n};\n\nexport const isRadialGradient = (background: ICSSImage): background is CSSRadialGradientImage => {\n return background.type === CSSImageType.RADIAL_GRADIENT;\n};\n\nexport interface UnprocessedGradientColorStop {\n color: Color;\n stop: LengthPercentage | null;\n}\n\nexport interface GradientColorStop {\n color: Color;\n stop: number;\n}\n\nexport interface ICSSImage {\n type: CSSImageType;\n}\n\nexport interface CSSURLImage extends ICSSImage {\n url: string;\n type: CSSImageType.URL;\n}\n\n// interface ICSSGeneratedImage extends ICSSImage {}\n\nexport type GradientCorner = [LengthPercentage, LengthPercentage];\n\ninterface ICSSGradientImage extends ICSSImage {\n stops: UnprocessedGradientColorStop[];\n}\n\nexport interface CSSLinearGradientImage extends ICSSGradientImage {\n angle: number | GradientCorner;\n type: CSSImageType.LINEAR_GRADIENT;\n}\n\nexport const enum CSSRadialShape {\n CIRCLE,\n ELLIPSE\n}\n\nexport const enum CSSRadialExtent {\n CLOSEST_SIDE,\n FARTHEST_SIDE,\n CLOSEST_CORNER,\n FARTHEST_CORNER\n}\n\nexport type CSSRadialSize = CSSRadialExtent | LengthPercentage[];\n\nexport interface CSSRadialGradientImage extends ICSSGradientImage {\n type: CSSImageType.RADIAL_GRADIENT;\n shape: CSSRadialShape;\n size: CSSRadialSize;\n position: LengthPercentage[];\n}\n\nexport const image: ITypeDescriptor = {\n name: 'image',\n parse: (context: Context, value: CSSValue): ICSSImage => {\n if (value.type === TokenType.URL_TOKEN) {\n const image: CSSURLImage = {url: value.value, type: CSSImageType.URL};\n context.cache.addImage(value.value);\n return image;\n }\n\n if (value.type === TokenType.FUNCTION) {\n const imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported image function \"${value.name}\"`);\n }\n return imageFunction(context, value.values);\n }\n\n throw new Error(`Unsupported image type ${value.type}`);\n }\n};\n\nexport function isSupportedImage(value: CSSValue): boolean {\n return (\n !(value.type === TokenType.IDENT_TOKEN && value.value === 'none') &&\n (value.type !== TokenType.FUNCTION || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])\n );\n}\n\nconst SUPPORTED_IMAGE_FUNCTIONS: Record ICSSImage> = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {StringValueToken} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport enum BACKGROUND_SIZE {\n AUTO = 'auto',\n CONTAIN = 'contain',\n COVER = 'cover'\n}\n\nexport type BackgroundSizeInfo = LengthPercentage | StringValueToken;\nexport type BackgroundSize = BackgroundSizeInfo[][];\n\nexport const backgroundSize: IPropertyListDescriptor = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundSize => {\n return parseFunctionArgs(tokens).map((values) => values.filter(isBackgroundSizeInfoToken));\n }\n};\n\nconst isBackgroundSizeInfoToken = (value: CSSValue): value is BackgroundSizeInfo =>\n isIdentToken(value) || isLengthPercentage(value);\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const linearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = angleType.parse(context, firstToken);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {angle, stops, type: CSSImageType.LINEAR_GRADIENT};\n};\n","import {CSSValue, isIdentToken, isNumberToken, nonFunctionArgSeparator, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSLinearGradientImage,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {deg} from '../angle';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {color as colorType} from '../color';\nimport {HUNDRED_PERCENT, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const webkitGradient = (\n context: Context,\n tokens: CSSValue[]\n): CSSLinearGradientImage | CSSRadialGradientImage => {\n const angle = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n let type = CSSImageType.LINEAR_GRADIENT;\n const shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n const size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n const firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = CSSImageType.LINEAR_GRADIENT;\n return;\n } else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = CSSImageType.RADIAL_GRADIENT;\n return;\n }\n }\n\n if (firstToken.type === TokenType.FUNCTION) {\n if (firstToken.name === 'from') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: ZERO_LENGTH, color});\n } else if (firstToken.name === 'to') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: HUNDRED_PERCENT, color});\n } else if (firstToken.name === 'color-stop') {\n const values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n const color = colorType.parse(context, values[1]);\n const stop = values[0];\n if (isNumberToken(stop)) {\n stops.push({\n stop: {type: TokenType.PERCENTAGE_TOKEN, number: stop.number * 100, flags: stop.flags},\n color\n });\n }\n }\n }\n }\n });\n\n return type === CSSImageType.LINEAR_GRADIENT\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops,\n type\n }\n : {size, shape, stops, position, type};\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image, isSupportedImage} from '../types/image';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, nonFunctionArgSeparator} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const backgroundImage: IPropertyListDescriptor = {\n name: 'background-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens\n .filter((value) => nonFunctionArgSeparator(value) && isSupportedImage(value))\n .map((value) => image.parse(context, value));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum BACKGROUND_ORIGIN {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundOrigin = BACKGROUND_ORIGIN[];\n\nexport const backgroundOrigin: IPropertyListDescriptor = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundOrigin => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_ORIGIN.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_ORIGIN.CONTENT_BOX;\n }\n }\n return BACKGROUND_ORIGIN.BORDER_BOX;\n });\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BackgroundPosition = BackgroundImagePosition[];\n\nexport type BackgroundImagePosition = LengthPercentageTuple;\n\nexport const backgroundPosition: IPropertyListDescriptor = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundPosition => {\n return parseFunctionArgs(tokens)\n .map((values: CSSValue[]) => values.filter(isLengthPercentage))\n .map(parseLengthPercentageTuple);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport type BackgroundRepeat = BACKGROUND_REPEAT[];\n\nexport const enum BACKGROUND_REPEAT {\n REPEAT = 0,\n NO_REPEAT = 1,\n REPEAT_X = 2,\n REPEAT_Y = 3\n}\n\nexport const backgroundRepeat: IPropertyListDescriptor = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundRepeat => {\n return parseFunctionArgs(tokens)\n .map((values) =>\n values\n .filter(isIdentToken)\n .map((token) => token.value)\n .join(' ')\n )\n .map(parseBackgroundRepeat);\n }\n};\n\nconst parseBackgroundRepeat = (value: string): BACKGROUND_REPEAT => {\n switch (value) {\n case 'no-repeat':\n return BACKGROUND_REPEAT.NO_REPEAT;\n case 'repeat-x':\n case 'repeat no-repeat':\n return BACKGROUND_REPEAT.REPEAT_X;\n case 'repeat-y':\n case 'no-repeat repeat':\n return BACKGROUND_REPEAT.REPEAT_Y;\n case 'repeat':\n default:\n return BACKGROUND_REPEAT.REPEAT;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum LINE_BREAK {\n NORMAL = 'normal',\n STRICT = 'strict'\n}\n\nexport const lineBreak: IPropertyIdentValueDescriptor = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, lineBreak: string): LINE_BREAK => {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nconst borderColorForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `border-${side}-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n});\n\nexport const borderTopColor: IPropertyTypeValueDescriptor = borderColorForSide('top');\nexport const borderRightColor: IPropertyTypeValueDescriptor = borderColorForSide('right');\nexport const borderBottomColor: IPropertyTypeValueDescriptor = borderColorForSide('bottom');\nexport const borderLeftColor: IPropertyTypeValueDescriptor = borderColorForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BorderRadius = LengthPercentageTuple;\n\nconst borderRadiusForSide = (side: string): IPropertyListDescriptor => ({\n name: `border-radius-${side}`,\n initialValue: '0 0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BorderRadius =>\n parseLengthPercentageTuple(tokens.filter(isLengthPercentage))\n});\n\nexport const borderTopLeftRadius: IPropertyListDescriptor = borderRadiusForSide('top-left');\nexport const borderTopRightRadius: IPropertyListDescriptor = borderRadiusForSide('top-right');\nexport const borderBottomRightRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-right');\nexport const borderBottomLeftRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum BORDER_STYLE {\n NONE = 0,\n SOLID = 1,\n DASHED = 2,\n DOTTED = 3,\n DOUBLE = 4\n}\n\nconst borderStyleForSide = (side: string): IPropertyIdentValueDescriptor => ({\n name: `border-${side}-style`,\n initialValue: 'solid',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, style: string): BORDER_STYLE => {\n switch (style) {\n case 'none':\n return BORDER_STYLE.NONE;\n case 'dashed':\n return BORDER_STYLE.DASHED;\n case 'dotted':\n return BORDER_STYLE.DOTTED;\n case 'double':\n return BORDER_STYLE.DOUBLE;\n }\n return BORDER_STYLE.SOLID;\n }\n});\n\nexport const borderTopStyle: IPropertyIdentValueDescriptor = borderStyleForSide('top');\nexport const borderRightStyle: IPropertyIdentValueDescriptor = borderStyleForSide('right');\nexport const borderBottomStyle: IPropertyIdentValueDescriptor = borderStyleForSide('bottom');\nexport const borderLeftStyle: IPropertyIdentValueDescriptor = borderStyleForSide('left');\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nconst borderWidthForSide = (side: string): IPropertyValueDescriptor => ({\n name: `border-${side}-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n});\n\nexport const borderTopWidth: IPropertyValueDescriptor = borderWidthForSide('top');\nexport const borderRightWidth: IPropertyValueDescriptor = borderWidthForSide('right');\nexport const borderBottomWidth: IPropertyValueDescriptor = borderWidthForSide('bottom');\nexport const borderLeftWidth: IPropertyValueDescriptor = borderWidthForSide('left');\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const color: IPropertyTypeValueDescriptor = {\n name: `color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\n\nexport const enum DIRECTION {\n LTR = 0,\n RTL = 1\n}\n\nexport const direction: IPropertyIdentValueDescriptor = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, direction: string) => {\n switch (direction) {\n case 'rtl':\n return DIRECTION.RTL;\n case 'ltr':\n default:\n return DIRECTION.LTR;\n }\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum DISPLAY {\n NONE = 0,\n BLOCK = 1 << 1,\n INLINE = 1 << 2,\n RUN_IN = 1 << 3,\n FLOW = 1 << 4,\n FLOW_ROOT = 1 << 5,\n TABLE = 1 << 6,\n FLEX = 1 << 7,\n GRID = 1 << 8,\n RUBY = 1 << 9,\n SUBGRID = 1 << 10,\n LIST_ITEM = 1 << 11,\n TABLE_ROW_GROUP = 1 << 12,\n TABLE_HEADER_GROUP = 1 << 13,\n TABLE_FOOTER_GROUP = 1 << 14,\n TABLE_ROW = 1 << 15,\n TABLE_CELL = 1 << 16,\n TABLE_COLUMN_GROUP = 1 << 17,\n TABLE_COLUMN = 1 << 18,\n TABLE_CAPTION = 1 << 19,\n RUBY_BASE = 1 << 20,\n RUBY_TEXT = 1 << 21,\n RUBY_BASE_CONTAINER = 1 << 22,\n RUBY_TEXT_CONTAINER = 1 << 23,\n CONTENTS = 1 << 24,\n INLINE_BLOCK = 1 << 25,\n INLINE_LIST_ITEM = 1 << 26,\n INLINE_TABLE = 1 << 27,\n INLINE_FLEX = 1 << 28,\n INLINE_GRID = 1 << 29\n}\n\nexport type Display = number;\n\nexport const display: IPropertyListDescriptor = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): Display => {\n return tokens.filter(isIdentToken).reduce((bit, token) => {\n return bit | parseDisplayValue(token.value);\n }, DISPLAY.NONE);\n }\n};\n\nconst parseDisplayValue = (display: string): Display => {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return DISPLAY.BLOCK;\n case 'inline':\n return DISPLAY.INLINE;\n case 'run-in':\n return DISPLAY.RUN_IN;\n case 'flow':\n return DISPLAY.FLOW;\n case 'flow-root':\n return DISPLAY.FLOW_ROOT;\n case 'table':\n return DISPLAY.TABLE;\n case 'flex':\n case '-webkit-flex':\n return DISPLAY.FLEX;\n case 'grid':\n case '-ms-grid':\n return DISPLAY.GRID;\n case 'ruby':\n return DISPLAY.RUBY;\n case 'subgrid':\n return DISPLAY.SUBGRID;\n case 'list-item':\n return DISPLAY.LIST_ITEM;\n case 'table-row-group':\n return DISPLAY.TABLE_ROW_GROUP;\n case 'table-header-group':\n return DISPLAY.TABLE_HEADER_GROUP;\n case 'table-footer-group':\n return DISPLAY.TABLE_FOOTER_GROUP;\n case 'table-row':\n return DISPLAY.TABLE_ROW;\n case 'table-cell':\n return DISPLAY.TABLE_CELL;\n case 'table-column-group':\n return DISPLAY.TABLE_COLUMN_GROUP;\n case 'table-column':\n return DISPLAY.TABLE_COLUMN;\n case 'table-caption':\n return DISPLAY.TABLE_CAPTION;\n case 'ruby-base':\n return DISPLAY.RUBY_BASE;\n case 'ruby-text':\n return DISPLAY.RUBY_TEXT;\n case 'ruby-base-container':\n return DISPLAY.RUBY_BASE_CONTAINER;\n case 'ruby-text-container':\n return DISPLAY.RUBY_TEXT_CONTAINER;\n case 'contents':\n return DISPLAY.CONTENTS;\n case 'inline-block':\n return DISPLAY.INLINE_BLOCK;\n case 'inline-list-item':\n return DISPLAY.INLINE_LIST_ITEM;\n case 'inline-table':\n return DISPLAY.INLINE_TABLE;\n case 'inline-flex':\n return DISPLAY.INLINE_FLEX;\n case 'inline-grid':\n return DISPLAY.INLINE_GRID;\n }\n\n return DISPLAY.NONE;\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FLOAT {\n NONE = 0,\n LEFT = 1,\n RIGHT = 2,\n INLINE_START = 3,\n INLINE_END = 4\n}\n\nexport const float: IPropertyIdentValueDescriptor = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, float: string) => {\n switch (float) {\n case 'left':\n return FLOAT.LEFT;\n case 'right':\n return FLOAT.RIGHT;\n case 'inline-start':\n return FLOAT.INLINE_START;\n case 'inline-end':\n return FLOAT.INLINE_END;\n }\n return FLOAT.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport const letterSpacing: IPropertyValueDescriptor = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {\n return 0;\n }\n\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.DIMENSION_TOKEN) {\n return token.number;\n }\n\n return 0;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum WORD_BREAK {\n NORMAL = 'normal',\n BREAK_ALL = 'break-all',\n KEEP_ALL = 'keep-all'\n}\n\nexport const wordBreak: IPropertyIdentValueDescriptor = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, wordBreak: string): WORD_BREAK => {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {getAbsoluteValue, isLengthPercentage} from '../types/length-percentage';\nexport const lineHeight: IPropertyTokenValueDescriptor = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n};\n\nexport const computeLineHeight = (token: CSSValue, fontSize: number): number => {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n } else if (token.type === TokenType.NUMBER_TOKEN) {\n return fontSize * token.number;\n } else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n\n return fontSize;\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image} from '../types/image';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const listStyleImage: IPropertyValueDescriptor = {\n name: 'list-style-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n return image.parse(context, token);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_POSITION {\n INSIDE = 0,\n OUTSIDE = 1\n}\n\nexport const listStylePosition: IPropertyIdentValueDescriptor = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'inside':\n return LIST_STYLE_POSITION.INSIDE;\n case 'outside':\n default:\n return LIST_STYLE_POSITION.OUTSIDE;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_TYPE {\n NONE = -1,\n DISC = 0,\n CIRCLE = 1,\n SQUARE = 2,\n DECIMAL = 3,\n CJK_DECIMAL = 4,\n DECIMAL_LEADING_ZERO = 5,\n LOWER_ROMAN = 6,\n UPPER_ROMAN = 7,\n LOWER_GREEK = 8,\n LOWER_ALPHA = 9,\n UPPER_ALPHA = 10,\n ARABIC_INDIC = 11,\n ARMENIAN = 12,\n BENGALI = 13,\n CAMBODIAN = 14,\n CJK_EARTHLY_BRANCH = 15,\n CJK_HEAVENLY_STEM = 16,\n CJK_IDEOGRAPHIC = 17,\n DEVANAGARI = 18,\n ETHIOPIC_NUMERIC = 19,\n GEORGIAN = 20,\n GUJARATI = 21,\n GURMUKHI = 22,\n HEBREW = 22,\n HIRAGANA = 23,\n HIRAGANA_IROHA = 24,\n JAPANESE_FORMAL = 25,\n JAPANESE_INFORMAL = 26,\n KANNADA = 27,\n KATAKANA = 28,\n KATAKANA_IROHA = 29,\n KHMER = 30,\n KOREAN_HANGUL_FORMAL = 31,\n KOREAN_HANJA_FORMAL = 32,\n KOREAN_HANJA_INFORMAL = 33,\n LAO = 34,\n LOWER_ARMENIAN = 35,\n MALAYALAM = 36,\n MONGOLIAN = 37,\n MYANMAR = 38,\n ORIYA = 39,\n PERSIAN = 40,\n SIMP_CHINESE_FORMAL = 41,\n SIMP_CHINESE_INFORMAL = 42,\n TAMIL = 43,\n TELUGU = 44,\n THAI = 45,\n TIBETAN = 46,\n TRAD_CHINESE_FORMAL = 47,\n TRAD_CHINESE_INFORMAL = 48,\n UPPER_ARMENIAN = 49,\n DISCLOSURE_OPEN = 50,\n DISCLOSURE_CLOSED = 51\n}\n\nexport const listStyleType: IPropertyIdentValueDescriptor = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, type: string) => {\n switch (type) {\n case 'disc':\n return LIST_STYLE_TYPE.DISC;\n case 'circle':\n return LIST_STYLE_TYPE.CIRCLE;\n case 'square':\n return LIST_STYLE_TYPE.SQUARE;\n case 'decimal':\n return LIST_STYLE_TYPE.DECIMAL;\n case 'cjk-decimal':\n return LIST_STYLE_TYPE.CJK_DECIMAL;\n case 'decimal-leading-zero':\n return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;\n case 'lower-roman':\n return LIST_STYLE_TYPE.LOWER_ROMAN;\n case 'upper-roman':\n return LIST_STYLE_TYPE.UPPER_ROMAN;\n case 'lower-greek':\n return LIST_STYLE_TYPE.LOWER_GREEK;\n case 'lower-alpha':\n return LIST_STYLE_TYPE.LOWER_ALPHA;\n case 'upper-alpha':\n return LIST_STYLE_TYPE.UPPER_ALPHA;\n case 'arabic-indic':\n return LIST_STYLE_TYPE.ARABIC_INDIC;\n case 'armenian':\n return LIST_STYLE_TYPE.ARMENIAN;\n case 'bengali':\n return LIST_STYLE_TYPE.BENGALI;\n case 'cambodian':\n return LIST_STYLE_TYPE.CAMBODIAN;\n case 'cjk-earthly-branch':\n return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;\n case 'cjk-heavenly-stem':\n return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;\n case 'cjk-ideographic':\n return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;\n case 'devanagari':\n return LIST_STYLE_TYPE.DEVANAGARI;\n case 'ethiopic-numeric':\n return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;\n case 'georgian':\n return LIST_STYLE_TYPE.GEORGIAN;\n case 'gujarati':\n return LIST_STYLE_TYPE.GUJARATI;\n case 'gurmukhi':\n return LIST_STYLE_TYPE.GURMUKHI;\n case 'hebrew':\n return LIST_STYLE_TYPE.HEBREW;\n case 'hiragana':\n return LIST_STYLE_TYPE.HIRAGANA;\n case 'hiragana-iroha':\n return LIST_STYLE_TYPE.HIRAGANA_IROHA;\n case 'japanese-formal':\n return LIST_STYLE_TYPE.JAPANESE_FORMAL;\n case 'japanese-informal':\n return LIST_STYLE_TYPE.JAPANESE_INFORMAL;\n case 'kannada':\n return LIST_STYLE_TYPE.KANNADA;\n case 'katakana':\n return LIST_STYLE_TYPE.KATAKANA;\n case 'katakana-iroha':\n return LIST_STYLE_TYPE.KATAKANA_IROHA;\n case 'khmer':\n return LIST_STYLE_TYPE.KHMER;\n case 'korean-hangul-formal':\n return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;\n case 'korean-hanja-formal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;\n case 'korean-hanja-informal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;\n case 'lao':\n return LIST_STYLE_TYPE.LAO;\n case 'lower-armenian':\n return LIST_STYLE_TYPE.LOWER_ARMENIAN;\n case 'malayalam':\n return LIST_STYLE_TYPE.MALAYALAM;\n case 'mongolian':\n return LIST_STYLE_TYPE.MONGOLIAN;\n case 'myanmar':\n return LIST_STYLE_TYPE.MYANMAR;\n case 'oriya':\n return LIST_STYLE_TYPE.ORIYA;\n case 'persian':\n return LIST_STYLE_TYPE.PERSIAN;\n case 'simp-chinese-formal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;\n case 'simp-chinese-informal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;\n case 'tamil':\n return LIST_STYLE_TYPE.TAMIL;\n case 'telugu':\n return LIST_STYLE_TYPE.TELUGU;\n case 'thai':\n return LIST_STYLE_TYPE.THAI;\n case 'tibetan':\n return LIST_STYLE_TYPE.TIBETAN;\n case 'trad-chinese-formal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;\n case 'trad-chinese-informal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;\n case 'upper-armenian':\n return LIST_STYLE_TYPE.UPPER_ARMENIAN;\n case 'disclosure-open':\n return LIST_STYLE_TYPE.DISCLOSURE_OPEN;\n case 'disclosure-closed':\n return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;\n case 'none':\n default:\n return LIST_STYLE_TYPE.NONE;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst marginForSide = (side: string): IPropertyTokenValueDescriptor => ({\n name: `margin-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n});\n\nexport const marginTop: IPropertyTokenValueDescriptor = marginForSide('top');\nexport const marginRight: IPropertyTokenValueDescriptor = marginForSide('right');\nexport const marginBottom: IPropertyTokenValueDescriptor = marginForSide('bottom');\nexport const marginLeft: IPropertyTokenValueDescriptor = marginForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW {\n VISIBLE = 0,\n HIDDEN = 1,\n SCROLL = 2,\n CLIP = 3,\n AUTO = 4\n}\n\nexport const overflow: IPropertyListDescriptor = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): OVERFLOW[] => {\n return tokens.filter(isIdentToken).map((overflow) => {\n switch (overflow.value) {\n case 'hidden':\n return OVERFLOW.HIDDEN;\n case 'scroll':\n return OVERFLOW.SCROLL;\n case 'clip':\n return OVERFLOW.CLIP;\n case 'auto':\n return OVERFLOW.AUTO;\n case 'visible':\n default:\n return OVERFLOW.VISIBLE;\n }\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW_WRAP {\n NORMAL = 'normal',\n BREAK_WORD = 'break-word'\n}\n\nexport const overflowWrap: IPropertyIdentValueDescriptor = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'break-word':\n return OVERFLOW_WRAP.BREAK_WORD;\n case 'normal':\n default:\n return OVERFLOW_WRAP.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst paddingForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `padding-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length-percentage'\n});\n\nexport const paddingTop: IPropertyTypeValueDescriptor = paddingForSide('top');\nexport const paddingRight: IPropertyTypeValueDescriptor = paddingForSide('right');\nexport const paddingBottom: IPropertyTypeValueDescriptor = paddingForSide('bottom');\nexport const paddingLeft: IPropertyTypeValueDescriptor = paddingForSide('left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_ALIGN {\n LEFT = 0,\n CENTER = 1,\n RIGHT = 2\n}\n\nexport const textAlign: IPropertyIdentValueDescriptor = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textAlign: string) => {\n switch (textAlign) {\n case 'right':\n return TEXT_ALIGN.RIGHT;\n case 'center':\n case 'justify':\n return TEXT_ALIGN.CENTER;\n case 'left':\n default:\n return TEXT_ALIGN.LEFT;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum POSITION {\n STATIC = 0,\n RELATIVE = 1,\n ABSOLUTE = 2,\n FIXED = 3,\n STICKY = 4\n}\n\nexport const position: IPropertyIdentValueDescriptor = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'relative':\n return POSITION.RELATIVE;\n case 'absolute':\n return POSITION.ABSOLUTE;\n case 'fixed':\n return POSITION.FIXED;\n case 'sticky':\n return POSITION.STICKY;\n }\n\n return POSITION.STATIC;\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color, COLORS} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type TextShadow = TextShadowItem[];\ninterface TextShadowItem {\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n}\n\nexport const textShadow: IPropertyListDescriptor = {\n name: 'text-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): TextShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: TextShadowItem = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else {\n shadow.blur = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_TRANSFORM {\n NONE = 0,\n LOWERCASE = 1,\n UPPERCASE = 2,\n CAPITALIZE = 3\n}\n\nexport const textTransform: IPropertyIdentValueDescriptor = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textTransform: string) => {\n switch (textTransform) {\n case 'uppercase':\n return TEXT_TRANSFORM.UPPERCASE;\n case 'lowercase':\n return TEXT_TRANSFORM.LOWERCASE;\n case 'capitalize':\n return TEXT_TRANSFORM.CAPITALIZE;\n }\n\n return TEXT_TRANSFORM.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type Matrix = [number, number, number, number, number, number];\nexport type Transform = Matrix | null;\n\nexport const transform: IPropertyValueDescriptor = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n if (token.type === TokenType.FUNCTION) {\n const transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported transform function \"${token.name}\"`);\n }\n return transformFunction(token.values);\n }\n\n return null;\n }\n};\n\nconst matrix = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n return values.length === 6 ? (values as Matrix) : null;\n};\n\n// doesn't support 3D transforms at the moment\nconst matrix3d = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n const [a1, b1, {}, {}, a2, b2, {}, {}, {}, {}, {}, {}, a4, b4, {}, {}] = values;\n\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\n\nconst SUPPORTED_TRANSFORM_FUNCTIONS: {\n [key: string]: (args: CSSValue[]) => Transform;\n} = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {FLAG_INTEGER, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type TransformOrigin = [LengthPercentage, LengthPercentage];\n\nconst DEFAULT_VALUE: LengthPercentage = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\nconst DEFAULT: TransformOrigin = [DEFAULT_VALUE, DEFAULT_VALUE];\n\nexport const transformOrigin: IPropertyListDescriptor = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const origins: LengthPercentage[] = tokens.filter(isLengthPercentage);\n\n if (origins.length !== 2) {\n return DEFAULT;\n }\n\n return [origins[0], origins[1]];\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum VISIBILITY {\n VISIBLE = 0,\n HIDDEN = 1,\n COLLAPSE = 2\n}\n\nexport const visibility: IPropertyIdentValueDescriptor = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, visibility: string) => {\n switch (visibility) {\n case 'hidden':\n return VISIBILITY.HIDDEN;\n case 'collapse':\n return VISIBILITY.COLLAPSE;\n case 'visible':\n default:\n return VISIBILITY.VISIBLE;\n }\n }\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\ninterface zIndex {\n order: number;\n auto: boolean;\n}\n\nexport const zIndex: IPropertyValueDescriptor = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue): zIndex => {\n if (token.type === TokenType.IDENT_TOKEN) {\n return {auto: true, order: 0};\n }\n\n if (isNumberToken(token)) {\n return {auto: false, order: token.number};\n }\n\n throw new Error(`Invalid z-index number parsed`);\n }\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {Context} from '../../core/context';\n\nexport const time: ITypeDescriptor = {\n name: 'time',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n\n throw new Error(`Unsupported time type`);\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const opacity: IPropertyValueDescriptor = {\n name: 'opacity',\n initialValue: '1',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const textDecorationColor: IPropertyTypeValueDescriptor = {\n name: `text-decoration-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum TEXT_DECORATION_LINE {\n NONE = 0,\n UNDERLINE = 1,\n OVERLINE = 2,\n LINE_THROUGH = 3,\n BLINK = 4\n}\n\nexport type TextDecorationLine = TEXT_DECORATION_LINE[];\n\nexport const textDecorationLine: IPropertyListDescriptor = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): TextDecorationLine => {\n return tokens\n .filter(isIdentToken)\n .map((token) => {\n switch (token.value) {\n case 'underline':\n return TEXT_DECORATION_LINE.UNDERLINE;\n case 'overline':\n return TEXT_DECORATION_LINE.OVERLINE;\n case 'line-through':\n return TEXT_DECORATION_LINE.LINE_THROUGH;\n case 'none':\n return TEXT_DECORATION_LINE.BLINK;\n }\n return TEXT_DECORATION_LINE.NONE;\n })\n .filter((line) => line !== TEXT_DECORATION_LINE.NONE);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport type FONT_FAMILY = string;\n\nexport type FontFamily = FONT_FAMILY[];\n\nexport const fontFamily: IPropertyListDescriptor = {\n name: `font-family`,\n initialValue: '',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const accumulator: string[] = [];\n const results: string[] = [];\n tokens.forEach((token) => {\n switch (token.type) {\n case TokenType.IDENT_TOKEN:\n case TokenType.STRING_TOKEN:\n accumulator.push(token.value);\n break;\n case TokenType.NUMBER_TOKEN:\n accumulator.push(token.number.toString());\n break;\n case TokenType.COMMA_TOKEN:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map((result) => (result.indexOf(' ') === -1 ? result : `'${result}'`));\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const fontSize: IPropertyTypeValueDescriptor = {\n name: `font-size`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length'\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontWeight: IPropertyValueDescriptor = {\n name: 'font-weight',\n initialValue: 'normal',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n\n return 400;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontVariant: IPropertyListDescriptor = {\n name: 'font-variant',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): string[] => {\n return tokens.filter(isIdentToken).map((token) => token.value);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FONT_STYLE {\n NORMAL = 'normal',\n ITALIC = 'italic',\n OBLIQUE = 'oblique'\n}\n\nexport const fontStyle: IPropertyIdentValueDescriptor = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'oblique':\n return FONT_STYLE.OBLIQUE;\n case 'italic':\n return FONT_STYLE.ITALIC;\n case 'normal':\n default:\n return FONT_STYLE.NORMAL;\n }\n }\n};\n","export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;\n","import {TokenType} from '../syntax/tokenizer';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport type Content = CSSValue[];\n\nexport const content: IPropertyListDescriptor = {\n name: 'content',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_INCREMENT {\n counter: string;\n increment: number;\n}\n\nexport type CounterIncrement = COUNTER_INCREMENT[] | null;\n\nexport const counterIncrement: IPropertyListDescriptor = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const increments = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (counter.type === TokenType.IDENT_TOKEN) {\n const increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({counter: counter.value, increment});\n }\n }\n\n return increments;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_RESET {\n counter: string;\n reset: number;\n}\n\nexport type CounterReset = COUNTER_RESET[];\n\nexport const counterReset: IPropertyListDescriptor = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const resets = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n const reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({counter: counter.value, reset});\n }\n }\n\n return resets;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {time} from '../types/time';\n\nexport const duration: IPropertyListDescriptor = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (context: Context, tokens: CSSValue[]) => {\n return tokens.filter(isDimensionToken).map((token) => time.parse(context, token));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isStringToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface QUOTE {\n open: string;\n close: string;\n}\n\nexport type Quotes = QUOTE[] | null;\n\nexport const quotes: IPropertyListDescriptor = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const quotes = [];\n const filtered = tokens.filter(isStringToken);\n\n if (filtered.length % 2 !== 0) {\n return null;\n }\n\n for (let i = 0; i < filtered.length; i += 2) {\n const open = filtered[i].value;\n const close = filtered[i + 1].value;\n quotes.push({open, close});\n }\n\n return quotes;\n }\n};\n\nexport const getQuote = (quotes: Quotes, depth: number, open: boolean): string => {\n if (!quotes) {\n return '';\n }\n\n const quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n\n return open ? quote.open : quote.close;\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type BoxShadow = BoxShadowItem[];\ninterface BoxShadowItem {\n inset: boolean;\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n spread: Length;\n}\n\nexport const boxShadow: IPropertyListDescriptor = {\n name: 'box-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): BoxShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: BoxShadowItem = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n } else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else if (c === 2) {\n shadow.blur = token;\n } else {\n shadow.spread = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum PAINT_ORDER_LAYER {\n FILL,\n STROKE,\n MARKERS\n}\n\nexport type PaintOrder = PAINT_ORDER_LAYER[];\n\nexport const paintOrder: IPropertyListDescriptor = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): PaintOrder => {\n const DEFAULT_VALUE = [PAINT_ORDER_LAYER.FILL, PAINT_ORDER_LAYER.STROKE, PAINT_ORDER_LAYER.MARKERS];\n const layers: PaintOrder = [];\n\n tokens.filter(isIdentToken).forEach((token) => {\n switch (token.value) {\n case 'stroke':\n layers.push(PAINT_ORDER_LAYER.STROKE);\n break;\n case 'fill':\n layers.push(PAINT_ORDER_LAYER.FILL);\n break;\n case 'markers':\n layers.push(PAINT_ORDER_LAYER.MARKERS);\n break;\n }\n });\n DEFAULT_VALUE.forEach((value) => {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n\n return layers;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nexport const webkitTextStrokeColor: IPropertyTypeValueDescriptor = {\n name: `-webkit-text-stroke-color`,\n initialValue: 'currentcolor',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const webkitTextStrokeWidth: IPropertyValueDescriptor = {\n name: `-webkit-text-stroke-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n","import {CSSPropertyDescriptor, PropertyDescriptorParsingType} from './IPropertyDescriptor';\nimport {backgroundClip} from './property-descriptors/background-clip';\nimport {backgroundColor} from './property-descriptors/background-color';\nimport {backgroundImage} from './property-descriptors/background-image';\nimport {backgroundOrigin} from './property-descriptors/background-origin';\nimport {backgroundPosition} from './property-descriptors/background-position';\nimport {backgroundRepeat} from './property-descriptors/background-repeat';\nimport {backgroundSize} from './property-descriptors/background-size';\nimport {\n borderBottomColor,\n borderLeftColor,\n borderRightColor,\n borderTopColor\n} from './property-descriptors/border-color';\nimport {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderTopLeftRadius,\n borderTopRightRadius\n} from './property-descriptors/border-radius';\nimport {\n borderBottomStyle,\n borderLeftStyle,\n borderRightStyle,\n borderTopStyle\n} from './property-descriptors/border-style';\nimport {\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth,\n borderTopWidth\n} from './property-descriptors/border-width';\nimport {color} from './property-descriptors/color';\nimport {direction} from './property-descriptors/direction';\nimport {display, DISPLAY} from './property-descriptors/display';\nimport {float, FLOAT} from './property-descriptors/float';\nimport {letterSpacing} from './property-descriptors/letter-spacing';\nimport {lineBreak} from './property-descriptors/line-break';\nimport {lineHeight} from './property-descriptors/line-height';\nimport {listStyleImage} from './property-descriptors/list-style-image';\nimport {listStylePosition} from './property-descriptors/list-style-position';\nimport {listStyleType} from './property-descriptors/list-style-type';\nimport {marginBottom, marginLeft, marginRight, marginTop} from './property-descriptors/margin';\nimport {overflow, OVERFLOW} from './property-descriptors/overflow';\nimport {overflowWrap} from './property-descriptors/overflow-wrap';\nimport {paddingBottom, paddingLeft, paddingRight, paddingTop} from './property-descriptors/padding';\nimport {textAlign} from './property-descriptors/text-align';\nimport {position, POSITION} from './property-descriptors/position';\nimport {textShadow} from './property-descriptors/text-shadow';\nimport {textTransform} from './property-descriptors/text-transform';\nimport {transform} from './property-descriptors/transform';\nimport {transformOrigin} from './property-descriptors/transform-origin';\nimport {visibility, VISIBILITY} from './property-descriptors/visibility';\nimport {wordBreak} from './property-descriptors/word-break';\nimport {zIndex} from './property-descriptors/z-index';\nimport {CSSValue, isIdentToken, Parser} from './syntax/parser';\nimport {Tokenizer} from './syntax/tokenizer';\nimport {Color, color as colorType, isTransparent} from './types/color';\nimport {angle} from './types/angle';\nimport {image} from './types/image';\nimport {time} from './types/time';\nimport {opacity} from './property-descriptors/opacity';\nimport {textDecorationColor} from './property-descriptors/text-decoration-color';\nimport {textDecorationLine} from './property-descriptors/text-decoration-line';\nimport {isLengthPercentage, LengthPercentage, ZERO_LENGTH} from './types/length-percentage';\nimport {fontFamily} from './property-descriptors/font-family';\nimport {fontSize} from './property-descriptors/font-size';\nimport {isLength} from './types/length';\nimport {fontWeight} from './property-descriptors/font-weight';\nimport {fontVariant} from './property-descriptors/font-variant';\nimport {fontStyle} from './property-descriptors/font-style';\nimport {contains} from '../core/bitwise';\nimport {content} from './property-descriptors/content';\nimport {counterIncrement} from './property-descriptors/counter-increment';\nimport {counterReset} from './property-descriptors/counter-reset';\nimport {duration} from './property-descriptors/duration';\nimport {quotes} from './property-descriptors/quotes';\nimport {boxShadow} from './property-descriptors/box-shadow';\nimport {paintOrder} from './property-descriptors/paint-order';\nimport {webkitTextStrokeColor} from './property-descriptors/webkit-text-stroke-color';\nimport {webkitTextStrokeWidth} from './property-descriptors/webkit-text-stroke-width';\nimport {Context} from '../core/context';\n\nexport class CSSParsedDeclaration {\n animationDuration: ReturnType;\n backgroundClip: ReturnType;\n backgroundColor: Color;\n backgroundImage: ReturnType;\n backgroundOrigin: ReturnType;\n backgroundPosition: ReturnType;\n backgroundRepeat: ReturnType;\n backgroundSize: ReturnType;\n borderTopColor: Color;\n borderRightColor: Color;\n borderBottomColor: Color;\n borderLeftColor: Color;\n borderTopLeftRadius: ReturnType;\n borderTopRightRadius: ReturnType;\n borderBottomRightRadius: ReturnType;\n borderBottomLeftRadius: ReturnType;\n borderTopStyle: ReturnType;\n borderRightStyle: ReturnType;\n borderBottomStyle: ReturnType;\n borderLeftStyle: ReturnType;\n borderTopWidth: ReturnType;\n borderRightWidth: ReturnType;\n borderBottomWidth: ReturnType;\n borderLeftWidth: ReturnType;\n boxShadow: ReturnType;\n color: Color;\n direction: ReturnType;\n display: ReturnType;\n float: ReturnType;\n fontFamily: ReturnType;\n fontSize: LengthPercentage;\n fontStyle: ReturnType;\n fontVariant: ReturnType;\n fontWeight: ReturnType;\n letterSpacing: ReturnType;\n lineBreak: ReturnType;\n lineHeight: CSSValue;\n listStyleImage: ReturnType;\n listStylePosition: ReturnType;\n listStyleType: ReturnType;\n marginTop: CSSValue;\n marginRight: CSSValue;\n marginBottom: CSSValue;\n marginLeft: CSSValue;\n opacity: ReturnType;\n overflowX: OVERFLOW;\n overflowY: OVERFLOW;\n overflowWrap: ReturnType;\n paddingTop: LengthPercentage;\n paddingRight: LengthPercentage;\n paddingBottom: LengthPercentage;\n paddingLeft: LengthPercentage;\n paintOrder: ReturnType;\n position: ReturnType;\n textAlign: ReturnType;\n textDecorationColor: Color;\n textDecorationLine: ReturnType;\n textShadow: ReturnType;\n textTransform: ReturnType;\n transform: ReturnType;\n transformOrigin: ReturnType;\n visibility: ReturnType;\n webkitTextStrokeColor: Color;\n webkitTextStrokeWidth: ReturnType;\n wordBreak: ReturnType;\n zIndex: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n const overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(\n context,\n textDecorationColor,\n declaration.textDecorationColor ?? declaration.color\n );\n this.textDecorationLine = parse(\n context,\n textDecorationLine,\n declaration.textDecorationLine ?? declaration.textDecoration\n );\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n\n isVisible(): boolean {\n return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;\n }\n\n isTransparent(): boolean {\n return isTransparent(this.backgroundColor);\n }\n\n isTransformed(): boolean {\n return this.transform !== null;\n }\n\n isPositioned(): boolean {\n return this.position !== POSITION.STATIC;\n }\n\n isPositionedWithZIndex(): boolean {\n return this.isPositioned() && !this.zIndex.auto;\n }\n\n isFloating(): boolean {\n return this.float !== FLOAT.NONE;\n }\n\n isInlineLevel(): boolean {\n return (\n contains(this.display, DISPLAY.INLINE) ||\n contains(this.display, DISPLAY.INLINE_BLOCK) ||\n contains(this.display, DISPLAY.INLINE_FLEX) ||\n contains(this.display, DISPLAY.INLINE_GRID) ||\n contains(this.display, DISPLAY.INLINE_LIST_ITEM) ||\n contains(this.display, DISPLAY.INLINE_TABLE)\n );\n }\n}\n\nexport class CSSParsedPseudoDeclaration {\n content: ReturnType;\n quotes: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n}\n\nexport class CSSParsedCounterDeclaration {\n counterIncrement: ReturnType;\n counterReset: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst parse = (context: Context, descriptor: CSSPropertyDescriptor, style?: string | null) => {\n const tokenizer = new Tokenizer();\n const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n const parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case PropertyDescriptorParsingType.IDENT_VALUE:\n const token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case PropertyDescriptorParsingType.VALUE:\n return descriptor.parse(context, parser.parseComponentValue());\n case PropertyDescriptorParsingType.LIST:\n return descriptor.parse(context, parser.parseComponentValues());\n case PropertyDescriptorParsingType.TOKEN_VALUE:\n return parser.parseComponentValue();\n case PropertyDescriptorParsingType.TYPE_VALUE:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return colorType.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n const length = parser.parseComponentValue();\n return isLength(length) ? length : ZERO_LENGTH;\n case 'length-percentage':\n const value = parser.parseComponentValue();\n return isLengthPercentage(value) ? value : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n","const elementDebuggerAttribute = 'data-html2canvas-debug';\nexport const enum DebuggerType {\n NONE,\n ALL,\n CLONE,\n PARSE,\n RENDER\n}\n\nconst getElementDebugType = (element: Element): DebuggerType => {\n const attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return DebuggerType.ALL;\n case 'clone':\n return DebuggerType.CLONE;\n case 'parse':\n return DebuggerType.PARSE;\n case 'render':\n return DebuggerType.RENDER;\n default:\n return DebuggerType.NONE;\n }\n};\n\nexport const isDebugging = (element: Element, type: Omit): boolean => {\n const elementType = getElementDebugType(element);\n return elementType === DebuggerType.ALL || type === elementType;\n};\n","import {CSSParsedDeclaration} from '../css/index';\nimport {TextContainer} from './text-container';\nimport {Bounds, parseBounds} from '../css/layout/bounds';\nimport {isHTMLElementNode} from './node-parser';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport const enum FLAGS {\n CREATES_STACKING_CONTEXT = 1 << 1,\n CREATES_REAL_STACKING_CONTEXT = 1 << 2,\n IS_LIST_OWNER = 1 << 3,\n DEBUG_RENDER = 1 << 4\n}\n\nexport class ElementContainer {\n readonly styles: CSSParsedDeclaration;\n readonly textNodes: TextContainer[] = [];\n readonly elements: ElementContainer[] = [];\n bounds: Bounds;\n flags = 0;\n\n constructor(protected readonly context: Context, element: Element) {\n if (isDebugging(element, DebuggerType.PARSE)) {\n debugger;\n }\n\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some((duration) => duration > 0)) {\n element.style.animationDuration = '0s';\n }\n\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n\n this.bounds = parseBounds(this.context, element);\n\n if (isDebugging(element, DebuggerType.RENDER)) {\n this.flags |= FLAGS.DEBUG_RENDER;\n }\n }\n}\n","export const base64 =\n 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\nexport const byteLength = 19616;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","import {base64, byteLength} from './grapheme-break-trie';\nimport {createTrieFromBase64} from 'utrie';\n\nconst Other = 0;\nconst Prepend = 1;\nconst CR = 2;\nconst LF = 3;\nconst Control = 4;\nconst Extend = 5;\nconst Regional_Indicator = 6;\nconst SpacingMark = 7;\nconst L = 8;\nconst V = 9;\nconst T = 10;\nconst LV = 11;\nconst LVT = 12;\nconst ZWJ = 13;\nconst Extended_Pictographic = 14;\nconst RI = 15;\n\nexport const classes: {[key: string]: number} = {\n Other,\n Prepend,\n CR,\n LF,\n Control,\n Extend,\n Regional_Indicator,\n SpacingMark,\n L,\n V,\n T,\n LV,\n LVT,\n ZWJ,\n Extended_Pictographic,\n RI,\n};\n\nexport const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED;\n\nexport const codePointToClass = (codePoint: number): number => UnicodeTrie.get(codePoint);\n\nconst _graphemeBreakAtIndex = (_codePoints: number[], classTypes: number[], index: number): BREAK_OPPORTUNITIES => {\n let prevIndex = index - 2;\n let prev = classTypes[prevIndex];\n const current = classTypes[index - 1];\n const next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n let countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const graphemeBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // GB1 Break at the start and end of text, unless the text is empty.\n if (index === 0) {\n return BREAK_ALLOWED;\n }\n\n // GB2\n if (index >= codePoints.length) {\n return BREAK_ALLOWED;\n }\n\n const classTypes = codePoints.map(codePointToClass);\n return _graphemeBreakAtIndex(codePoints, classTypes, index);\n};\n\nexport const GraphemeBreaker = (str: string) => {\n const codePoints = toCodePoints(str);\n const length = codePoints.length;\n let index = 0;\n let lastEnd = 0;\n const classTypes = codePoints.map(codePointToClass);\n\n return {\n next: () => {\n if (index >= length) {\n return {done: true, value: null};\n }\n\n let graphemeBreak = BREAK_NOT_ALLOWED;\n while (\n index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED\n ) {}\n\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n const value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n while (index < length) {}\n\n return {done: true, value: null};\n },\n };\n};\n\nexport const splitGraphemes = (str: string): string[] => {\n const breaker = GraphemeBreaker(str);\n\n const graphemes = [];\n let bk;\n\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n\n return graphemes;\n};\n","import {Bounds} from '../css/layout/bounds';\nimport {\n isBodyElement,\n isCanvasElement,\n isCustomElement,\n isElementNode,\n isHTMLElementNode,\n isIFrameElement,\n isImageElement,\n isScriptElement,\n isSelectElement,\n isSlotElement,\n isStyleElement,\n isSVGElementNode,\n isTextareaElement,\n isTextNode,\n isVideoElement\n} from './node-parser';\nimport {isIdentToken, nonFunctionArgSeparator} from '../css/syntax/parser';\nimport {TokenType} from '../css/syntax/tokenizer';\nimport {CounterState, createCounterText} from '../css/types/functions/counter';\nimport {LIST_STYLE_TYPE, listStyleType} from '../css/property-descriptors/list-style-type';\nimport {CSSParsedCounterDeclaration, CSSParsedPseudoDeclaration} from '../css/index';\nimport {getQuote} from '../css/property-descriptors/quotes';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport interface CloneOptions {\n ignoreElements?: (element: Element) => boolean;\n onclone?: (document: Document, element: HTMLElement) => void;\n allowTaint?: boolean;\n}\n\nexport interface WindowOptions {\n scrollX: number;\n scrollY: number;\n windowWidth: number;\n windowHeight: number;\n}\n\nexport type CloneConfigurations = CloneOptions & {\n inlineImages: boolean;\n copyStyles: boolean;\n};\n\nconst IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n\nexport class DocumentCloner {\n private readonly scrolledElements: [Element, number, number][];\n private readonly referenceElement: HTMLElement;\n clonedReferenceElement?: HTMLElement;\n private readonly documentElement: HTMLElement;\n private readonly counters: CounterState;\n private quoteDepth: number;\n\n constructor(\n private readonly context: Context,\n element: HTMLElement,\n private readonly options: CloneConfigurations\n ) {\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false) as HTMLElement;\n }\n\n toIFrame(ownerDocument: Document, windowSize: Bounds): Promise {\n const iframe: HTMLIFrameElement = createIFrameContainer(ownerDocument, windowSize);\n\n if (!iframe.contentWindow) {\n return Promise.reject(`Unable to find iframe window`);\n }\n\n const scrollX = (ownerDocument.defaultView as Window).pageXOffset;\n const scrollY = (ownerDocument.defaultView as Window).pageYOffset;\n\n const cloneWindow = iframe.contentWindow;\n const documentClone: Document = cloneWindow.document;\n\n /* Chrome doesn't detect relative background-images assigned in inline \";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

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

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

    \n *

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

    \n *

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

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

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

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

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

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

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

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



    a c e

    b d f

    0 0 1

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

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

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n// --------- HELPERS\nfunction getElementOffset(el) {\n let top = 0;\n let left = 0;\n let element = el;\n // Loop through the DOM tree\n // and add it's parent's offset to get page offset\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n return {\n top,\n left,\n };\n}\n// --------- SCROLL INTERFACES\n// ScrollDomElement and ScrollWindow have identical interfaces\nclass ScrollDomElement {\n constructor(element) {\n this.element = element;\n }\n getHorizontalScroll() {\n return this.element.scrollLeft;\n }\n getVerticalScroll() {\n return this.element.scrollTop;\n }\n getMaxHorizontalScroll() {\n return this.element.scrollWidth - this.element.clientWidth;\n }\n getMaxVerticalScroll() {\n return this.element.scrollHeight - this.element.clientHeight;\n }\n getHorizontalElementScrollOffset(elementToScrollTo, elementToScroll) {\n return (getElementOffset(elementToScrollTo).left -\n getElementOffset(elementToScroll).left);\n }\n getVerticalElementScrollOffset(elementToScrollTo, elementToScroll) {\n return (getElementOffset(elementToScrollTo).top -\n getElementOffset(elementToScroll).top);\n }\n scrollTo(x, y) {\n this.element.scrollLeft = x;\n this.element.scrollTop = y;\n }\n}\nclass ScrollWindow {\n constructor() {\n this.element = window;\n }\n getHorizontalScroll() {\n return window.scrollX || document.documentElement.scrollLeft;\n }\n getVerticalScroll() {\n return window.scrollY || document.documentElement.scrollTop;\n }\n getMaxHorizontalScroll() {\n return (Math.max(document.body.scrollWidth, document.documentElement.scrollWidth, document.body.offsetWidth, document.documentElement.offsetWidth, document.body.clientWidth, document.documentElement.clientWidth) - window.innerWidth);\n }\n getMaxVerticalScroll() {\n return (Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight) - window.innerHeight);\n }\n getHorizontalElementScrollOffset(elementToScrollTo) {\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft;\n return scrollLeft + elementToScrollTo.getBoundingClientRect().left;\n }\n getVerticalElementScrollOffset(elementToScrollTo) {\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\n return scrollTop + elementToScrollTo.getBoundingClientRect().top;\n }\n scrollTo(x, y) {\n window.scrollTo(x, y);\n }\n}\nconst activeAnimations = {\n elements: [],\n cancelMethods: [],\n add: (element, cancelAnimation) => {\n activeAnimations.elements.push(element);\n activeAnimations.cancelMethods.push(cancelAnimation);\n },\n remove: (element, shouldStop) => {\n const index = activeAnimations.elements.indexOf(element);\n if (index > -1) {\n // Stop animation\n if (shouldStop) {\n activeAnimations.cancelMethods[index]();\n }\n // Remove it\n activeAnimations.elements.splice(index, 1);\n activeAnimations.cancelMethods.splice(index, 1);\n }\n },\n};\n// --------- CHECK IF CODE IS RUNNING IN A BROWSER\nconst WINDOW_EXISTS = typeof window !== 'undefined';\n// --------- ANIMATE SCROLL TO\nconst defaultOptions = {\n cancelOnUserAction: true,\n easing: (t) => --t * t * t + 1,\n elementToScroll: WINDOW_EXISTS ? window : null,\n horizontalOffset: 0,\n maxDuration: 3000,\n minDuration: 250,\n speed: 500,\n verticalOffset: 0,\n};\nfunction animateScrollTo(numberOrCoordsOrElement, userOptions = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n // Check for server rendering\n if (!WINDOW_EXISTS) {\n // @ts-ignore\n // If it still gets called on server, return Promise for API consistency\n return new Promise((resolve) => {\n resolve(false); // Returning false on server\n });\n }\n else if (!window.Promise) {\n throw \"Browser doesn't support Promises, and animated-scroll-to depends on it, please provide a polyfill.\";\n }\n let x;\n let y;\n let scrollToElement;\n let options = Object.assign(Object.assign({}, defaultOptions), userOptions);\n const isWindow = options.elementToScroll === window;\n const isElement = !!options.elementToScroll.nodeName;\n if (!isWindow && !isElement) {\n throw 'Element to scroll needs to be either window or DOM element.';\n }\n // Check for \"scroll-behavior: smooth\" as it can break the animation\n // https://github.com/Stanko/animated-scroll-to/issues/55\n const scrollBehaviorElement = isWindow\n ? document.documentElement\n : options.elementToScroll;\n const scrollBehavior = getComputedStyle(scrollBehaviorElement).getPropertyValue('scroll-behavior');\n if (scrollBehavior === 'smooth') {\n console.warn(`${scrollBehaviorElement.tagName} has \"scroll-behavior: smooth\" which can mess up with animated-scroll-to's animations`);\n }\n // Select the correct scrolling interface\n const elementToScroll = isWindow\n ? new ScrollWindow()\n : new ScrollDomElement(options.elementToScroll);\n if (numberOrCoordsOrElement instanceof Element) {\n scrollToElement = numberOrCoordsOrElement;\n // If \"elementToScroll\" is not a parent of \"scrollToElement\"\n if (isElement &&\n (!options.elementToScroll.contains(scrollToElement) ||\n options.elementToScroll.isSameNode(scrollToElement))) {\n throw 'options.elementToScroll has to be a parent of scrollToElement';\n }\n x = elementToScroll.getHorizontalElementScrollOffset(scrollToElement, options.elementToScroll);\n y = elementToScroll.getVerticalElementScrollOffset(scrollToElement, options.elementToScroll);\n }\n else if (typeof numberOrCoordsOrElement === 'number') {\n x = elementToScroll.getHorizontalScroll();\n y = numberOrCoordsOrElement;\n }\n else if (Array.isArray(numberOrCoordsOrElement) &&\n numberOrCoordsOrElement.length === 2) {\n x =\n numberOrCoordsOrElement[0] === null\n ? elementToScroll.getHorizontalScroll()\n : numberOrCoordsOrElement[0];\n y =\n numberOrCoordsOrElement[1] === null\n ? elementToScroll.getVerticalScroll()\n : numberOrCoordsOrElement[1];\n }\n else {\n // ERROR\n throw ('Wrong function signature. Check documentation.\\n' +\n 'Available method signatures are:\\n' +\n ' animateScrollTo(y:number, options)\\n' +\n ' animateScrollTo([x:number | null, y:number | null], options)\\n' +\n ' animateScrollTo(scrollToElement:Element, options)');\n }\n // Add offsets\n x += options.horizontalOffset;\n y += options.verticalOffset;\n // Horizontal scroll distance\n const maxHorizontalScroll = elementToScroll.getMaxHorizontalScroll();\n const initialHorizontalScroll = elementToScroll.getHorizontalScroll();\n // If user specified scroll position is greater than maximum available scroll\n if (x > maxHorizontalScroll) {\n x = maxHorizontalScroll;\n }\n // Calculate distance to scroll\n const horizontalDistanceToScroll = x - initialHorizontalScroll;\n // Vertical scroll distance distance\n const maxVerticalScroll = elementToScroll.getMaxVerticalScroll();\n const initialVerticalScroll = elementToScroll.getVerticalScroll();\n // If user specified scroll position is greater than maximum available scroll\n if (y > maxVerticalScroll) {\n y = maxVerticalScroll;\n }\n // Calculate distance to scroll\n const verticalDistanceToScroll = y - initialVerticalScroll;\n // Calculate duration of the scroll\n const horizontalDuration = Math.abs(Math.round((horizontalDistanceToScroll / 1000) * options.speed));\n const verticalDuration = Math.abs(Math.round((verticalDistanceToScroll / 1000) * options.speed));\n let duration = horizontalDuration > verticalDuration\n ? horizontalDuration\n : verticalDuration;\n // Set minimum and maximum duration\n if (duration < options.minDuration) {\n duration = options.minDuration;\n }\n else if (duration > options.maxDuration) {\n duration = options.maxDuration;\n }\n // @ts-ignore\n return new Promise((resolve, reject) => {\n // Scroll is already in place, nothing to do\n if (horizontalDistanceToScroll === 0 && verticalDistanceToScroll === 0) {\n // Resolve promise with a boolean hasScrolledToPosition set to true\n resolve(true);\n }\n // Cancel existing animation if it is already running on the same element\n activeAnimations.remove(elementToScroll.element, true);\n // To cancel animation we have to store request animation frame ID\n let requestID;\n // Cancel animation handler\n const cancelAnimation = () => {\n removeListeners();\n cancelAnimationFrame(requestID);\n // Resolve promise with a boolean hasScrolledToPosition set to false\n resolve(false);\n };\n // Registering animation so it can be canceled if function\n // gets called again on the same element\n activeAnimations.add(elementToScroll.element, cancelAnimation);\n // Prevent user actions handler\n const preventDefaultHandler = (e) => e.preventDefault();\n const handler = options.cancelOnUserAction\n ? cancelAnimation\n : preventDefaultHandler;\n // If animation is not cancelable by the user, we can't use passive events\n const eventOptions = options.cancelOnUserAction\n ? { passive: true }\n : { passive: false };\n const events = ['wheel', 'touchstart', 'keydown', 'mousedown'];\n // Function to remove listeners after animation is finished\n const removeListeners = () => {\n events.forEach((eventName) => {\n elementToScroll.element.removeEventListener(eventName, handler, eventOptions);\n });\n };\n // Add listeners\n events.forEach((eventName) => {\n elementToScroll.element.addEventListener(eventName, handler, eventOptions);\n });\n // Animation\n const startingTime = Date.now();\n const step = () => {\n var timeDiff = Date.now() - startingTime;\n var t = timeDiff / duration;\n const horizontalScrollPosition = Math.round(initialHorizontalScroll +\n horizontalDistanceToScroll * options.easing(t));\n const verticalScrollPosition = Math.round(initialVerticalScroll + verticalDistanceToScroll * options.easing(t));\n if (timeDiff < duration &&\n (horizontalScrollPosition !== x || verticalScrollPosition !== y)) {\n // If scroll didn't reach desired position or time is not elapsed\n // Scroll to a new position\n elementToScroll.scrollTo(horizontalScrollPosition, verticalScrollPosition);\n // And request a new step\n requestID = requestAnimationFrame(step);\n }\n else {\n // If the time elapsed or we reached the desired offset\n // Set scroll to the desired offset (when rounding made it to be off a pixel or two)\n // Clear animation frame to be sure\n elementToScroll.scrollTo(x, y);\n cancelAnimationFrame(requestID);\n // Remove listeners\n removeListeners();\n // Remove animation from the active animations coordinator\n activeAnimations.remove(elementToScroll.element, false);\n // Resolve promise with a boolean hasScrolledToPosition set to true\n resolve(true);\n }\n };\n // Start animating scroll\n requestID = requestAnimationFrame(step);\n });\n });\n}\nexport default animateScrollTo;\n","import logo from './logo.svg';\nimport './App.css';\nimport LittleBox from './box-destino/LittleBox';\nimport LegendBox from './box-destino/LegendBox';\nimport { useState } from 'react';\nimport { consultarMalaDireta, gravarMalaDireta } from './services/mala-direta-service';\nimport Snackbar, { SnackbarOrigin } from '@mui/material/Snackbar';\nimport MuiAlert, { AlertProps } from '@mui/material/Alert';\nimport { forwardRef } from 'react';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport $ from \"jquery\";\nimport 'animate.css';\nimport { jsPDF } from \"jspdf\";\n// import html2pdf from \"html2pdf.js\"\nimport animateScrollTo from 'animated-scroll-to';\nimport html2canvas from 'html2canvas';\nimport { saveAs } from 'file-saver';\n\nconst Alert = forwardRef(function Alert(props, ref) {\n return ;\n});\n\n\nfunction getRow(promos, showTooltip) {\n const rows = [];\n const littleBoxes = [];\n const legendBoxes = [];\n\n promos.forEach(promo => {\n\n littleBoxes.push(\n \n );\n\n legendBoxes.push(\n \n );\n });\n\n rows.push(\n
    \n
    \n
    \n {littleBoxes} \n
    \n
    \n
    \n {legendBoxes} \n
    \n
    \n );\n\n return rows;\n}\n\n// const parsePromos = promos => promos.map(p => new { \n// ... p, \n// link: p.link.startsWith(\"/\") ? `https://www.fuiviagens.com.br${p.link}` : p.link\n// });\n\nfunction App({ grupo, apresentacao, promos, editMode = true }) {\n \n // const parsedPromos = parsePromos(promos);\n const [ firstLoad, setFirstLoad ] = useState(true);\n const [ editModeState, setEditModeState ] = useState(editMode);\n const [ data, setData ] = useState(promos);\n const [ codigoGrupo, setCodigoGrupo ] = useState();\n const [ snack, setSnack ] = useState({ open: false, msg: \"\" });\n const [ loading, setLoading ] = useState(false);\n\n const openSnack = (severity, msg) => setSnack({ open: true, severity: severity, msg: msg });\n\n const handleClose = () => {\n setSnack({ ...snack, open: false });\n };\n\n const handleRemover = () => {\n\n if (data.length > 0) {\n animateScrollTo($(`.little-box[data-grupo=\"${data[data.length - 1].grupo}\"]`)[0]);\n animateCSS(\n `[data-grupo=\"${data[data.length - 1].grupo}\"]`,\n \"zoomOut\", \n event => {\n event.srcElement.style.display = \"none\";\n setData(data.slice(0, -1));\n }\n );\n }\n };\n\n const handleConsultar = async () => {\n\n if (!codigoGrupo) {\n return;\n }\n else if (data.filter(p => p.grupo == codigoGrupo.trim()).length > 0) {\n\n openSnack(\"info\", `Grupo ${codigoGrupo} já foi selecionado na lista` );\n\n // animate(`[data-grupo=\"${codigoGrupo}\"]`, \"animate__animated animate__pulse\");\n animateCSS(`[data-grupo=\"${codigoGrupo}\"]`, \"pulse\");\n animateScrollTo($(`.little-box[data-grupo=\"${codigoGrupo}\"]`)[0]);\n }\n else if (codigoGrupo > 0) {\n try {\n setLoading(true);\n\n const response = await consultarMalaDireta(codigoGrupo);\n\n if (response.data?.length > 0) {\n setData([ ...data, ...response.data ]);\n }\n else {\n openSnack(\"warning\", `Grupo ${codigoGrupo} não foi encontrado` );\n }\n }\n catch (ex) {\n openSnack(\"error\", `Ocorreu um erro ao selecionar o grupo ${codigoGrupo}`);\n }\n finally {\n setLoading(false);\n setTimeout(() => \n animateScrollTo($(`.little-box[data-grupo=\"${codigoGrupo}\"]`)[0]),\n 100\n );\n setTimeout(() => \n clearAddAnimation(`[data-grupo=\"${codigoGrupo}\"]`),\n // clearAddAnimation(`[data-grupo=\"${codigoGrupo}\"]`),\n 500\n );\n }\n }\n };\n\n const handleGravar = async () => {\n\n try {\n setLoading(true);\n\n await gravarMalaDireta({\n grupo: grupo,\n apresentacao: apresentacao,\n grupos: data.map(p => p.grupo)\n });\n\n openSnack(\"success\", `${data.length} grupos gravados com sucesso:${data.map(p => ` ${p.grupo}`)}.`);\n\n data.reduce((acc, c) => `${acc}, ${c.grupo}`, data[0].grupo)\n }\n catch (ex) {\n openSnack(\"error\", `Ocorreu um erro ao gravar`);\n }\n finally {\n setLoading(false);\n }\n };\n\n const handlePdf = async () => {\n\n try {\n\n const divMain = $(\".main\");\n const divMainOffset = $(\".main\").offset();\n\n // Formata o pdf com tamanho total da área de impressão do body\n const doc = new jsPDF({\n format: [ divMain.width(), divMain.height() - 8 ]\n });\n\n setEditModeState(false);\n // handleClose();\n\n setTimeout(async () => {\n const canvas = await html2canvas(divMain[0]);\n\n setEditModeState(editMode);\n\n const img = canvas.toDataURL(\"image/jpeg\", 0.95);\n\n doc.addImage({\n imageData: img, \n format: 'JPG',\n width: divMain.width(),\n height: divMain.height(),\n compression: 'SLOW'\n });\n\n // Insert links manualmente na mesma posição do html original\n\n const aCabec = $(\"#logo a\")[0];\n const aCabecImg = $(\"#logo a img\");\n const aCabecRect = { \n width: aCabecImg.width(),\n height: aCabecImg.height(),\n ... aCabecImg.offset()\n };\n\n doc.link(aCabecRect.left - divMainOffset.left, aCabecRect.top, aCabecRect.width, aCabecRect.height, { url: aCabec.href, target: aCabec.target });\n\n const leftColYJump = 259;\n let leftColY = -73; // first 'y' position = 186 = leftColY + leftColYJump = 259 - 73\n\n for (let i = 0; i < data.length; i++) {\n\n if (i % 2 == 0) {\n doc.link(101, leftColY + leftColYJump, 267, 247, { url: data[i].link, target: data[i].target });\n }\n else {\n doc.link(381, leftColY += leftColYJump, 268, 247, { url: data[i].link, target: data[i].target });\n }\n }\n\n // Links do rodapé\n\n const linksRodape = $(\".rodape a\");\n\n for (const linkRodape of linksRodape) {\n\n const p = $(linkRodape);\n const linkRect = { \n width: p.width(),\n height: p.height(),\n ... p.offset()\n };\n doc.link(linkRect.left - divMainOffset.left, linkRect.top, linkRect.width, linkRect.height, { url: linkRodape.href, target: linkRodape.target });\n }\n // const aCambio = $(\"#a-cambio\");\n // const aCambioRect = { \n // width: aCambio.width(),\n // height: aCambio.height(),\n // ... aCambio.offset()\n // };\n \n // doc.link(aCambioRect.left - divMainOffset.left, aCambioRect.top, aCambioRect.width, aCambioRect.height, { url: aCambio[0].href });\n \n // Save the PDF\n doc.save(`mala-direta-grupo-${grupo}.pdf`);\n },\n 300\n );\n }\n catch (ex) {\n openSnack(\"error\", `Ocorreu um erro ao gerar o pdf`);\n setEditModeState(editMode);\n }\n finally {\n // setTimeout(() => \n // setEditModeState(editMode)\n // , 1000);\n }\n };\n\n const handleJpg = async () => {\n\n try {\n setEditModeState(false);\n // handleClose();\n // setLoading(true);\n \n const divMain = $(\".main\")[0];\n\n var options = {\n // async: true,\n // // allowTaint: true,\n // // scale: scale,\n // // scrollX: this.opt.scrollX || 0,\n // // scrollY: this.opt.scrollY || 0,\n // scrollX: 0,\n // 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\n // setTimeout(async () => {\n setTimeout(async () => {\n const canvas = await html2canvas(divMain, options);\n \n setEditModeState(editMode);\n\n canvas.toBlob(blob =>\n saveAs(blob, `mala-direta-grupo-${grupo}.jpg`),\n \"image/jpeg\",\n 0.95\n );\n },\n 300\n );\n // },\n // 500\n // );\n\n // canvas.toBlob(\n // (blob) => {\n // /* … */\n // },\n // \"image/jpeg\",\n // 0.95,\n // ); \n }\n catch (ex) {\n openSnack(\"error\", `Ocorreu um erro ao gerar o jpg`);\n setEditModeState(editMode);\n }\n finally {\n // setLoading(false);\n // setTimeout(() => \n // setEditModeState(editMode),\n // 1000\n // );\n }\n };\n \n const clearAddAnimation = (selector) => {\n const nodes = document.querySelectorAll(selector);\n\n nodes.forEach(node => {\n node.classList.remove(`animate__animated`, \"animate__fadeIn\");\n });\n }\n\n const animateCSS = (selector, animation, handleAnimationEnd = null, prefix = 'animate__') =>\n // We create a Promise and return it\n new Promise((resolve, reject) => {\n const animationName = `${prefix}${animation}`;\n const nodes = document.querySelectorAll(selector);\n\n // When the animation ends, we clean the classes and resolve the Promise\n function handleAnimationRemoveClass(event) {\n event.stopPropagation();\n nodes.forEach(node => {\n node.classList.remove(`${prefix}animated`, animationName);\n });\n resolve('Animation ended');\n }\n\n nodes.forEach(node => {\n\n // node.classList.remove(`animate__animated`, \"animate__fadeIn\");\n node.classList.add(`${prefix}animated`, animationName);\n\n if (handleAnimationEnd) {\n node.addEventListener('animationend', handleAnimationEnd, {once: true});\n }\n\n node.addEventListener('animationend', handleAnimationRemoveClass, {once: true});\n }); \n })\n ;\n\n // const animate = (selector, cssAnimate) => {\n // const elements = $(selector);\n\n // elements.removeClass(cssAnimate);\n \n // requestAnimationFrame((time) => {\n // elements.addClass(cssAnimate);\n // });\n // };\n\n // const promo = {\n // link: grupo.LIAM_TX_LINKAMIGAVEL,\n // imgUrl: \"./fuiviagens.com.br_fui-viagens_PaginaDinamica.asp_Grupo=11309&APRES=HOME&otimizador=DINAMICO_files/13257.jpg\",\n // title: grupo.PUBL_TX_TITULO,\n // priceDescription: \"A partir de € 550\",\n // duration: \"7 dias\"\n // };\n \n const rows = [];\n let i = 1;\n\n for (; i <= data.length; i++) {\n\n if (i % 2 == 0) {\n\n rows.push(getRow([data[i - 2], data[i - 1]], editMode));\n \n if (i < data.length) rows.push(
    );\n }\n }\n\n if (i % 2 == 0) rows.push(getRow([data[i - 2]], editMode));\n\n if (firstLoad) {\n setTimeout(() => { \n setFirstLoad(false);\n clearAddAnimation(\"[data-grupo]\");\n },\n 500 \n );\n }\n\n return (\n <>\n { editModeState &&\n
    \n
    \n Grupo:\n setCodigoGrupo(e.target.value)}>\n { !loading && \"Trazer }\n { loading &&
    }\n
    \n {/* */}\n \n \n \n \n {/* */}\n
    \n }\n
    \n
    \n {rows}\n
    \n
    \n
    \n \n \n \n {snack.msg}\n \n \n \n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport '@fontsource/roboto/300.css';\nimport '@fontsource/roboto/400.css';\nimport '@fontsource/roboto/500.css';\nimport '@fontsource/roboto/700.css';\n\nconst malaDireta = window[\"gbMalaDireta\"];\n\n// const gruposOrdem = malaDireta.gruposOrdem.map((g, i) => new { grupo: g, index: i });\n// const promosOrdered = malaDireta.promos.sort(p => gruposOrdem.find(g => g.grupo == p.grupo).index);\n\nconst promosOrdered = malaDireta.promos.map(p => { return {\n index: malaDireta.gruposOrdem.findIndex(g => g == p.grupo),\n promo: p\n }})\n .sort((a, b) => a.index - b.index)\n .map(p => p.promo)\n;\n\n// const promos = [\n// {\n// grupo: 1,\n// link: \"https://www.fuiviagens.com.br/cidades-imperiais\",\n// imgUrl: \"./fuiviagens.com.br_fui-viagens_PaginaDinamica.asp_Grupo=11309&APRES=HOME&otimizador=DINAMICO_files/10395.jpg\",\n// title: \"Cidades Imperiais a partir de Casablanca\",\n// priceDescription: \"A partir de € 715\",\n// duration: \"8 dias\"\n// },\n// {\n// grupo: 2,\n// link: \"https://www.fuiviagens.com.br/circuito-saariano\",\n// imgUrl: \"./fuiviagens.com.br_fui-viagens_PaginaDinamica.asp_Grupo=11309&APRES=HOME&otimizador=DINAMICO_files/13257.jpg\",\n// title: \"Circuito Saariano\",\n// priceDescription: \"A partir de € 550\",\n// duration: \"7 dias\"\n// },\n// {\n// grupo: 3,\n// link: \"https://www.fuiviagens.com.br/circuito-saariano-express\",\n// imgUrl: \"./fuiviagens.com.br_fui-viagens_PaginaDinamica.asp_Grupo=11309&APRES=HOME&otimizador=DINAMICO_files/13259.jpg\",\n// title: \"Circuito Saariano Express\",\n// priceDescription: \"A partir de € 495\",\n// duration: \"5 dias\"\n// }\n// ];\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n // \n \n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"names":["b","a","autoBom","console","warn","test","type","Blob","c","d","XMLHttpRequest","open","responseType","onload","g","response","onerror","error","send","status","e","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","window","f","self","global","navigator","userAgent","saveAs","HTMLAnchorElement","prototype","h","i","URL","webkitURL","j","createElement","name","download","rel","href","origin","location","target","createObjectURL","setTimeout","revokeObjectURL","msSaveOrOpenBlob","title","body","innerText","HTMLElement","safari","FileReader","k","onloadend","result","replace","readAsDataURL","l","m","module","exports","reactIs","require","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","length","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","key","descriptor","Symbol","for","n","p","q","r","t","v","w","x","y","z","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","extendStatics","setPrototypeOf","__proto__","Array","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","s","apply","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","rejected","done","then","__generator","_","label","sent","trys","ops","verb","iterator","op","pop","push","__spreadArray","to","from","pack","ar","slice","Bounds","left","top","width","height","add","fromClientRect","context","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","find","rect","EMPTY","parseBounds","node","getBoundingClientRect","parseDocumentSize","documentElement","Error","Math","max","scrollWidth","offsetWidth","clientWidth","scrollHeight","offsetHeight","clientHeight","toCodePoints$1","str","codePoints","charCodeAt","extra","fromCodePoint$1","_i","fromCodePoint","codeUnits","index","codePoint","fromCharCode","chars$2","lookup$2","Uint8Array","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","len","buffer","ArrayBuffer","bytes","isArray","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_MASK$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","start","end","Uint16Array","slice32$1","Uint32Array","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","data","ceil","Trie$1","Trie","initialValue","errorValue","highStart","highValueIndex","get","ix","chars$3","lookup$3","i$3","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","forEach","classType","indexOf","prev","isAdjacentWithSpaceIgnored","currentIndex","classTypes","current","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","before","prevIndex","count","cssFormattedClasses","options","wordBreak","_a","isLetterNumber","map","forbiddenBreakpoints","letterNumber","undefined","Break","required","LineBreaker","lastEnd","nextIndex","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","E","F","U","Z","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c1","c2","isIdentifierStart","c3","isNumberStart","stringToNumber","sign","integers","int","parseInt","fraction","fracd","frac","expsign","exponent","exp","pow","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","_value","write","chunk","read","tokens","token","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","flags","consumeName","reconsumeCodePoint","consumeNumericToken","e1","e2","e3","consumeIdentLikeToken","a1","a2","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","shift","unshift","delta","digits","questionMarks","digit","endDigits","toLowerCase","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","SLICE_STACK_SIZE","amount","min","splice","endingCodePoint","consumeNumber","repr","number","unit","hex","hexCodePoint","Parser","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","values","consumeSimpleBlock","consumeFunction","block","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","args","arg","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","parent","DEG","GRAD","RAD","TURN","angle","parse","_context","PI","isAngle","parseNamedSide","filter","ident","join","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","substring","namedColor","COLORS","toUpperCase","TRANSPARENT","isTransparent","color","asString","alpha","blue","green","red","round","getTokenColorValue","rgb","_b","hue2rgb","t1","t2","hue","hsl","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","prefix","backgroundColor","format","parseColorStop","stop","processColorStops","stops","lineLength","first","last","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","gapValue","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","abs","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","sqrt","findCorner","closest","reduce","stat","cx","cy","optimumDistance","optimumCorner","Infinity","calculateRadius","gradient","rx","ry","size","shape","prefixLinearGradient","angle$1","firstToken","colorStop","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","prefixRadialGradient","position","isColorStop","acc","isLinearGradient","background","isRadialGradient","image","image_1","url","cache","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","isAtPosition_1","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","style","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","direction","display","bit","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","fontSize","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflow","overflowWrap","paddingForSide","paddingTop","paddingRight","paddingBottom","paddingLeft","textAlign","textShadow","shadow","offsetX","offsetY","blur","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","auto","order","time","opacity","textDecorationColor","textDecorationLine","line","fontFamily","accumulator","results","toString","fontWeight","fontVariant","fontStyle","contains","content","counterIncrement","increments","filtered","counter","increment","counterReset","resets","reset","duration","quotes","open_1","close_1","close","getQuote","depth","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","overflowX","overflowY","textDecoration","transform","isVisible","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","element","getAttribute","isDebugging","elementType","ElementContainer","textNodes","elements","styles","getComputedStyle","isHTMLElementNode","some","bounds","chars$1","lookup$1","i$1","decode","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_MASK","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","lookup","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","L","V","T","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","createRange","range","testElement","appendChild","selectNode","rangeBounds","rangeHeight","removeChild","testIOSLineBreak","wordSpacing","innerHTML","repeat","firstChild","textList","offset","supports","every","text","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","testSVG","img","canvas","ctx","getContext","src","drawImage","toDataURL","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","getImageData","catch","xmlns","createElementNS","foreignObject","setAttributeNS","encodeURIComponent","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","SUPPORT_WORD_BREAKING","SUPPORT_SVG_DRAWING","SUPPORT_FOREIGNOBJECT_DRAWING","fetch","SUPPORT_CORS_IMAGES","SUPPORT_RESPONSE_TYPE","SUPPORT_CORS_XHR","SUPPORT_NATIVE_TEXT_SEGMENTATION","Intl","Segmenter","TextBounds","parseTextBounds","breakText","textBounds","trim","clientRects","getClientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","ownerDocument","wrapper","cloneNode","parentNode","replaceChild","segmenter","granularity","segment","segmentWords","breakWords","wordSeparators","words","word_1","TextContainer","CAPITALIZE","capitalize","p1","p2","ImageElementContainer","_super","_this","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","setAttribute","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","placeholder","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","input","checked","SelectElementContainer","option","selectedIndex","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","root","childNode","nextNode","nextSibling","isTextNode","isElementNode","isSlotElement","assignedNodes","container","createContainer","createsRealStackingContext","createsStackingContext","tagName","slot","shadowRoot","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","nodeType","Node","TEXT_NODE","ELEMENT_NODE","isSVGElementNode","className","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","isCustomElement","CounterState","counters","getCounterValue","getCounterValues","canReset","entry","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","fallback","suffix","createCounterText","string","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","floor","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","tmp","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","scrolledElements","referenceElement","quoteDepth","toIFrame","windowSize","createIFrameContainer","scrollX","defaultView","pageXOffset","scrollY","pageYOffset","cloneWindow","documentClone","iframeLoad","iframeLoader","restoreNodeScroll","scrollTo","logger","onclone","clonedReferenceElement","nodeName","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","clone","srcset","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","css","rule","cssText","textContent","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","child","copyStyles","hasAttribute","ignoreElements","cloneChildNodes","assignedNode","createTextNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","insertBefore","after","AFTER","scrollTop","scrollLeft","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","destroy","CORNER","cloneIframeContainer","border","scrolling","imageReady","complete","all","images","interval","setInterval","childNodes","readyState","clearInterval","ignoredStyleProperties","property","item","setProperty","getPropertyValue","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","getOrigin","link","_link","protocol","hostname","port","isSameOrigin","_origin","setContext","Cache","_options","_cache","has","isBlobImage","isRenderable","loadImage","match","useCORS","isInlineImage","useProxy","proxy","debug","isInlineBase64Image","imageTimeout","xhr","reader_1","addEventListener","queryString","timeout_1","timeout","ontimeout","INLINE_SVG","INLINE_BASE64","INLINE_IMG","isSVG","substr","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","ab","bc","cd","abbc","bccd","dest","reverse","isBezierCurve","path","BoundCurves","tlh","tlv","trh","trv","_c","brh","brv","_d","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","effect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","effects","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","order_1","index_1","index_2","processListItems","owner","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","AUTO","hasIntrinsicValue","intrinsicProportion","second","hasIntrinsicProportion","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_data","_document","parseMetrics","span","margin","padding","whiteSpace","verticalAlign","baseline","offsetTop","middle","getMetrics","Renderer","MASK_OFFSET","CanvasRenderer","_activeEffects","scale","fontMetrics","translate","textBaseline","applyEffects","popEffect","applyEffect","save","globalAlpha","clip","restore","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","fillText","letter","measureText","createFontStyle","variant","fixIOSSystemFonts","renderTextNode","font","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","renderReplacedElement","box","fill","beginPath","arc","isTextInputElement","canvasTextAlign","_p","_e","_g","_f","_j","_h","_l","_k","_o","_m","mask","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","renderRepeat","pattern","resizeImage","renderBackgroundImage","this_1","createPattern","x0","x1","y0","y1","gradient_1","createLinearGradient","addColorStop","top_1","radialGradient_1","createRadialGradient","midX","midY","invF","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","borders_1","renderDashedDottedBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","setLineDash","lineCap","stroke","path1","path2","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","id","enabled","Date","now","getTime","instances","Context","instanceName","instanceCount","logging","html2canvas","renderElement","opts","resourceOptions","contextOptions","windowOptions","windowWidth","innerWidth","windowHeight","innerHeight","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","_u","parseBackgroundColor","renderOptions","devicePixelRatio","_q","_r","_s","_t","removeContainer","backgroundColorOverride","defaultBackgroundColor","factory","noGlobal","arr","getProto","flat","array","class2type","hasOwn","fnToString","ObjectFunctionString","support","isFunction","obj","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","code","doc","val","script","head","toType","version","rhtmlSuffix","jQuery","selector","fn","init","isArrayLike","elem","jquery","toArray","num","pushStack","elems","ret","merge","prevObject","each","callback","eq","even","grep","_elem","odd","sort","extend","copy","copyIsArray","deep","isPlainObject","expando","random","isReady","msg","noop","proto","Ctor","isEmptyObject","globalEval","nodeValue","makeArray","inArray","isXMLDoc","namespace","namespaceURI","docElem","invert","matches","callbackExpect","guid","split","whitespace","rtrimCSS","RegExp","bup","compareDocumentPosition","rcssescape","fcssescape","ch","asCodePoint","escapeSelector","sel","preferredDoc","pushNative","Expr","outermostContext","sortInput","hasDuplicate","documentIsHTML","rbuggyQSA","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","booleans","identifier","attributes","pseudos","rwhitespace","rcomma","rleadingCombinator","rdescend","rpseudo","ridentifier","matchExpr","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","unloadHandler","setDocument","inDisabledFieldset","addCombinator","disabled","dir","els","seed","nid","groups","newSelector","newContext","exec","getElementById","getElementsByTagName","getElementsByClassName","testContext","scope","tokenize","toSelector","querySelectorAll","qsaError","removeAttribute","select","cacheLength","markFunction","assert","el","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","subWindow","webkitMatchesSelector","msMatchesSelector","getById","getElementsByName","disconnectedMatch","cssHas","querySelector","attrId","getAttributeNode","tag","sortDetached","expr","matchesSelector","attrHandle","uniqueSort","duplicates","sortStable","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","expectedNodeName","operator","check","what","_argument","simple","forward","ofType","xml","outerCache","nodeIndex","useCache","diff","lastChild","pseudo","setFilters","idx","matched","not","matcher","compile","unmatched","lang","elemLang","hash","focus","activeElement","err","safeActiveElement","hasFocus","tabIndex","selected","empty","header","button","_matchIndexes","lt","gt","nth","radio","checkbox","file","password","submit","parseOnly","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","matcherOut","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","compiled","filters","unique","getText","isXML","selectors","until","truncate","is","siblings","rneedsContext","rsingleTag","winnow","qualifier","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","contents","sibling","cur","targets","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","rnothtmlwhite","Identity","Thrower","ex","adoptValue","noValue","method","promise","fail","Callbacks","object","flag","createOptions","firing","memory","fired","locked","list","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","pipe","fns","newDefer","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","handler","special","that","mightThrow","notifyWith","resolveWith","process","exceptionHook","rejectWith","getErrorHook","getStackHook","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","asyncError","message","readyException","readyList","completed","removeEventListener","readyWait","wait","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","camelCase","acceptData","Data","uid","configurable","set","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","getData","removeData","_removeData","attrs","dequeue","startLength","hooks","_queueHooks","setter","clearQueue","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","adjustCSS","valueParts","tween","adjusted","maxIterations","currentValue","initial","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","show","hide","toggle","rcheckableType","rtagName","rscriptType","div","createDocumentFragment","checkClone","noCloneChecked","defaultValue","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","rhtml","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","rtypenamespace","returnTrue","returnFalse","on","one","origFn","event","off","leverageNative","isSetup","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","isImmediatePropagationStopped","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","charCode","keyCode","buttons","clientX","clientY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","focusMappedHandler","documentMode","simulate","attaches","dataHolder","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","replaceWith","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","rcustomProp","getStyles","opener","swap","old","rboxStyle","curCSS","computed","minWidth","maxWidth","isCustomProp","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","right","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","measure","parseFloat","reliableTrDimensionsVal","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","cssShow","cssNormalTransform","setPositiveNumber","subtract","boxModelAdjustment","dimension","isBorderBox","computedVal","marginDelta","getWidthOrHeight","valueIsBorderBox","offsetProp","Tween","easing","cssHooks","animationIterationCount","aspectRatio","borderImageSlice","columnCount","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","orphans","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","origName","isFinite","scrollboxSizeBuggy","expand","expanded","parts","propHooks","run","percent","eased","pos","fx","linear","swing","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","timer","anim","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","prefilter","speed","opt","speeds","fadeTo","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","addClass","classNames","curValue","finalValue","removeClass","toggleClass","stateVal","isValidValue","hasClass","rreturn","valHooks","optionSet","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","triggerHandler","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","isLocal","processData","async","contentType","accepts","json","responseFields","converters","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","nativeStatusText","responses","isSuccess","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhrSuccessStatus","xhrSupported","cors","errorCallback","username","xhrFields","onabort","onreadystatechange","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","win","offsetParent","parentOffset","Height","Width","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","rtrim","holdReady","hold","parseJSON","isNaN","_jQuery","_$","$","noConflict","aa","ca","da","Set","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","ra","sa","ta","pa","qa","oa","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","prepareStackTrace","Reflect","construct","includes","Pa","Qa","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","getValue","setValue","stopTracking","Ua","Wa","Xa","Ya","defaultChecked","_wrapperState","initialChecked","Za","controlled","bb","cb","db","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","nb","valueOf","MSApp","execUnsafeLocalFunction","ob","pb","borderImageOutset","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columns","flex","flexPositive","flexNegative","flexOrder","gridRowSpan","gridColumnSpan","lineClamp","tabSize","strokeDasharray","strokeDashoffset","strokeWidth","qb","rb","sb","charAt","tb","menuitem","area","br","embed","hr","keygen","meta","track","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","Wb","memoizedState","dehydrated","Xb","Zb","Yb","$b","ac","unstable_scheduleCallback","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","Tc","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","Zc","$c","ad","bd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","jd","kd","ld","md","nd","od","pd","qd","rd","_reactName","_targetInst","cancelBubble","persist","isPersistent","wd","xd","yd","sd","isTrusted","ud","vd","Ad","getModifierState","zd","fromElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Meta","Shift","Pd","Qd","locale","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","Xd","Yd","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","search","tel","week","me","ne","oe","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","Me","HTMLIFrameElement","Ne","contentEditable","Oe","focusedElem","selectionRange","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","removeAllRanges","addRange","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","pf","qf","rf","sf","capture","passive","J","tf","uf","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","bh","eventTime","lane","payload","dh","K","eh","fh","gh","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","digest","Li","Mi","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","autoFocus","Hj","Ij","Jj","Kj","Lj","WeakSet","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","ck","dk","ek","fk","isHidden","gk","hk","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","nk","ok","pk","Y","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","fl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","stringify","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","__self","__source","jsx","jsxs","setState","forceUpdate","_status","_result","default","Children","only","PureComponent","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","sortIndex","performance","setImmediate","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","bigint","symbol","any","arrayOf","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","_arrayLikeToArray","arr2","_assertThisInitialized","ReferenceError","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_classCallCheck","Constructor","_defineProperties","_createClass","protoProps","staticProps","_createForOfIteratorHelper","o","allowArrayLike","it","normalCompletion","didErr","_e2","_defineProperty","_regeneratorRuntime","asyncIterator","toStringTag","define","Generator","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","maybeInvokeDelegate","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","mark","awrap","rval","delegateYield","_setPrototypeOf","_slicedToArray","unsupportedIterableToArray","_toConsumableArray","arrayLikeToArray","iter","_toPropertyKey","hint","prim","toPrimitive","res","Number","_typeof","_unsupportedIterableToArray","minLen","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__esModule","leafPrototypes","ns","def","definition","chunkId","promises","miniCssF","globalThis","Function","dataWebpackPrefix","needAttach","nc","onScriptComplete","doneFns","installedChunks","installedChunkData","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","runtime","chunkLoadingGlobal","ownKeys","_objectSpread2","getOwnPropertyDescriptors","defineProperties","excluded","sourceKeys","composeClasses","slots","getUtilityClass","classes","output","utilityClass","appendOwnerState","otherProps","ownerState","_extends","formatMuiErrorMessage","clamp","decomposeColor","colors","hexToRgb","marker","_formatMuiErrorMessage","colorSpace","recomposeColor","getLuminance","hslToRgb","toFixed","darken","lighten","memoize","reactPropsRegex","isPropValid","StyleSheet","_insertTag","tags","insertionPoint","isSpeedy","speedy","ctr","_proto","createStyleElement","styleSheets","ownerNode","sheetForTag","insertRule","flush","replacement","indexof","charat","begin","strlen","sizeof","column","character","characters","peek","caret","alloc","dealloc","delimit","delimiter","escaping","commenter","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","KEYFRAMES","rules","rulesets","points","declarations","atrule","variable","scanning","ampersand","reference","comment","ruleset","post","identifierWithPointTracking","getRules","toRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","combine","ssrStyles","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","middleware","serialized","shouldCache","stylis","registered","unitlessKeys","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","cursor","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","interpolated","createStringFromObject","previousCursor","labelPattern","serializeStyles","stringMode","strings","lastIndex","identifierName","hashString","React","useInsertionEffectAlwaysWithSyncFallback","EmotionCacheContext","withEmotionCache","ThemeContext","registerStyles","isStringTag","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","__emotion_forwardProp","Insertion","_ref","insertStyles","newStyled","createStyled","targetClassName","__emotion_real","baseTag","__emotion_base","defaultShouldForwardProp","shouldUseAs","Styled","FinalTag","as","classInterpolations","theme","registeredStyles","rawClassName","getRegisteredStyles","finalShouldForwardProp","newProps","withComponent","nextTag","nextOptions","deepClone","deepmerge","_excluded","sortBreakpointsValues","breakpointsAsArray","breakpoint1","breakpoint2","borderRadius","xs","sm","xl","defaultBreakpoints","up","handleBreakpoints","propValue","styleFromPropValue","themeBreakpoints","breakpoints","breakpoint","cssKey","createEmptyBreakpointObject","_breakpointsInput$key","breakpointsInput","removeUnusedBreakpoints","breakpointKeys","breakpointOutput","getPath","checkVars","vars","getStyleValue","themeMapping","propValueFinal","userValue","_options$cssProperty","cssProperty","themeKey","filterProps","directions","aliases","marginX","marginY","paddingX","paddingY","getCssProperties","_prop$split","_prop$split2","marginKeys","paddingKeys","spacingKeys","createUnaryUnit","_getPath","themeSpacing","createUnarySpacing","transformer","transformed","resolveCssProperty","cssProperties","getStyleFromPropValue","spacing","_len","borderTransform","borderTop","borderRight","borderBottom","borderLeft","borderColor","compose","gap","columnGap","rowGap","paletteTransform","sizingTransform","_props$theme","_props$theme2","breakpointsValues","maxHeight","minHeight","bgcolor","pt","pr","px","py","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd","mt","mr","mx","my","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd","displayPrint","textOverflow","flexBasis","flexDirection","flexWrap","justifyContent","alignItems","alignContent","alignSelf","justifyItems","justifySelf","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","bottom","boxSizing","typography","styleFunctionSx","getThemeValue","config","_props","_theme$unstable_sxCon","_ref4","sx","_ref4$theme","unstable_sxConfig","defaultSxConfig","traverse","sxInput","sxObject","emptyBreakpoints","breakpointsKeys","styleKey","maybeFn","objects","allKeys","union","objectsHaveSameKeys","unstable_createStyleFunctionSx","_options$breakpoints","_options$palette","palette","paletteInput","spacingInput","_options$shape","shapeInput","other","_objectWithoutPropertiesLoose","_breakpoints$values","_breakpoints$unit","_breakpoints$step","sortedValues","down","between","endIndex","keyIndex","createBreakpoints","mui","argsInput","createSpacing","muiTheme","components","unstable_sx","isEmpty","propsToClassKey","classKey","systemDefaultTheme","createTheme","resolveTheme","defaultTheme","themeId","createMixins","_toolbar","toolbar","black","white","A100","A200","A400","A700","light","secondary","divider","paper","common","hoverOpacity","selectedOpacity","disabledBackground","disabledOpacity","focusOpacity","activatedOpacity","dark","icon","addLightOrDark","intent","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","main","createPalette","_palette$mode","_palette$contrastThre","contrastThreshold","_palette$tonalOffset","getDefaultPrimary","purple","getDefaultSecondary","getDefaultError","lightBlue","getDefaultInfo","getDefaultSuccess","warning","orange","getDefaultWarning","getContrastText","contrastText","foreground","lumA","lumB","getContrastRatio","augmentColor","_ref$mainShade","mainShade","_ref$lightShade","lightShade","_ref$darkShade","darkShade","modes","grey","caseAllCaps","defaultFontFamily","createTypography","_ref$fontFamily","_ref$fontSize","_ref$fontWeightLight","fontWeightLight","_ref$fontWeightRegula","fontWeightRegular","_ref$fontWeightMedium","fontWeightMedium","_ref$fontWeightBold","fontWeightBold","_ref$htmlFontSize","htmlFontSize","allVariants","pxToRem2","pxToRem","coef","buildVariant","casing","variants","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","overline","inherit","createShadow","easeInOut","easeOut","easeIn","sharp","shortest","shorter","short","standard","complex","enteringScreen","leavingScreen","formatMs","milliseconds","getAutoHeightDuration","constant","createTransitions","inputTransitions","mergedEasing","mergedDuration","_options$duration","durationOption","_options$easing","easingOption","_options$delay","animatedProp","mobileStepper","fab","speedDial","appBar","drawer","modal","snackbar","tooltip","_options$mixins","mixinsInput","_options$transitions","transitionsInput","_options$typography","typographyInput","systemTheme","systemCreateTheme","shadows","styled","_input$defaultTheme","_input$rootShouldForw","rootShouldForwardProp","_input$slotShouldForw","slotShouldForwardProp","systemSx","__mui_systemSx","inputOptions","processor","processStyles","componentSlot","inputSkipVariantsResolver","skipVariantsResolver","inputSkipSx","skipSx","_inputOptions$overrid","overridesResolver","shouldForwardPropOption","defaultStyledResolver","emStyled","styledEngineStyled","muiStyledResolver","styleArg","expressions","expressionsWithDefaultTheme","stylesArg","transformedStyleArg","styleOverrides","getStyleOverrides","resolvedStyleOverrides","entries","_ref2","_ref3","slotKey","slotStyle","_theme$components","_props$ownerState","variantsStyles","themeVariants","themeVariant","isMatch","variantsResolver","getVariantStyles","numOfCustomFnsApplied","placeholders","muiName","withConfig","THEME_ID","contextTheme","useThemeWithoutDefault","useTheme","useThemeSystem","resolveProps","defaultSlotProps","slotProps","slotPropName","getThemeProps","useThemeProps","systemUseThemeProps","_inheritsLoose","subClass","superClass","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","initialStatus","appear","isMounting","enter","appearStatus","in","unmountOnExit","mountOnEnter","nextCallback","prevState","updateStatus","prevProps","nextStatus","cancelNextCallback","getTimeouts","exit","mounting","nodeRef","ReactDOM","forceReflow","performEnter","performExit","_this2","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","onExited","cancel","nextState","setNextCallback","_this4","doesNotHaveTimeoutOrListener","addEndListener","maybeNextCallback","_this$props","childProps","TransitionGroupContext","getTransitionProps","_style$transitionDura","_style$transitionTimi","_props$style","transitionDuration","transitionTimingFunction","transitionDelay","setRef","useForkRef","getScale","entering","entered","isWebKit154","Grow","_props$appear","inProp","_props$timeout","_props$TransitionComp","TransitionComponent","autoTimeout","handleRef","normalizedTransitionCallback","maybeIsAppearing","handleEntering","handleEnter","isAppearing","reflow","_getTransitionProps","handleEntered","handleExiting","handleExit","_getTransitionProps2","handleExited","_jsx","muiSupportAuto","getWindow","isShadowRoot","ShadowRoot","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","scaleX","scaleY","visualViewport","addVisualOffsets","offsetLeft","getWindowScroll","getNodeName","getDocumentElement","getWindowScrollBarX","isScrollParent","_getComputedStyle","getCompositeRect","elementOrVirtualElement","isFixed","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","scroll","offsets","getNodeScroll","clientLeft","clientTop","getLayoutRect","getParentNode","assignedSlot","getScrollParent","listScrollParents","_element$ownerDocumen","scrollParent","isBody","updatedList","isTableElement","getTrueOffsetParent","getOffsetParent","isFirefox","currentNode","perspective","contain","willChange","getContainingBlock","basePlacements","clippingParents","viewport","popper","variationPlacements","placement","placements","modifierPhases","modifiers","visited","modifier","requires","requiresIfExists","dep","depModifier","debounce","DEFAULT_OPTIONS","strategy","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","orderedModifiers","modifiersData","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","scrollParents","contextElement","phase","orderModifiers","merged","existing","mergeByName","_ref$options","cleanupFn","noopFn","update","_state$elements","rects","_state$orderedModifie","_state$orderedModifie2","onFirstUpdate","_options$scroll","_options$resize","resize","getBasePlacement","getVariation","getMainAxisFromPlacement","computeOffsets","basePlacement","variation","commonX","commonY","mainAxis","unsetSides","mapToStyles","_Object$assign2","popperRect","gpuAcceleration","adaptive","roundOffsets","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","_Object$assign","commonStyles","dpr","roundOffsetsByDPR","initialStyles","arrow","attribute","_options$offset","invertDistance","skidding","distanceAndSkiddingToXY","_data$state$placement","popperOffsets","getOppositePlacement","getOppositeVariationPlacement","rootNode","isSameNode","rectToClientRect","getClientRectFromMixedType","clippingParent","layoutViewport","getViewportRect","getInnerBoundingClientRect","winScroll","getDocumentRect","getClippingRect","boundary","rootBoundary","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","mergePaddingObject","paddingObject","expandToHashMap","hashMap","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","axis","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","flipVariations","allowedAutoPlacements","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","_options$allowedAutoP","allPlacements","allowedPlacements","overflows","computeAutoPlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","_loop","fittingPlacement","within","mathMax","mathMin","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","maxLen","arrowElement","arrowRect","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","arrowOffsetParent","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","withinMaxClamp","_state$modifiersData$","toPaddingObject","minProp","maxProp","endDiff","startDiff","clientSize","centerToReference","center","axisProp","centerOffset","_options$element","getSideOffsets","preventedOffsets","isAnySideFullyClipped","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","createPopper","eventListeners","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","applyStyles","flip","forwardedRef","_props$disablePortal","disablePortal","_React$useState","_React$useState2","mountNode","setMountNode","useEnhancedEffect","getContainer","defaultGenerator","generate","configure","createClassNameGenerator","globalStateClassesMapping","focused","focusVisible","readOnly","generateUtilityClass","globalStatePrefix","globalStateClass","ClassNameGenerator","generateUtilityClasses","getPopperUtilityClass","extractEventHandlers","excludeKeys","omitEventHandlers","useSlotProps","parameters","_parameters$additiona","externalSlotProps","_parameters$skipResol","skipResolvingSlotProps","rest","resolvedComponentsProps","componentProps","slotState","resolveComponentProps","_mergeSlotProps","getSlotProps","additionalProps","externalForwardedProps","joinedClasses","clsx","mergedStyle","internalRef","eventHandlers","componentsPropsWithoutEventHandlers","otherPropsWithoutEventHandlers","internalSlotProps","mergeSlotProps","defaultContextValue","disableDefaultClasses","ClassNameConfiguratorContext","_excluded2","resolveAnchorEl","anchorEl","useUtilityClasses","useClassNamesOverride","defaultPopperOptions","PopperTooltip","_slots$root","initialPlacement","popperOptions","popperRefProp","popperRef","_props$slotProps","_props$slots","TransitionProps","tooltipRef","ownRef","handlePopperRef","handlePopperRefRef","rtlPlacement","flipPlacement","setPlacement","_React$useState3","_React$useState4","resolvedAnchorElement","setResolvedAnchorElement","popperModifiers","Root","rootProps","role","Popper","containerProp","_props$direction","_props$keepMounted","keepMounted","_props$placement","_props$popperOptions","_props$transition","_props$slotProps2","_props$slots2","_React$useState5","_React$useState6","exited","setExited","resolvedAnchorEl","transitionProps","PopperRoot","BasePopper","inProps","componentsProps","RootComponent","globalId","maybeReactUseId","hadFocusVisibleRecentlyTimeout","idOverride","reactId","defaultId","setDefaultId","useGlobalId","hadKeyboardEvent","hadFocusVisibleRecently","inputTypesWhitelist","handleKeyDown","handlePointerDown","handleVisibilityChange","visibilityState","isFocusVisible","isContentEditable","focusTriggersKeyboardModality","isFocusVisibleRef","onFocus","onBlur","defaultProp","isControlled","valueState","newValue","getTooltipUtilityClass","TooltipPopper","disableInteractive","popperInteractive","popperArrow","popperClose","_ref9","_ref10","pointerEvents","tooltipClasses","isRtl","TooltipTooltip","touch","tooltipArrow","_ref11","_extends2","Tooltip","wordWrap","TooltipArrow","_ref12","hystersisOpen","hystersisTimer","cursorPosition","composeEventHandler","eventHandler","_slots$popper","_slots$transition","_slots$tooltip","_slots$arrow","_slotProps$popper","_ref6","_slotProps$popper2","_slotProps$transition","_slotProps$tooltip","_ref7","_slotProps$tooltip2","_slotProps$arrow","_ref8","_slotProps$arrow2","_props$arrow","childrenProp","_props$components","_props$componentsProp","_props$describeChild","describeChild","_props$disableFocusLi","disableFocusListener","_props$disableHoverLi","disableHoverListener","_props$disableInterac","disableInteractiveProp","_props$disableTouchLi","disableTouchListener","_props$enterDelay","enterDelay","_props$enterNextDelay","enterNextDelay","_props$enterTouchDela","enterTouchDelay","_props$followCursor","followCursor","idProp","_props$leaveDelay","leaveDelay","_props$leaveTouchDela","leaveTouchDelay","onClose","onOpen","openProp","PopperComponentProp","PopperComponent","_props$PopperProps","PopperProps","TransitionComponentProp","setChildNode","arrowRef","setArrowRef","ignoreNonTouchEvents","closeTimer","enterTimer","leaveTimer","touchTimer","_useControlled","useControlled","_useControlled2","openState","setOpenState","prevUserSelect","stopTouchInteraction","WebkitUserSelect","handleOpen","handleClose","useEventCallback","handleLeave","_useIsFocusVisible","useIsFocusVisible","handleBlurVisible","handleFocusVisible","focusVisibleRef","setChildIsFocusVisible","handleBlur","handleFocus","detectTouchStart","childrenProps","onTouchStart","handleMouseOver","handleMouseLeave","nameOrDescProps","titleIsString","onMouseMove","interactiveWrapperListeners","onTouchEnd","onMouseOver","onMouseLeave","_PopperProps$popperOp","tooltipModifiers","Boolean","TooltipComponent","ArrowComponent","Arrow","popperProps","tooltipProps","tooltipArrowProps","_jsxs","_ref13","TransitionPropsInner","childs","grupo","imgUrl","imgAlt","showTooltip","alt","_Fragment","enumerableOnly","sym","_arrayWithHoles","_arr","_n","_iterableToArrayLimit","_nonIterableRest","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","MutationObserver","_familyProxy","_familyProxy2","_familyProxy3","_familyProxy4","_familyProxy5","_ref$userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","IS_IE","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_CSS_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PRODUCTION","FAMILY_CLASSIC","FAMILY_SHARP","FAMILIES","familyProxy","Proxy","PREFIX_TO_STYLE","STYLE_TO_PREFIX","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","prefixes","RESERVED_CLASSES","FontAwesomeConfig","coerce","getAttrConfig","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","_onChangeCb","meaninglessTransform","rotate","flipX","flipY","idPool","nextUniqueId","classArray","classList","htmlEscape","joinStyles","transformIsMeaningful","baseStyles","dcp","drc","fp","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","headChildren","beforeChild","insertCss","InjectCSS","mixout","dom","beforeDOMElementCreation","beforeI2svg","shims","functions","loaded","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","joinAttributes","iconFromMapping","mapping","iconName","subject","thisContext","bindInternal4","toHex","unicode","decoded","ucs2decode","normalizeIcons","icons","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","_LONG_STYLE","_PREFIXES","_PREFIXES_FOR_FAMILY","LONG_STYLE","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","getIconName","cls","build","reducer","alias","hasRegular","autoFetchSvg","shimLookups","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","emptyCanonicalIcon","styleOrPrefix","_params$family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","_famProps","_params$skipLookups","skipLookups","famProps","givenPrefix","canonical","aliasIconName","Library","definitions","additions","_pullDefinitions","longPrefix","_normalized$key","_plugins","_hooks","providers","defaultProviderKeys","chainHooks","callHooks","_len2","_key2","callProvided","findIconDefinition","iconLookup","library","i2svg","watch","autoReplaceSvgRoot","autoReplace","api","noAuto","_icon","canonicalIcon","_prefix","_params$autoReplaceSv","domVariants","abstractCreator","abstract","makeInlineSvgAbstract","_params$icons","maskId","titleId","_params$watchable","watchable","found","isUploadedIcon","attrClass","uploadedIconWidthStyle","asSymbol","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","transformForCss","styleString","class","styles$1","asFoundIcon","vectorData","missingIconResolutionMixin","findIcon","maybeNotifyMissing","noop$1","preamble","perf","noop$2","isWatched","convertSVG","abstractObj","_params$ceFn","ceFn","mutators","mutation","_abstract","createComment","outerHTML","nodeAsComment","nest","_abstract2","forSvg","splitClasses","toSvg","toNode","newInnerHTML","performOperationSync","perform","mutations","callbackFunction","frame","mutator","disableObservation","enableObservation","mo","observe","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","defaultPrefix","mutationRecord","addedNodes","hasPrefixAndIcon","_getCanonicalIcon","hasBeenReplaced","childList","characterData","subtree","classParser","existingPrefix","existingIconName","ligature","byLigature","parseMeta","styleParser","_classParser","extraClasses","extraAttributes","attributesParser","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","htmlClassList","hclAdd","hclRemove","prefixesDomQuery","candidates","resolvedMutations","onNode","resolveIcons","maybeIconDefinition","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","ReplaceElements","mutationObserverCallbacks","provides","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","nextChild","containerWidth","iconWidth","Layers","layer","assembler","LayersCounter","makeLayersCounterAbstract","LayersText","generateLayersText","computedFontSize","boundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","replaceForPosition","pendingAttribute","alreadyProcessedPseudoElement","_content","_hexValueFromContent","cleaned","codePointAt","isPrependTen","isDoubled","isSecondary","hexValueFromContent","hexValue","isV4","startsWith","iconIdentifier","iconName4","oldUnicode","newUnicode","byOldUnicode","processable","operations","PseudoElements","pseudoElements2svg","_unwatched","parseTransformString","transformString","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","outer","innerTranslate","innerScale","innerRotate","inner","ALL_SPACE","fillBlack","force","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","MissingIconIndicator","reduceMotion","matchMedia","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","plugins","unwatch","bootstrap","disconnect","symbolData","nextPlugins","mixoutsTo","plugin","registerPlugins","parse$1","_objectWithoutProperties","sourceSymbolKeys","propertyIsEnumerable","camelize","chr","normalizeIconArgs","objectWithKey","FontAwesomeIcon","iconArgs","maskArgs","_classes","beat","fade","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","inverse","listItem","rotation","pull","swapOpacity","renderedIcon","_console","extraProps","convertCurry","convert","pair","styleToObject","_extraProps$style","existingStyle","faHandPointer","priceDescription","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isNumber","isObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","_ref$allOwnKeys","allOwnKeys","findKey","_global","isContextDefined","TypedArray","isTypedArray","isHTMLForm","isRegExp","reduceDescriptors","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isBuffer","isFormData","kind","FormData","isArrayBufferView","isView","isBoolean","isStream","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","endsWith","searchString","forEachEntry","matchAll","regExp","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isThenable","AxiosError","captureStackTrace","utils","toJSON","description","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","formData","metaTokens","indexes","visitor","defaultVisitor","useBlob","convertValue","toISOString","Buffer","isFlatArray","exposedHelpers","encode","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serializedParams","serializeFn","hashmarkIndex","InterceptorManager","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","URLSearchParams","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","defaults","transitional","transitionalDefaults","adapter","platform","isNode","transformRequest","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","stringifySafely","transformResponse","JSONRequested","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","ignoreDuplicateOf","$internals","normalizeHeader","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","parseHeaders","tokensRE","parseTokens","deleted","deleteHeader","formatHeader","_this$constructor","asStrings","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","accessor","headerValue","transformData","normalize","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","expires","domain","secure","cookie","toGMTString","decodeURIComponent","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","urlParsingNode","resolveURL","pathname","requestURL","samplesCount","firstSampleTS","timestamps","chunkLength","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","total","lengthComputable","progressBytes","rate","estimated","onCanceled","requestData","cancelToken","unsubscribe","signal","auth","unescape","btoa","fullPath","ERR_BAD_REQUEST","settle","paramsSerializer","responseURL","ECONNABORTED","ERR_NETWORK","timeoutErrorMessage","ETIMEDOUT","xsrfValue","withCredentials","isURLSameOrigin","cookies","onDownloadProgress","onUploadProgress","upload","subscribe","aborted","parseProtocol","knownAdapters","http","xhrAdapter","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","formatMessage","desc","ERR_DEPRECATED","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","Cancel","isAxiosError","formToJSON","getAdapter","consultarMalaDireta","codigoGrupo","gravarMalaDireta","malaDireta","put","mapEventPropToEvent","eventProp","ClickAwayListener","_props$disableReactTr","disableReactTree","_props$mouseEvent","mouseEvent","onClickAway","_props$touchEvent","touchEvent","movedRef","activatedRef","syntheticEventRef","handleClickAway","insideReactTree","clickedRootScrollbar","composedPath","createHandleSynthetic","handlerName","childrenPropsHandler","mappedTouchEvent","handleTouchMove","mappedMouseEvent","elevation","getPaperUtilityClass","PaperRoot","square","rounded","_theme$vars$overlays","getOverlayAlpha","overlays","_props$component","_props$elevation","_props$square","_props$variant","getSnackbarContentUtilityClass","SnackbarContentRoot","Paper","emphasis","emphasize","SnackbarContent","SnackbarContentMessage","SnackbarContentAction","_props$role","getSnackbarUtilityClass","SnackbarRoot","anchorOrigin","vertical","horizontal","Snackbar","defaultTransitionDuration","_props$anchorOrigin","_props$anchorOrigin2","_props$autoHideDurati","autoHideDuration","ClickAwayListenerProps","ContentProps","_props$disableWindowB","disableWindowBlurListener","_props$transitionDura","_props$TransitionProp","_props$TransitionProp2","_useSnackbar","_parameters$autoHideD","_parameters$disableWi","resumeHideDuration","timerAutoHide","setAutoHideTimer","autoHideDurationParam","handlePause","handleResume","createHandleFocus","otherHandlers","onFocusCallback","createMouseEnter","onMouseEnterCallback","onMouseEnter","createMouseLeave","onMouseLeaveCallback","getRootProps","externalProps","externalEventHandlers","onBlurCallback","useSnackbar","getAlertUtilityClass","_taggedTemplateLiteral","freeze","getChildMapping","mapFn","mapper","getProp","getNextChildMapping","nextProps","prevChildMapping","nextChildMapping","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","mergeChildMappings","hasPrev","hasNext","prevChild","isLeaving","TransitionGroup","contextValue","firstRender","mounted","currentChildMapping","childFactory","keyframes","insertable","_props$pulsate","pulsate","rippleX","rippleY","rippleSize","leaving","setLeaving","rippleClassName","ripple","rippleVisible","ripplePulsate","rippleStyles","childClassName","childLeaving","childPulsate","timeoutId","_templateObject","_templateObject2","_templateObject3","_templateObject4","_t2","_t3","_t4","enterKeyframe","exitKeyframe","pulsateKeyframe","TouchRippleRoot","TouchRippleRipple","Ripple","touchRippleClasses","TouchRipple","_props$center","centerProp","_props$classes","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","startCommit","oldRipples","_options$pulsate","_options$center","_options$fakeElement","fakeElement","sizeX","sizeY","getButtonBaseUtilityClass","_styled","ButtonBaseRoot","WebkitTapHighlightColor","outline","userSelect","MozAppearance","WebkitAppearance","borderStyle","buttonBaseClasses","colorAdjust","ButtonBase","_props$centerRipple","centerRipple","_props$disabled","_props$disableRipple","disableRipple","_props$disableTouchRi","disableTouchRipple","_props$focusRipple","focusRipple","_props$LinkComponent","LinkComponent","onContextMenu","onDragLeave","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseUp","onTouchMove","_props$tabIndex","TouchRippleProps","touchRippleRef","buttonRef","rippleRef","handleRippleRef","setFocusVisible","mountedState","setMountedState","enableTouchRipple","useRippleHandler","rippleAction","eventCallback","skipRippleAction","handleMouseDown","handleContextMenu","handleDragLeave","handleMouseUp","handleTouchStart","handleTouchEnd","isNonNativeButton","keydownRef","handleKeyUp","ComponentProp","buttonProps","focusVisibleClassName","composedClasses","getIconButtonUtilityClass","IconButtonRoot","edge","activeChannel","_palette","mainChannel","iconButtonClasses","IconButton","_props$edge","_props$color","_props$disableFocusRi","disableFocusRipple","_props$size","getSvgIconUtilityClass","SvgIconRoot","_theme$transitions","_theme$transitions$cr","_theme$transitions2","_theme$typography","_theme$typography$pxT","_theme$typography2","_theme$typography2$px","_theme$typography3","_theme$typography3$px","_palette$ownerState$c","_palette2","_palette3","hasSvgAsChild","small","medium","large","SvgIcon","_props$fontSize","htmlColor","_props$inheritViewBox","inheritViewBox","titleAccess","_props$viewBox","viewBox","instanceFontSize","more","focusable","createSvgIcon","AlertRoot","severity","getColor","getBackgroundColor","Alert","alertClasses","AlertIcon","AlertMessage","AlertAction","defaultIconMapping","SuccessOutlinedIcon","ReportProblemOutlinedIcon","ErrorOutlineIcon","InfoOutlinedIcon","_slots$closeButton","_slots$closeIcon","_slotProps$closeButto","_slotProps$closeIcon","_props$closeText","closeText","_props$iconMapping","iconMapping","_props$severity","AlertCloseButton","closeButton","CloseButton","AlertCloseIcon","closeIcon","CloseIcon","closeButtonProps","closeIconProps","getCircularProgressUtilityClass","SIZE","circularRotateKeyframe","circularDashKeyframe","CircularProgressRoot","CircularProgressSVG","CircularProgressCircle","circle","disableShrink","circleDisableShrink","CircularProgress","_props$disableShrink","_props$thickness","thickness","_props$value","circleStyle","rootStyle","circumference","u8","u16","u32","fleb","fdeb","clim","freb","revfl","revfd","rev","hMap","co","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","subarray","inflt","dat","buf","st","noBuf","noSt","cbuf","nbuf","bt","lm","dm","lbt","dbt","tbts","hLit","hcLen","ldt","clt","clb","clbmsk","clm","dt","lms","dms","mxa","dsym","wbits","wbits16","hTree","i0","i1","i2","maxSym","mbt","ln","lft","cst","i2_1","i2_2","i2_3","cli","cln","clen","wfblk","out","wblk","syms","bs","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","flen","ftlen","dtlen","llm","lcts","clct","dst","deo","et","dflt","lvl","plvl","pre","lst","msk_1","bs1_1","bs2_1","hsh","lc_1","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","mmd","lin","din","adler","dopt","level","mem","wbytes","zlh","lv","zlv","zlibSync","unzlibSync","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","whitesmoke","yellow","yellowgreen","example","toRGB","atob","print","modify","perm","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","publish","getTopics","objectNumber","gState","coords","boundingBox","xStep","yStep","stream","cloneIndex","orientation","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","precision","floatPrecision","defaultPathOperation","putOnlyUsedFonts","internal","__private__","PubSub","getPdfVersion","setPdfVersion","a0","a5","a6","a7","a8","a9","a10","b0","b3","b5","b6","b7","b8","b9","b10","c0","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","getPageFormats","getPageFormat","saveGraphicsState","Vt","Rr","setFontSize","getFontSize","restoreGraphicsState","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","roundToPrecision","hpf","f2","f3","setPrecision","getFileId","setFileId","convertDateToPDFDate","getTimezoneOffset","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","convertPDFDateToDate","setCreationDate","getCreationDate","padd2","tt","padd2Hex","rt","nt","at","ot","setCustomOutputDestination","ht","resetCustomOutputDestination","ft","getArrayBuffer","getStandardFonts","vt","R2L","setR2L","getR2L","yt","wt","setZoomMode","getZoomMode","Nt","Lt","setPageMode","getPageMode","At","setLayoutMode","getLayoutMode","setDisplayMode","xt","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","St","Pt","kt","It","Ft","Ct","jt","Ot","Bt","Mt","Et","qt","Dt","Rt","Tt","Ut","hotfixes","zt","Ht","Wt","_matrix","shx","decompose","sy","shy","tx","ty","skew","inversed","applyToPoint","Cr","applyToRectangle","jr","Matrix","Gt","matrixMult","Yt","unitMatrix","identityMatrix","Jt","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Br","endTilingPattern","Xt","newObject","Kt","Zt","newObjectDeferred","$t","newAdditionalObject","objId","Qt","decodeColorString","encodeColorString","ch1","ch2","ch3","ch4","pdfColorType","getFilters","putStream","alreadyAppliedFilters","addLength1","objectId","encryptor","additionalKeyValues","API","processDataByFilters","reverseChain","putPage","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageNumber","page","putPages","isAlreadyPutted","postScriptName","encoding","pages","resourcesOid","objectOid","MAX_SAFE_INTEGER","fontName","isStandardFont","metadata","pdfEscape","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","beginPage","fr","Lr","kr","Ir","setPage","getNumberOfPages","disableWarning","noFallback","times","normal","putInfo","putCatalog","putTrailer","oid","putHeader","putXRef","buildDocument","toHexString","getBlob","filename","pdfObjectUrl","pdfJsUrl","PDFViewerApplication","foo","alert","bar","Ge","getPageInfo","getPageInfoByObjId","getCurrentPageInfo","addPage","insertPage","movePage","deletePage","align","lineHeightFactor","lr","scaleFactor","TabLen","splitTextToSize","mutex","activeFontKey","activeFontSize","rotationDirection","charSpace","setCharSpace","getCharSpace","horizontalScale","renderingMode","usedRenderingMode","pageSize","getWidth","getStringUnitWidth","doKerning","yr","ut","xr","clipEvenOdd","discardPath","isValidStyle","setDefaultPathOperation","getStyle","er","rr","fillEvenOdd","fillStroke","fillStrokeEvenOdd","nr","ir","or","setGState","sr","cr","ur","curveTo","lines","triangle","roundedRect","SQRT2","ellipse","setFont","getFont","getFontList","addFont","dr","getLineWidth","setLineWidth","setLineDashPattern","gr","getLineHeight","setLineHeightFactor","vr","getLineHeightFactor","getHorizontalCoordinate","getVerticalCoordinate","wr","getHorizontalCoordinateString","Nr","getVerticalCoordinateString","strokeColor","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","Ar","fillColor","getFillColor","setFillColor","textColor","Sr","getTextColor","setTextColor","Pr","CapJoinStyles","butt","but","miter","projecting","project","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Fr","equals","addGState","setCurrentTransformationMatrix","Or","currentPage","pagesContext","qr","outputDestination","Dr","Tr","Er","beginFormObject","endFormObject","Mr","doFormObject","getFormObject","returnPromise","unload","getPageWidth","setPageWidth","getPageHeight","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","setWidth","getHeight","setHeight","encryptionOptions","getEncryptor","getPDFVersion","Point","Rectangle","hasHotfix","dictionary","__acroform__","BBox","setBit","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","_V","maxFontSize","multiline","fields","xForms","acroFormDictionaryRoot","printedOut","isInitialized","annotations","acroformPlugin","FieldNum","_eventID","Fields","hasAnnotation","Kids","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","arrayToPdfArray","_objId","_scope","FT","getOptions","addOption","removeOption","combo","edit","CA","pushButton","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","Parent","CheckBox","isInteger","On","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","x2","x4","x3","addField","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","Button","PushButton","TextField","PasswordField","Appearance","__addimage__","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","Uint8ClampedArray","INDEXED","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","addImage_images","loadFile","color_spaces","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","byteLength","validateStringAsBase64","extractImageFromDataUrl","supportsArrayBuffer","Int8Array","Int16Array","Int32Array","Float32Array","Float64Array","binaryStringToUint8Array","arrayBufferToBinaryString","imageData","compression","convertBase64ToBinaryString","getImageProperties","fileType","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","getTextWidth","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","addJS","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","pdf","context2d","_canvas","__cell__","headerFunction","margins","lastCell","setHeaderFunction","getTextDimensions","cellAddPage","cell","tableHeaderRow","printHeaders","printHeaderRow","autoSize","headerBackgroundColor","headerTextColor","table_font_size","prompt","setTableHeaderRow","rowStart","row","cellStart","table_x","table_y","italic","oblique","weight","stretch","fixed","monospace","terminal","cursive","fantasy","serif","menu","trimLeft","isStrokeTransparent","isFillTransparent","globalCompositeOperation","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","prevPageLastElemOffset","ignoreClearRect","fontFaces","genericFontFamilies","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","quadraticCurveTo","y2","isIdentity","radius","startAngle","endAngle","counterclockwise","arcTo","strokeRect","clearRect","ctxStack","isCanvasGradient","setTransform","autoPaging","posY","posX","deltas","colorStops","y3","y4","prevLineDash","loadImageFile","DOMPurify","dompurify","sanitize","template","setProgress","overlay","enableLinks","jsPDF","toContainer","toCanvas","toImg","toPdf","thenList","setPageSize","javascriptEnabled","clear","onrendered","toContext2d","quality","outputImg","outputPdf","doCallback","setMargin","getPageSize","ratio","updateProgress","thenCore","thenExternal","catchExternal","export","worker","createNamedDestinations","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processJPEG","numcomponents","imgData","readUInt32","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","xOffset","yOffset","readUInt16","disposeOp","blendOp","indexed","grayscale","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","decodeFrames","createImageData","renderFrame","_timeout","stopAnimation","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","datav","DataView","is_with_alpha","bottom_up","parseHeader","parseBGR","Ur","zr","Hr","Hn","Wn","Vn","Gn","Ed","Cd","RGBA","Sd","Tn","Sn","An","qn","Rn","Un","$n","Gr","Wr","Vr","Zr","$r","Yr","En","Qr","tn","Dn","nn","en","xn","zn","rn","Xr","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Qn","Xn","Zn","Jn","Yn","Kn","Kd","Ud","Gd","ga","Cn","Pn","kn","In","Fn","an","cn","un","hn","sn","dn","pn","gn","mn","vn","bn","yn","wn","Nn","Ln","Bn","jn","Mn","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","WebPDecodeRGBA","src_off","src_size","feature_flags","canvas_width","canvas_height","loop_count","offset_x","offset_y","dispose","blend","rgbaoutput","dataurl","loop_counter","imgwidth","imgheight","processPNG","processGIF89A","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","importantColors","getUint8","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","processBMP","processWEBP","processRGBA","setLanguage","languageSettings","isSubscribed","sq","hy","ast","az","eu","cv","cs","eo","fo","fy","fur","gu","hu","iu","ks","km","ky","ko","ms","nv","no","om","qu","rm","ro","ru","sz","so","es","sw","tig","ts","hsb","vo","zu","languageCode","getCharWidthsArray","widths","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","textIndent","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","explicitSet","valueSet","pdfVersion","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","configuration","__metadata__","namespaceuri","metadata_object_number","addMetadata","toUnicode","subset","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","rawData","hmtx","unitsPerEm","cmap","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","hiLevel","doBidiReorder","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","os2","loca","glyf","exists","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","advance","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","checksum","__super__","revision","checkSumAdjustment","magicNumber","created","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","language","isUnicode","new","subtable","maxGlyphID","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","firstCharIndex","lastCharIndex","ascent","descent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","numGlyphs","languageID","nameID","copyright","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","metrics","lsb","leftSideBearings","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","generateCmap","glyphsFor","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getElementOffset","ScrollDomElement","elementToScrollTo","elementToScroll","ScrollWindow","activeAnimations","cancelMethods","cancelAnimation","shouldStop","WINDOW_EXISTS","cancelOnUserAction","horizontalOffset","maxDuration","minDuration","verticalOffset","numberOrCoordsOrElement","userOptions","_callee","scrollToElement","scrollBehaviorElement","maxHorizontalScroll","initialHorizontalScroll","horizontalDistanceToScroll","maxVerticalScroll","initialVerticalScroll","verticalDistanceToScroll","horizontalDuration","verticalDuration","getHorizontalElementScrollOffset","getVerticalElementScrollOffset","getHorizontalScroll","getVerticalScroll","getMaxHorizontalScroll","getMaxVerticalScroll","requestID","removeListeners","cancelAnimationFrame","eventOptions","eventName","startingTime","timeDiff","horizontalScrollPosition","verticalScrollPosition","MuiAlert","_objectSpread","getRow","promos","rows","littleBoxes","legendBoxes","promo","LittleBox","LegendBox","apresentacao","_ref$editMode","editMode","_useState","_useState2","firstLoad","setFirstLoad","_useState3","_useState4","editModeState","setEditModeState","_useState5","_useState6","setData","_useState7","_useState8","setCodigoGrupo","_useState9","_useState10","snack","setSnack","_useState11","_useState12","setLoading","openSnack","handleConsultar","_response$data","animateCSS","animateScrollTo","t0","clearAddAnimation","handleGravar","_callee2","_context2","grupos","handlePdf","_callee4","divMain","divMainOffset","_context4","_callee3","aCabec","aCabecImg","aCabecRect","leftColY","linksRodape","_iterator","_step","linkRodape","linkRect","_context3","handleJpg","_callee6","_context6","_callee5","_context5","toBlob","blob","handleAnimationEnd","handleAnimationRemoveClass","onChange","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB","promosOrdered","gruposOrdem","findIndex","App","reportWebVitals"],"sourceRoot":""}